【发布时间】:2020-12-14 03:14:36
【问题描述】:
我正在使用 page.$$eval 在浏览器上下文中评估 div#Menu。但是,我需要将 const 变量 myVar 中的值传递到浏览器上下文中,以便在该上下文中执行比较。但是,我在使用 $$eval 时遇到了范围界定问题。有没有办法解决这个问题?
这是我制作的代码:
const myVar = 100;
const menuData = await page.$$eval("div#Menu", (Menu1) => {
return Menu1.map((Menu1Element) => {
console.log(myVar); //testing to see if myVar is passed into browser context
...
})[0];
}).catch(console.error);
我收到的错误消息 => 错误:评估失败:ReferenceError:myVar 未定义
【问题讨论】:
-
page.$$eval(selector, pageFunction[, ...args])您需要将变量作为参数传递并在 pageFunction 定义中声明它们。这应该类似于此处的答案:stackoverflow.com/questions/46088351/…
标签: javascript puppeteer