gpt4 book ai didi

javascript - 如何将数组和函数传递给 Page.evaluate

转载 作者:行者123 更新时间:2023-12-02 22:16:38 25 4
gpt4 key购买 nike

我在使用 page.evaluate 时遇到多个错误,但我不明白为什么。

ReferenceError: alljobs is not defined

Evaluation failed: ReferenceError: multiplePositionsPerJob is not defined

alljobs 是我试图将对象推送到的数组。multiplePositionsPerJob 是我在文件中使用 require 引用的函数。

 var alljobs = [];
await page.evaluate(() => {
Array.from(
document.querySelectorAll(
"section"
)
).map(job => {
console.log(job);

if (job.querySelector("ul li")) {
multiplePositionsPerJob(job).forEach(position => {
alljobs.push(position);
});
}
});
}, alljobs);

最佳答案

要传递数组或函数等参数,您的代码应该如下所示。

var alljobs = [];
var allFuncts = require("./functionsfile");
var multiplePositionsPerJob = allFuncts.multiplePositionsPerJob;

await page.evaluate( (alljobs, multiplePositionsPerJob) => {

Array.from( document.querySelectorAll('section') ).map(job => {
console.log(job);

if ( job.querySelector("ul li") ) {
multiplePositionsPerJob(job).forEach(position => {
alljobs.push(position);
});
}
});

}, alljobs, multiplePositionsPerJob);

关于javascript - 如何将数组和函数传递给 Page.evaluate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59367563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com