铬/铬无头运行:使用--screenshot时等待页面加载?

问题描述 投票:0回答:1

[尝试使用无头Chrome浏览器截屏,但在加载页面之前会执行--screenshot。在运行zsh的MacOS上,我这样调用它:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome https://example.com/foo.html --screenshot=/Users/myhome/foo.png

是否有一种方法可以等到页面加载后才截取屏幕截图?

chromium google-chrome-headless
1个回答
0
投票

事实证明,答案是这些命令行选项无法正常工作,并且已被Puppeteer取代。这是我创建的脚本(为简洁起见,对值进行了硬编码)。

这是完整的代码。

const puppeteer = require('puppeteer');
const sleep = (milliseconds) => {
  return new Promise(resolve => setTimeout(resolve, milliseconds))
}
async function run () {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://twitter.com/gnuman1979/status/1239523796542992387');
  await sleep(2000)
  await page.screenshot({path: '/Users/tom/1.png'});
  browser.close();
}
run();

另存为foo.js,然后使用node运行:

$ node foo.js
© www.soinside.com 2019 - 2024. All rights reserved.