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