Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从excel文件传递数据并将其用作参数_Javascript_Protractor - Fatal编程技术网

Javascript 如何从excel文件传递数据并将其用作参数

Javascript 如何从excel文件传递数据并将其用作参数,javascript,protractor,Javascript,Protractor,我试图从excel文件中的单元格中获取值,并将其作为参数传递给我的一个方法 如果我只是对参数进行硬编码并将其移到之外,我就能够输入站点编号。然后(函数)的读取文件 例如,export_page.enterSiteId('20003') base_页面。单击导出链接()//单击导出链接 var workbook=新建Excel.workbook(); workbook.xlsx.readFile('D:\\Project1\\testdata\\Book1.xlsx')。然后(函数(){ var

我试图从excel文件中的单元格中获取值,并将其作为参数传递给我的一个方法

如果我只是对参数进行硬编码并将其移到
之外,我就能够输入
站点编号
。然后(函数)
读取文件
例如,
export_page.enterSiteId('20003')

base_页面。单击导出链接()//单击导出链接
var workbook=新建Excel.workbook();
workbook.xlsx.readFile('D:\\Project1\\testdata\\Book1.xlsx')。然后(函数(){
var worksheet1=workbook.getWorksheet('Sheet2');
var Row=工作表1.getRow(1);
site_num=Row.getCell(2).value;
export_page.enterSiteId(site_num);//这里的问题是,它不会输入值
console.log(site_num);//我可以打印值
var worksheet2=workbook.getWorksheet('Sheet1');
对于(变量i=2;i

它表示无法找到输入
站点编号的定位器。

我猜您的“工作簿”库所做的任何事情都是异步的,因此请尝试此操作

workbook.xlsx.readFile('D:\\Project1\\testdata\\Book1.xlsx').then(async function () {

    var worksheet1 = await workbook.getWorksheet('Sheet2');
    var Row = await worksheet1.getRow(1);
    site_num = await Row.getCell(2).value;
    await export_page.enterSiteId(site_num);
    console.log(site_num);

    var worksheet2 = await workbook.getWorksheet('Sheet1');
    for (var i = 2; i < worksheet2.rowCount; i++) {

        var Row = await worksheet2.getRow(i);
        site_field = await Row.getCell(1).value;
        cust_field = await Row.getCell(2).value;
        status = await Row.getCell(3).value;

        await template.customField(cust_field);
    }
});

export_page.clickSearchBtn();  //Click the search button after the site_num is entered
workbook.xlsx.readFile('D:\\Project1\\testdata\\Book1.xlsx')。然后(异步函数(){
var worksheet1=await workbook.getWorksheet('Sheet2');
var Row=等待工作表1.getRow(1);
site_num=wait Row.getCell(2).value;
等待导出页面。输入站点ID(站点编号);
控制台日志(站点编号);
var worksheet2=await workbook.getWorksheet('Sheet1');
对于(变量i=2;i
我尝试过,但显示了相同的错误。顺便说一下,现场im测试是非角度的。无论如何,我已经通过在beforeAll()中使用readFile找到了解决方案,然后只需在it中使用工作簿即可block@CelesP很高兴你的代码工作正常。我个人使用
excel作为json
包进行转换,我喜欢它
workbook.xlsx.readFile('D:\\Project1\\testdata\\Book1.xlsx').then(async function () {

    var worksheet1 = await workbook.getWorksheet('Sheet2');
    var Row = await worksheet1.getRow(1);
    site_num = await Row.getCell(2).value;
    await export_page.enterSiteId(site_num);
    console.log(site_num);

    var worksheet2 = await workbook.getWorksheet('Sheet1');
    for (var i = 2; i < worksheet2.rowCount; i++) {

        var Row = await worksheet2.getRow(i);
        site_field = await Row.getCell(1).value;
        cust_field = await Row.getCell(2).value;
        status = await Row.getCell(3).value;

        await template.customField(cust_field);
    }
});

export_page.clickSearchBtn();  //Click the search button after the site_num is entered