
推荐4个与浏览器相关的.Net开源项目,方便我们打造个性化开源浏览器、或者在后台实现浏览器自动化操作功能。
一、SharpBrowser:用C#打造超快的个性化开源浏览器!
SharpBrowser 是一个用 C# 和 CefSharp 开发的全功能网页浏览器。它声称是最快的开源 C# 网页浏览器,渲染网页的速度比谷歌浏览器还快,因为其使用轻量级的 CEF 渲染器。
经过比较所有可用的 .NET 浏览引擎后,项目团队最终选择了高性能的 CefSharp。
该项目基于 MIT 许可证发布。
项目地址:
https://github.com/sharpbrowser/SharpBrowser
二、puppeteer-sharp:浏览器自动化操作的.Net开源库
这是一个基于 Google 开源的 Node.js 库 Puppeteer 的 .NET 开源库,方便开发人员使用无头 Web 浏览器抓取 Web、检索 JavaScript 呈现的 HTML,以及与 UI 元素交互等功能。
比如可以用来抓取网页、生成页面 PDF 或者图片、网页截屏,以及进行自动化测试等。
1、操作浏览器:比如新开/关闭浏览器窗口核标签、返回页面、打印页面、重新加载页面等;
2、执行JavaScript脚本:执行Js代码/函数等;
3、操作Html页面:比如获取元素的属性、文本内容,插入、更改元素等;
4、模拟鼠标操作:模拟点击页面元素、双击页面元素、拖动页面元素等;
5、模拟键盘输入:输入文字、按下按键、摁住按键等;
6、页面事件:等待页面加载完毕、字体加载等事件。
项目地址:
https://github.com/hardkoded/puppeteer-sharp
三、NanUI:基于.NET Core内置浏览器窗体应用程序界面框架
这是基于.Net Core开发的、内置Chromium内核的WinForms应用框架,该框架UI简洁漂亮,内置了客户端与网页通信功能,让你可以更好地通过JavaScript与客户端交互。
该应用框架只具备基础功能,大家可以根据自己的需求,进行二次开发。
1、采用最新浏览器内核,保证Web的渲染。
2、支持多种窗口样式:原生、无边框、系统无边框、异形、Kisok窗体。
3、交互功能:内置JavaScript与窗体交互。
项目地址:
https://github.com/NetDimension/NanUI/
四、CefSharp:网页自动化和爬虫神器
CefSharp是一个基于Chromium Embedded Framework(CEF)的.NET开源项目。
可以让开发人员非常方便使用C#与浏览器交互,可以操作Html、Css、执行JavaScript代码等方式来处理页面的内容。
支持多线程,方便开发人员创建多个浏览器对象,并可以通过设定CookieContainer和UserAgent来模拟不同用户的操作,提升网页数据采集和速度。
1、控件:支持WPF和WinForms web浏览器控件;
2、强大的JS交互能力:支持与JavaScript的双向交互能力,方便Web端与客户端进行数据交互;
3、多线程抓取:支持多线程操作,提升效率;
4、丰富的API:提供了非常丰富的API,使得开发人员非常方便控制和操作Web浏览器;
5、社区:社区非常活跃,案例和资料非常多,方便开发人员进行交流和解决问题。
项目地址:
https://github.com/cefsharp/CefSharp