Не удается прочитать данные с веб-страницы, используя браузер без головы Node & Chrome - PullRequest
0 голосов
/ 06 июня 2019

Я использую 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:

enter image description here* * 1030

Заранее спасибо!

...