Я пытаюсь автоматизировать отправку некоторых форм с помощью puppeteer на моем Raspberry Pi 4 (4 ГБ ОЗУ), и у меня возникают некоторые странные проблемы. Мой полный сценарий отлично работает с headless: false
, но когда я пытаюсь запустить сценарий в автономном режиме, у меня возникают проблемы.
Следующий скрипт работает :
const puppeteer = require('puppeteer-core');
(async() => {
const browser = await puppeteer.launch({headless: true, executablePath: '/usr/bin/chromium-browser'});
const page = await browser.newPage();
await page.goto('https://accounts.google.com')
var title = await page.title();
console.log(title)
browser.close()
})();
Но если я пытаюсь запустить немного более сложный скрипт (т.е. сделать что-нибудь полезное после открытия страницы), кажется, что безголовый браузер закрывается. Так, например, этот скрипт терпит неудачу :
const puppeteer = require('puppeteer-core');
(async() => {
const browser = await puppeteer.launch({headless: true, executablePath: '/usr/bin/chromium-browser'});
const page = await browser.newPage();
await page.goto('https://accounts.google.com')
await page.waitForSelector('input');
await page.type('input', 'test@example.com')
var title = await page.title();
console.log(title)
browser.close()
})();
Я начинаю получать сообщения об ошибках вроде: UnhandledPromiseRejectionWarning: Error: Protocol error (Runtime.callFunctionOn): Session closed. Most likely the page has been closed
- NodeJS Версия:
v10.16.3
- Версия NPM:
6.9.0
- Версия браузера Chromium:
Chromium 74.0.3729.157 Built on Raspbian , running on Raspbian 10
- Версия Puppeteer:
1.20.0
Спасибо!