前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Headless Chrome简介

Headless Chrome简介

作者头像
随心助手
发布2020-08-04 10:47:07
1.6K0
发布2020-08-04 10:47:07
举报
文章被收录于专栏:nginx遇上redis

在 Chrome 59中开始搭载Headless Chrome。这是一种在无需显示headless的环境下运行 Chrome 浏览器的方式。从本质上来说,就是不用 chrome 浏览器来运行 Chrome 的功能!它将 Chromium 和 Blink 渲染引擎提供的所有现代 Web 平台的功能都带入了命令行。

HeadlessChrome启动

Chrome --headless --disable-gpu --remote-debugging-port=9222 https://www.baidu.com

HeadlessChrome打印网站DOM

chrome --headless --disable-gpu --dump-dom https://www.baidu.com/

将页面打印为PDF

--print-to-pdf 标志将页面转出为PDF 文件:

chrome --headless --disable-gpu --print-to-pdfhttps://www.baidu.com/

使用Headless Chrome截图

要捕获页面的屏幕截图,请使用--screenshot 标志:

chrome --headless --disable-gpu--screenshot https://www.baidu.com/

HeadlessChrome在爬虫中的应用

由于存在大量的网页是动态生成的,在使用浏览器查看源代码之后,发现网页dom只有一个root元根元素和一堆js引用,根本看不到网页的实际内容,因此,爬虫不仅需要把网页下载下来,还需要运行JS解析器,将网站呈现出最终的效果。

在Headless出现之前,主要流行的是PhantomJS这个库,原理是模拟成一个实际的浏览器去加载网站。Headless Chome出现之后,PhantomJS地位开始不保。毕竟Headless Chome本身是一个真正的浏览器,支持所有chrome特性,而PhantomJS只是模拟,因此Headless Chome更具优势,下面是使用Python Selenium调用Headless Chome的代码:

fromselenium import webdriver

fromselenium.webdriver.chrome.options import Options

chrome_options= Options()

chrome_options.add_argument('--headless')

driver =webdriver.Chrome(chrome_options=chrome_options)

driver.get("www.baidu.com/")

总结:使用Headless Chome可以在无界面的形式下体验Chrome的完成功能,对于自动化测试和爬虫等而言是一个非常给力的工具。

headless chrome安装

sudo apt-get update

sudo apt-get install software-properties-common

sudo add-apt-repository ppa:canonical-chromium-builds/stage

sudo apt-get update

sudo apt-get install chromium-browser

chromium-browser --headless --remote-debugging-port=9222 https://www.baidu.com --disable-gpu

这里是使用headless模式进行远程调试,ubuntu上大多没有gpu,所以--disable-gpu以免报错。

curl http://localhost:9222

能够看到调试信息应该就是装好了。

#获取网页源码

chromium-browser --headless --dump-dom https://www.baidu.com/ --disable-gpu

#获取网页转换成PDF

chromium-browser --headless --print-to-pdf https://www.baidu.com/ --disable-gpu

#截图

chromium-browser --headless --screenshot --window-size=1280,1696 https://www.baidu.com/ --disable-gpu

添加 PPA 源

  添加 PPA 源的命令为:sudo add-apt-repository ppa:user/ppa-name

  添加好记得要更新一下:sudo apt-get update

删除 PPA 源

  删除 PPA 源的命令格式则为:sudo add-apt-repository -r ppa:user/ppa-name

  然后进入 /etc/apt/sources.list.d 目录,将相应 ppa 源的保存文件删除。

  最后同样更新一下:sudo apt-get update

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 nginx遇上redis 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • headless chrome安装
相关产品与服务
远程调试
远程调试(Remote Debugging,RD)在云端为用户提供上千台真实手机/定制机/模拟器设备,快速实现随时随地测试。运用云测技术对测试方式、操作体验进行了优化,具备多样性的测试能力,包括随时截图和记录调试日志,稳定的支持自动化测试, 设备灵活调度,用例高效执行, 快速定位产品功能和兼容性问题。云手机帮助应用、移动游戏快速发现和解决问题,节省百万硬件费用,加速敏捷研发流程。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档