我目前正在努力获取在变量“名称”中定义的变量“索引”,它每次都返回“未定义”,而实际上不返回。我知道我是一个异步函数,但是这种情况很奇怪,我无法使其正常工作。
我有以下内容:
const puppeteer = require('puppeteer');
(async function main() {
try {
for (var index = 1; index < 20; index++) {
console.log(index)
const browser = await puppeteer.launch();
const [page] = await browser.pages();
await page.goto(`MYSITE`);
var name = await page.evaluate(() => {
return document.querySelector(`#itembanking-list > tbody > tr:nth-child(${index}) > td:nth-child(2)`).innerText;
})
await browser.close();
}
} catch (err) {
console.error(err);
}
})();
运行以下代码时,出现此错误:
Error: Evaluation failed: ReferenceError: index is not defined
如何获取在“名称”中定义的变量“ index”?
答案 0 :(得分:1)
您应将index变量作为评估中的第二个参数传递,并在回调中处理
await page.evaluate(index => {...code}, index)