chrome headless模式网页截图,把html转图片
chrome
截图
headless
编程进阶笔记
发布日期
2023-01-30
更新日期
2023-01-30
阅读次数 284
文章字数 1.2k
要捕获页面的屏幕截图,请使用 --screenshot 标志:
chrome --headless --disable-gpu --screenshot https://www.52dixiaowo.com/
# Size of a standard letterhead.
chrome --headless --disable-gpu --screenshot --window-size=1280,1696 https://www.52dixiaowo.com/
# Nexus 5x
chrome --headless --disable-gpu --screenshot --window-size=412,732 https://www.52dixiaowo.com
使用 --screenshot 标志运行 Headless Chrome 将在当前工作目录中生成一个名为 screenshot.png的文件【如果找不到,请到chrome安装目录下递归查找】。如果你正在寻求整个页面的截图,那么会涉及到很多事情。来自 David Schnurr 的一篇很棒的博文已经介绍了这一内容。请查看 使用 headless Chrome 作为自动截屏工具。
【默认清空下,生成的图片不是完整的,也就是说要手动指定图片大小,如果图片大小刚好和页面大小一致则没用违和感,即需要先计算页面大小,然后截图就可以生成完整的图片】
Puppeteer 库 API
Puppeteer 是一个由 Chrome 团队开发的 Node 库。它提供了一个高层次的 API 来控制无需显示版(或 完全版)的 Chrome。它与其他自动化测试库,如 Phantom 和 NightmareJS 相类似,但是只适用于最新版本的 Chrome。
除此之外,Puppeteer 还可用于轻松截取屏幕截图,创建 PDF,页面间导航以及获取有关这些页面的信息。如果你想快速地自动化进行浏览器测试,我建议使用该库。它隐藏了 DevTools 协议的复杂性,并可以处理诸如启动 Chrome 调试实例等繁冗的任务。
安装:
yarn add puppeteer
例子 - 打印用户代理:
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch();
console.log(await browser.version());
browser.close();
})();
例子 - 获取页面的屏幕截图:
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.chromestatus.com', {waitUntil: 'networkidle'});
await page.pdf({path: 'page.pdf', format: 'A4'});
browser.close();
})();
查看 Puppeteer 的文档,了解完整 API 的更多信息。
其他,确认chrome版本是否大于59。
文章作者: 朱丰华
文章链接: https://smart.52dixiaowo.com/blog/post-337.html
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。
chrome
截图
headless
发表评论
相关推荐