文件和窗口没有定义 傀儡廻电子

编程入门 行业动态 更新时间:2024-10-08 04:25:04

文件和窗口没有定义 <a href=https://www.elefans.com/category/jswz/34/1679404.html style=傀儡廻电子"/>

文件和窗口没有定义 傀儡廻电子

我遇到了一个问题,我在我的电子应用程序的后端使用puppeteer运行一个自动的chrome会话,但我一直得到错误的文档未定义。下面是代码。

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来转换我的代码的。Puppeteer page.evaluation调用autoScroll.toString(),当与babel一起使用时,会导致一个不完整的字符串。而用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的问题。

更多推荐

文件和窗口没有定义 傀儡廻电子

本文发布于:2024-05-13 11:49:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1759497.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:傀儡   定义   窗口   文件   电子

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!