Медленный процесс Puppeteer, когда окно заголовка находится в фокусе - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь создать минимальный графический интерфейс для моей программы CLI node.js, использующей Puppeteer, чтобы я мог упаковывать и распространять бета-версию.Скрипт Puppeteer вводит информацию в заголовочный браузер быстро при запуске через командную строку, но очень медленно при вызове через электронный интерфейс.Возможно, есть ли способ, которым я могу вызвать экземпляр терминала и вместо этого запустить свою программу?

Процесс визуализации в электронном интерфейсе ожидает нажатия кнопки в основном процессе.При нажатии он вызывает мой сценарий 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});

Поскольку функция Puppeteer page.keyboard.type () не имеет задержки, она должна немедленно ввести информацию, что и являетсяпроисходит при запуске программы через CLI напрямую.Однако при запуске после нажатия кнопки в электронном интерфейсе функция page.keyboard.type () запускается очень медленно.

РЕДАКТИРОВАТЬ: Я только что снова проверил ... этопроисходит только тогда, когда фокусное окно, созданное Кукольником, находится в фокусе.Когда я переключаю фокус обратно на электронный интерфейс, он снова ускоряется.Почему это происходит?

...