PuppeteerSharp: 更友好的 Headless Chrome C# API
前端就有了对 headless 浏览器的需求,最多的应用场景有两个
- ui 自动化测试:摆脱手工浏览点击页面确认功能模式
- 爬虫:解决页面内容异步加载等问题
也就有了很多杰出的实现,前端经常使用的莫过于 phantomjs 和 ,但两个库有一个共性——难用!环境安装复杂,api 调用不友好,1027 年 chrome 团队连续放了两个大招 headless chrome 和对应的 nodejs api puppeteer,直接让 phantomjs 和 selenium ide for firefox 作者宣布没必要继续维护其产品.
puppeteer
如同其 github 项目介绍:puppeteer 是一个通过 devtools protocol 控制 headless chrome 的 high-level node 库,也可以通过设置使用 非 headless chrome
我们手工可以在浏览器上做的事情 puppeteer 都能胜任
- 生成网页截图或者 pdf
- 爬取大量异步渲染内容的网页,基本就是人肉爬虫
- 模拟键盘输入、表单自动提交、ui 自动化测试
puppeteersharp
puppeteer sharp是官方node.js puppeteer api的.net 移植
- 由于puppeteer-sharp是netstandard 2.0库,因此最低平台版本是.net framework 4.6.1和.net core 2.0
- 支持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
这个项目很活跃,大家可以通过作者博客上获取更新记录
博客园里有一篇文章 puppeteersharp+anglesharp的爬虫实战之汽车之家数据抓取:https://www.cnblogs.com/vallen/p/puppeteersharp-anglesharp-crawlersamples.html 更详细的介绍了如何使用puppetersharp。在github上还有一个puppetersharp的扩展项目:
相关文章:
puppeteer,新款headless chrome!
puppeteer 应用容器化
上一篇: Q1英特尔NAND闪存部门亏了3亿美元 酷睿处理器越来越贵了
下一篇: 我们保持的金钱交易就好了