Google Puppeteer加入到headless Chrome的工具行列
Chrome DevTools团队发布了Puppeteer,一个基于Node API的headless Chrome工具。Puppeteer提供了与其他第三方工具相似的功能,促使它们不断地创新与进步。
\\
Selenium可以支持多种浏览器,与之不同的是,Puppeteer的目标很单一,它只支持headless Chrome。它提供了一组Node API,所以对于开发人员来说,它的使用方式与其他工具很相似。
\\
\const puppeteer = require('puppeteer');\(async() =\u0026gt; {\const browser = await puppeteer.launch();\const page = await browser.newPage();\await page.goto('https://example.com');\await page.screenshot({path: 'example.png'});\browser.close();\})();\
\\
这段代码是从Puppeteer的README文件中摘取的。
\\
这个项目背后的动机是要大幅简化headless Chrome(首发于Chrome v59)的交互操作。Google性能工程师Paul Irish写道,现有的交互协议太过复杂:
\\
\
从我个人的经验来看,原生的DevTools协议对于开发者来说并不是最理想的,特别是如果要用它来编写自动化脚本,所以我们很需要这样的一个带有高级API的库。
\
\\
社区也意识到这个问题。在PhantomJS退役之后,出现了很多替代者。在headless Chrome发布之后,Chromeless、Chrominator和Chromy也相继出现。而有了Puppeteer之后,第三方工具需要快速创新才有可能在这场竞争中生存下来。市场有可能会来一次大洗牌。
\\
在Medium的一篇博文中,作者Ken Soh认为Google团队的进入对于开发者来说是积极正面的:
\\
\
当然,如果Google决定要拥抱社区,那么状况很快就会得到改善。基于Chrome的解决方案给开发者带来了更多的选择,它们有别于那些有既定生态系统的成熟组织。
\
\\
Chromeless在某些方面存在一定的优势,比如可以在AWS Lambda上远程运行测试用例。不过Puppeteer后续也可能支持Lambda。Puppeteer目前需要7.1版本的Node,而Lambda只支持6.10.3版本的Node。对于部分开发者来说,只能在单个浏览器上进行测试就像一个诅咒一样。不过Soh认为,对于大部分开发者来说,能够在Chrome上进行测试就已经很好了:
\\
\
如果你可以在Chrome或headless Chrome上运行测试,那么大可以认为你的Web应用对于你的大部分用户来说是没有问题的。
\
\\
查看英文原文: Google's Puppeteer Joins Crowd of Headless Chrome Tools
Google Puppeteer加入到headless Chrome的工具行列相关推荐
- 用Python驱动Headless Chrome
Headless Browser(无头的浏览器)是什么鬼? 简而言之,Headless Browser是没有图形用户界面(GUI)的web浏览器,通常是通过编程或命令行界面来控制的. Headless ...
- PuppeteerSharp: 更友好的 Headless Chrome C# API
前端就有了对 headless 浏览器的需求,最多的应用场景有两个 UI 自动化测试:摆脱手工浏览点击页面确认功能模式 爬虫:解决页面内容异步加载等问题 也就有了很多杰出的实现,前端经常使用的莫过于 ...
- centos安装使用puppeteer和headless chrome
Google推出了无图形界面的headless Chrome之后,可以直接在远程服务器上直接跑一些测试脚本或者爬虫脚本了,猴开心!Google还附送了Puppeteer用于驱动没头的Chome. 阿里 ...
- Puppeteer -headless Chrome 的 Node.js API
Puppeteer 是一个控制 headless Chrome 的 Node.js API .它是一个 Node.js 库,通过 DevTools 协议提供了一个高级的 API 来控制 headles ...
- Serverless 实战——使用 Rendertron 搭建 Headless Chrome 渲染解决方案
为什么需要 Rendertron? 传统的 Web 页面,通常是服务端渲染的,而随着 SPA(Single-Page Application) 尤其是 React.Vue.Angular 为代表的前端 ...
- python chrome headless_使用Python控制Headless Chrome
首先要解释一下 Headless Chrome,通俗的讲就是运行一个没有GUI的Chrome,在 Headless Chrome 出现以前有 PhantomJS ,但是自从 Headless Chro ...
- 什么是 Headless Chrome
什么是 Headless Chrome Headless Chrome 是 Chrome 浏览器的无界面形态,可以在不打开浏览器的前提下,使用所有 Chrome 支持的特性运行你的程序.相比于现代浏览 ...
- 探索Headless Chrome
作者:陈宁,就职于饿了么先后从事电商.CRM开发,经历前端从蛮荒到现代的过程,热爱新技术,推崇自动化. 责编:陈秋歌,关注前端开发领域,寻求报道或者投稿请发邮件chenqg#csdn.net. 本文为 ...
- 在 Chrome 开发者工具中调试 node.js
命令行工具 devtool ,它可以在 Chrome 的开发者工具中运行 Node.js 程序. 下面的记录显示了在一个 HTTP 服务器中设置断点的情况. 该工具基于 Electron 将 Node ...
最新文章
- 资源下载 | 历年 AAAI 最佳论文(since 1996)
- 你也可以玩转Skype -- 基于Skype API开发外壳程序入门
- spring各版本jar包和源码
- Linux学习日记之sshd服务
- Yii2 的 redis 应用
- 在js在页面中添加百度统计代码
- 有头结点单链表的逆置
- 圆形指示器radialIndicator控件的使用
- 仓储系统流程图_有效的仓储物流管理的6个重要提示
- elasticsearch_spring-data-elasticsearch 快速入门-Spring Boot+Elasticsearch
- 应用数据挖掘进行客户关系管理
- LibMesh 数据结构类
- Git分支设计与CI/CD
- 磊科linux无线网卡驱动安装步骤,无线网卡驱动安装方法
- 灵敏度分享码显示服务器不可用,和平精英ss12最稳灵敏度设置方法介绍-2021灵敏度分享码...
- Coap在Andorid中的简单应用
- 修改谷歌浏览器不安全提示
- 阿里巴巴云连接池durid数据库密码加密
- 借助Docker hub自己手动制作镜像(以Nginx镜像为例)
- 《心流:最优体验心理学》读书笔记
热门文章
- 【转】wireshark过滤规则
- Java泛型你了解多少
- Mysql日期差的函数
- 2021年宣城市高考成绩查询,宣城高考成绩查询入口
- 检测到目标主机可能存在缓慢的http拒绝服务攻击_高防服务器能防住哪些攻击?“流量清洗”与它有什么关系?...
- 学习前端需要掌握什么基础?
- 关于excel表的生成
- java使用hashset_JAVA中Set集合--HashSet的使用
- 理想制动力分配曲线matlab源代码_宝马进入“血拼”状态,动力倍儿棒
- 电脑主板接口_电脑主板接口大全