首页 > 解决方案 > Puppeteer page.evaluate() – 将对象引用作为函数参数传递时出错

问题描述

我正在研究 Puppeteer web-scraper,其中Page.evaluate函数将全局变量的对象作为其参数(在 DOM 上下文中使用它们)......以下工作正常:

await page.evaluate(({parameter_A,
    parameter_B,
    parameter_C}) => {
    some code
}, {parameter_A,
    parameter_B,
    parameter_C}
);

但是,当我尝试定义一个单独的对象来保存参数时(为了避免错误,因为它们必须声明两次),它不起作用并抛出 ReferenceEror ...

let searchParameters = {
    parameter_A,
    parameter_B,
    parameter_C,
};

await page.evaluate((searchParameters) => {
    some code
}, searchParameters);

但是,当我尝试定义一个单独的对象来保存参数时(以避免错误,因为它们必须被声明两次),它不起作用并抛出一个 ReferenceError ......我尝试了一些变体,例如searchParameters变成一个数组,解构等无济于事。

非常感谢任何帮助!

标签: javascriptnode.jsecmascript-6puppeteer

解决方案


推荐阅读