打开Chrome devtools时,Runtime.consoleAPICalled回调会停止

时间:2017-08-04 07:48:03

标签: javascript node.js google-chrome-devtools google-chrome-headless

我正在使用Nodejs中的Chrome和Chrome DevTools协议(https://chromedevtools.github.io/devtools-protocol/)开发网络自动化系统。

调用Runtime.consoleAPICalled方法可以正常工作,但是当我打开已启动Chrome的devtools时,它就不再有效了。

无论Chrome devtools如何,我如何调用API?

const CDP = require('chrome-remote-interface');
const chromeLauncher = require('chrome-launcher');

(async function launch() {
    const chrome = await chromeLauncher.launch({
        port: 9222,
        chromeFlags: [
            '--window-size=1024,768',
            '--disable-gpu'
        ]
    });
    const protocol = await CDP({ port: chrome.port });
    const { Page } = protocol;
    const { Runtime } = protocol;

    await Page.enable();
    await Runtime.enable();

    Runtime.consoleAPICalled(function(params) {
        // Not working when I open Chrome devtools.
        console.log('Runtime.consoleAPICalled', params);
    });

    Page.loadEventFired(async() => {
        await Runtime.evaluate({
            "expression": `
                setInterval(function () {
                    console.log(new Date());
                }, 1000);
            `
        });
    });

    Page.navigate({
        url: 'https://www.google.com'
    });
})();

0 个答案:

没有答案