赋值后变量中的未定义变量

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)