PuppeteerSharp: 更友好的 Headless Chrome C# API

前端就有了对 headless 浏览器的需求,最多的应用场景有两个javascript

  1. UI 自动化测试:摆脱手工浏览点击页面确认功能模式
  2. 爬虫:解决页面内容异步加载等问题

也就有了不少杰出的实现,前端常用的莫过于 PhantomJSselenium-webdriver,但两个库有一个共性——难用!环境安装复杂,API 调用不友好,1027 年 Chrome 团队连续放了两个大招 Headless Chrome 和对应的 NodeJS API Puppeteer,直接让 PhantomJS 和 Selenium IDE for Firefox 做者宣布不必继续维护其产品.html

Puppeteer

如同其 github 项目介绍:Puppeteer 是一个经过 DevTools Protocol 控制 headless chrome 的 high-level Node 库,也能够经过设置使用 非 headless Chrome前端

咱们手工能够在浏览器上作的事情 Puppeteer 都能胜任java

  1. 生成网页截图或者 PDF
  2. 爬取大量异步渲染内容的网页,基本就是人肉爬虫
  3. 模拟键盘输入、表单自动提交、UI 自动化测试

PuppeteerSharpgit

Puppeteer Sharp是官方Node.JS Puppeteer API的.NET 移植github

  1. 因为Puppeteer-Sharp是NetStandard 2.0库,所以最低平台版本是.NET Framework 4.6.1和.NET Core 2.0
  2. 支持WebSocket库的最低Windows版本是Windows 8和Windows Server 2012,具体参见 https://docs.microsoft.com/en-us/dotnet/api/system.net.websockets?redirectedfrom=MSDN&view=netframework-4.6.1

这个项目很活跃,你们能够经过做者博客上获取更新记录 http://www.hardkoded.com/web

博客园里有一篇文章 PuppeteerSharp+AngleSharp的爬虫实战之汽车之家数据抓取https://www.cnblogs.com/VAllen/p/PuppeteerSharp-AngleSharp-CrawlerSamples.html 更详细的介绍了如何使用PuppeterSharp。在github上还有一个PuppeterSharp的扩展项目:https://github.com/hlaueriksson/puppeteer-sharp-contrib chrome

相关文章:docker

相关文章
相关标签/搜索