gpt4 book ai didi

javascript - 未定义文档和窗口的Puppeteer Electron

转载 作者:行者123 更新时间:2023-12-03 12:40:17 27 4
gpt4 key购买 nike

我在 Electron 应用程序的后端使用puppeteer运行自动chrome session 时遇到问题,但是我一直得到错误文档未定义的信息。这是代码:

const isDone = await this.page.evaluate(async () => await this.autoScroll);

...

async autoScroll() {
return new Promise(resolve => {
const timer = setInterval(() => {
document.scrollingElement.scrollBy(0, 100);
if (document.scrollingElement.scrollTop + window.innerHeight >= document.scrollingElement.scrollHeight) {
clearInterval(timer);
resolve(true);
}
}, 230);
});
}

如果我在不同的文件夹中单独运行该代码,则该代码可以完美地执行,但是以某种方式在应用程序中运行时似乎会出错。

欢迎任何帮助。

谢谢。

最佳答案

我正在用babel转换我的代码。操纵up的page.evaluate调用autoScroll.toString(),与babel一起使用时会导致字符串不完整。相反,它适用于:

const isDone = await this.page.evaluate(`(async() => {
return new Promise(resolve => {
const timer = setInterval(() => {
document.scrollingElement.scrollBy(0, 100);
if (document.scrollingElement.scrollTop + window.innerHeight >= document.scrollingElement.scrollHeight) {
clearInterval(timer);
resolve(true);
}
}, 230);
});
})()`);

只需将其放入字符串即可,因此toString不会有任何问题。

关于javascript - 未定义文档和窗口的Puppeteer Electron,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62070250/

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