赋值后变量中的未定义变量
Undefined Variable in a variable after assignment
我目前正在努力获取在变量 "name" 中定义的变量 "index",它每次 returns "undefined" 而它不应该。我知道我是一个异步函数,但这种情况很奇怪,我无法让它工作。
我有以下内容:
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
如何获取 "name" 中定义的变量 "index"?
你应该在评估中将索引变量作为第二个参数传递并在回调中处理它
await page.evaluate(index => {...code}, index)
我目前正在努力获取在变量 "name" 中定义的变量 "index",它每次 returns "undefined" 而它不应该。我知道我是一个异步函数,但这种情况很奇怪,我无法让它工作。
我有以下内容:
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
如何获取 "name" 中定义的变量 "index"?
你应该在评估中将索引变量作为第二个参数传递并在回调中处理它
await page.evaluate(index => {...code}, index)