首页 ›存档› 技术 › 查看内容

Chrome 59 支持Headless模式,PhantomJS开发者功成身退

2018-3-30 13:00 |来自: 互联网 367 0

摘要: “Chrome 59 将支持Headless模式。而在 Chrome 未提供原生 Headless 模式前,Web 开发者可以使用 PhantomJS 等第三方 Headless 浏览器。现在官方准备提供 Headless 了,PhantomJS 主要的贡献者 Vitaly Slobodin 随即 ...

“
Chrome 59 将支持Headless模式。而在 Chrome 未提供原生 Headless 模式前,Web 开发者可以使用 PhantomJS 等第三方 Headless 浏览器。现在官方准备提供 Headless 了,PhantomJS 主要的贡献者 Vitaly Slobodin 随即在邮件列表上宣布辞职。


Headless


Headless 提供一种无 GUI 的纯浏览器环境,也就是说它有一个完整的浏览器内核,包括js解析引擎,渲染引擎,请求处理等,但是不包括显示和用户交互页面的浏览器。这对于 Web 应用和网页的自动化测试非常有用。


浏览器的Headless模式让开发者可以通过命令行或是API操作,通常可以用于以下场景:


  • 无需浏览器的Web测试:在无需浏览器的情况下进行快速的Web测试,希望自动登录网站并做一些后续操作,然后检查结果是否正常。


  • 页面自动化操作:使用标准的DOM API或一些JavaScript框架(如jQuery)访问和操作Web页面。


  • 屏幕捕获:以编程方式抓起CSS、SVG和Canvas等页面内容,即可实现网络爬虫应用。构建服务端Web图形应用,如截图服务、矢量光栅图应用。


  • 网络监控:自动进行网络性能监控、跟踪页面加载情况以及将相关监控的信息以标准的HAR格式导出。


Headless Chrome


Headless Chrome 已经在 Chrome 59 中发布。目前,Chrome Canary 是唯一包含 Chrome 59 的渠道。也就是说如果现在你想要尝鲜,体验一下 Headless Chrome,就需要安装 Chrome Canary。将来 Chrome 的开发团队会把 Chrome 59 放到正式的 Chrome 发布版本中,就不需要再安装 Chrome Canary 了。


启动headless Chrome:

$ chrome --headless --remote-debugging-port=9222 https://chromium.org


示例

结合nods.js,用Headless Chrome 抓取数据。使用Node.js中的chrome-remote-inte**ce包抽取页面的DOM:


const CDP = require('chrome-remote-inte**ce');


CDP((client) =

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部