Я использую chrome-remote-interface
для создания простого скрипта узла, который должен сделать снимок экрана https://github.com и загрузить его в мой каталог:
const CDP = require('chrome-remote-interface');
const fs = require('fs');
CDP({
host: 'localhost',
port: 9222,
}, async client => {
const {
page
} = client;
try {
await page.enable();
let {
data
} = await Page.captureScreenshot({
format: 'png',
});
fs.writeFile('screenshot.png', data, 'base64', e => console.log(e));
await client.close();
} catch (error) {
console.log(error);
}
});
Когда я выполняю:
chrome --headless --disable-gpu --remote-debugging-port=9222 https://www.github.com
И запуск сценария узла:
PS C:\playground\src> node .\program.js
Ожидается, что он откроет безголовый браузер на порте по умолчанию 9222 и загрузит снимок экрана в каталог. Однако , я получаю следующую ошибку в консоли:
TypeError: Cannot read property 'enable' of undefined
at EventEmitter.CDP (C:\playground\src\program.js:11:16)
at Object.onceWrapper (events.js:273:13)
at EventEmitter.emit (events.js:182:13)
at process.nextTick (C:\playground\node_modules\chrome-remote-interface\lib\chrome.js:150:32)
at process._tickCallback (internal/process/next_tick.js:61:11)
Почему страница получает undefined
?
EDIT
Скриншот загружается в дерево каталогов, но вместо изображения undefined
:
* * 1030
Заранее спасибо!