我正在使用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
?
屏幕截图已下载到目录树中,但没有图像,而是undefined
:
谢谢!