当头窗对准焦点时,伪手进程变慢

时间:2019-01-23 17:09:31

标签: node.js electron puppeteer

我正在尝试使用Puppeteer为我的CLI node.js程序创建一个最小的GUI,以便我可以打包和分发beta版本。通过命令行运行时,Puppeteer脚本在快速浏览器中输入信息,而在通过电子GUI调用时,则非常慢。也许有一种方法可以调用终端实例并通过该实例运行程序?

电子GUI中的渲染器进程等待主进程中的按钮被单击。单击后,它将调用我的Puppeteer脚本,该脚本登录到Gmail帐户。

        console.log(moment().format('hh:mm:ss:ms') + ': Going to login...');

        let login_button = await page.waitForXPath('//*[@id="gb_70"]');

        login_button.click();

        let enter_email = await page.waitForXPath('//*[@id="identifierId"]');

        await enter_email.click();

        console.log(moment().format('hh:mm:ss:ms') + ': Entering email...');

        await page.keyboard.type(email);

        let button0 = await page.waitForXPath('//*[@id="identifierNext"]');

        await button0.click();

        await page.waitForXPath('//*[@id="password"]/div[1]/div/div[1]/input');

        console.log(moment().format('hh:mm:ss:ms') + ': Entering password...');

        await page.keyboard.type(email_password);

        let button1 = await page.waitForXPath('//*[@id="passwordNext"]');

        await button1.click();

        await page.goto('https://gmail.com/', {waitUntil: 'load', timeout: 0});

由于伪造人功能page.keyboard.type()没有延迟,因此应立即输入信息,这是通过CLI直接运行程序时发生的情况。但是,在单击电子GUI中的按钮后运行它时,page.keyboard.type()函数进入的速度非常慢。

编辑:我刚刚再次测试...这仅在Puppeteer创建的标题窗口处于焦点位置时发生。当我将焦点切换回电子GUI时,它将再次加速。为什么会这样?

0 个答案:

没有答案