gpt4 book ai didi

javascript - 未处理的PromiseRejection警告: Error: Evaluation failed: ReferenceError: generateLink is not defined

转载 作者:行者123 更新时间:2023-11-28 03:07:46 28 4
gpt4 key购买 nike

它说评估失败:ReferenceError:generateLink未定义,但我在同一个文件中有generateLink函数并在while循环内调用它

...

const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto(url)
await page.waitFor(1000)
const cafeArray = [];
const data = await page.evaluate(() => {
const options = document.querySelectorAll('option')
const max = options[options.length-1].innerText
let char = 1;
console.log(char);
while(char <= Number(max)) {
link = generateLink(url, stringIncrease(String(char), Number(max)))
cafeArray.push(link)
char++;
}
const urls = getSrc(cafeArray);
return urls
})

console.log('data:',data)
await browser.close();

return data;
}
...

function generateLink(url, page) {
const arr = url.split('/');
arr.pop()
arr.push(page)

return arr.join('/');
}

最佳答案

evaluate 中的代码在浏览器上下文中执行(也称为浏览器内部)。这意味着在浏览器内执行的代码将看不到 generateLink 函数。

您可以使用 exposeFunction“公开”该函数。

await page.exposeFunction('generateLink', (url, page) => {
const arr = url.split('/');
arr.pop()
arr.push(page)

return arr.join('/');
});

const data = await page.evaluate(() => { ... });

关于javascript - 未处理的PromiseRejection警告: Error: Evaluation failed: ReferenceError: generateLink is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60454191/

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