我正在尝试使用Puppeteer在页面上刮一堆表,但是表的数量每次都不同,因此我需要将一个变量传递给page.evaluate()函数。
我有一个包含需要使用的变量的数组,但可以说我想使用一个变量手动检查第二张表,这是我最初解决问题的方式:
const x = 2
let value = await page.evaluate(() =>
document.querySelector("#pageBody > div:nth-child(" + x + ") > table > tr > td").innerText
);
console.log(value);
//Evaluation failed: ReferenceError: x is not defined
经过研究,据我了解,在其中传递变量的正确方法是:
const x = 2;
let value = await page.evaluate((x) => {
document.querySelector("#pageBody > div:nth-child(" + x + ") > table > tr > td").innerText
},x);
console.log(value);
//value = undefined
但是由于我无法获得我想要的结果,因此我在做错事或无法正确理解。有什么想法吗?