我正在使用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'
});
})();