Puppeteer -headless Chrome 的 Node.js API
Puppeteer 是一个控制 headless Chrome 的 Node.js API 。它是一个 Node.js 库,通过 DevTools 协议提供了一个高级的 API 来控制 headless Chrome。它还可以配置为使用完整的(非 headless)Chrome
Puppeteer的例子:
生成屏幕截图和 PDF 页面
检索 SPA 并生成预渲染内容(即“SSR”)
从网站上爬取内容
自动提交表单,UI测试,键盘输入等
创建一个最新的自动测试环境。使用最新的 JavaScript 和浏览器功能,在最新版本的 Chrome 中直接运行测试
捕获网站的时间线跟踪,以帮助诊断性能问题
const puppeteer = require('puppeteer');(async () => {const browser = await puppeteer.launch();const page = await browser.newPage();await page.goto('https://example.com');await page.screenshot({path: 'example.png'});await browser.close();
})();
参考文献
- Puppeteer 指南
- Puppeteer 性能优化与执行速度提升
- phantomJs之殇,chrome-headless之生
- Headless Chrome vs PhantomJS Benchmark
- Scraping iframes with Puppeteer
Puppeteer -headless Chrome 的 Node.js API相关推荐
- Node.js API参考文档(目录)
Node.js v11.5.0 API参考文档 Node.js®是基于Chrome的V8 JavaScript引擎构建的JavaScript运行时. 关于文档 用法和示例 断言测试 稳定性:2 - 稳 ...
- node.js api接口_如何在Node.js API客户端中正常处理故障
node.js api接口 by Roger Jin 罗杰·金(Roger Jin) 如何在Node.js API客户端中正常处理故障 (How to gracefully handle failur ...
- 如何使用async / await和Firebase数据库编写漂亮的Node.js API
by Paul Breslin 保罗·布雷斯林(Paul Breslin) 如何使用async / await和Firebase数据库编写漂亮的Node.js API (How to write ...
- nodejs 牛b,,,通过npm,数以万计的模块,Node.app:用Node.js API开发iOS“原生”应用
Node.app能够为应用程序提供兼容Node.js的JavaScript API,不仅占用资源非常少,而且还允许最大限度的代码重用和快速创新. 主要特性: 最大限度的代码重用:在iOS应用开发过程中 ...
- puppeteer(headless chrome)实现网站登录
puppeteer简介 puppeteer是Chrome团队开发的一个node库,可以通过api来控制浏览器的行为,比如点击,跳转,刷新,在控制台执行js脚本等等.有了这个神器,写个爬虫,自动签到,网 ...
- 实例:使用puppeteer headless方式抓取JS网页
puppeteer google chrome团队出品的puppeteer 是依赖nodejs和chromium的自动化测试库,它的最大优点就是可以处理网页中的动态内容,如JavaScript,能够更 ...
- puppeteer执行js_使用Node.js和Puppeteer与表单和网页进行交互– 2
puppeteer执行js Hi guys! Today let's look at another powerful function of the puppeteer API using Node ...
- puppeteer执行js_使用Node.js和Puppeteer与表单和网页进行交互– 1
puppeteer执行js Hi guys! Today let's look at another powerful function of the puppeteer API using Node ...
- Node.js API 全栈 开发框架
Node.js 框架 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. Node ...
最新文章
- 盘点近期重大技术成就及其将带给你的影响,与你我息息相关!
- Tensorflow Lite之编译生成tflite文件
- Tomcat 配置Https
- 《天天数学》连载40:二月九日
- Docker简易搭建 ElasticSearch 集群
- 十个程序员必备的网站_程序员必备网站之一:VisuAlgo
- Android中文乱码彻底解决
- 如何巧妙的使用pandas结合xlsxwriter实现对表格的读写以及插入图片操作
- 改变世界的程序员—Jack Dorsey
- Python+Dlib库实现人脸合成
- Adbyby无法更新规则的解决方案
- 《智能时代》读书笔记:这是最好的时代,也是最坏的时代
- 台式计算机总是重启,电脑为什么老是自动重启?我的电脑经常自动重启!!
- oracle的alter table,Oracle ALTER TABLE语句
- 趋势杀毒曝远程执行漏洞 可盗取用户所有密码
- [转]RFC1867协议客户端实现
- myeclipse中遇到代码run as后只有run configurations的情况
- jQuery入门选择器
- 使用SQL语句向表中插入多行数据
- win10系统potplay播放器关闭自动更新方法
热门文章
- [Angular 2] Using events and refs
- OpenCV(C++版)图像读取,创建,复制,保存,显示
- Android 模块化编程之引用本地的aar
- OSPF 传播默认路由
- 沫沫金::jqGrid插件-弹窗返回值
- 父游标、子游标及共享游标
- 问题四十五:怎么画ray tracing图形中的blending and joining surface
- centos7 java程序突然停止运行没有报错日志_CentOS7.5安装zookeeper3.4.10
- Pandas学习导图
- 6.1(数学:五角数)