PuppeteerSharp: 更友好的 Headless Chrome C# API
前端就有了對 headless 瀏覽器的需求,最多的應用場景有兩個
UI 自動化測試:擺脫手工瀏覽點擊頁面確認功能模式
爬蟲:解決頁面內容異步加載等問題
也就有了很多杰出的實現,前端經常使用的莫過于?PhantomJS?和?selenium-webdriver,但兩個庫有一個共性——難用!環境安裝復雜,API 調用不友好,1027 年 Chrome 團隊連續放了兩個大招?Headless Chrome?和對應的 NodeJS API?Puppeteer,直接讓 PhantomJS 和 Selenium IDE for Firefox 作者宣布沒必要繼續維護其產品.
Puppeteer
如同其?github?項目介紹:Puppeteer 是一個通過?DevTools Protocol?https://chromedevtools.github.io/devtools-protocol/ 控制 headless chrome 的 high-level Node 庫,也可以通過設置使用 非 headless Chrome
我們手工可以在瀏覽器上做的事情 Puppeteer 都能勝任
生成網頁截圖或者 PDF
爬取大量異步渲染內容的網頁,基本就是人肉爬蟲
模擬鍵盤輸入、表單自動提交、UI 自動化測試
PuppeteerSharp
Puppeteer Sharp是官方Node.JS Puppeteer API :https://github.com/GoogleChrome/puppeteer的.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
這個項目很活躍,大家可以通過作者博客上獲取更新記錄?http://www.hardkoded.com/
博客園里有一篇文章?PuppeteerSharp+AngleSharp的爬蟲實戰之汽車之家數據抓取:https://www.cnblogs.com/VAllen/p/PuppeteerSharp-AngleSharp-CrawlerSamples.html?更詳細的介紹了如何使用PuppeterSharp。在github上還有一個PuppeterSharp的擴展項目:https://github.com/hlaueriksson/puppeteer-sharp-contrib?
相關文章:
puppeteer,新款headless chrome!https://www.cnblogs.com/dh-dh/p/8490047.html
Puppeteer 應用容器化?https://www.cnblogs.com/weihanli/p/dockerize-puppeteer-apps.html?
原文地址:https://www.cnblogs.com/shanyou/p/10500049.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的PuppeteerSharp: 更友好的 Headless Chrome C# API的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET Core 3.0 linux
- 下一篇: 中国.NET:东莞+长沙.NET俱乐部现