推荐4个与浏览器相关的.Net开源项目,方便我们打造个性化开源浏览器、或者在后台实现浏览器自动化操作功能。
一、SharpBrowser:用C#打造超快的个性化开源浏览器!
SharpBrowser 是一个用 C# 和 CefSharp 开发的全功能网页浏览器。它声称是最快的开源 C# 网页浏览器,渲染网页的速度比谷歌浏览器还快,因为其使用轻量级的 CEF 渲染器。
经过比较所有可用的 .NET 浏览引擎后,项目团队最终选择了高性能的 CefSharp。
该项目基于 MIT 许可证发布。
功能特点
-
网页浏览功能:支持 HTML5、CSS3、JS、HTML5 视频、WebGL 3D、WebAssembly 等现代网页技术。
-
多标签浏览:用户可以同时打开多个网页标签,方便在不同页面之间切换。
-
地址栏:用户可以在地址栏输入网址访问网页,同时支持通过地址栏进行谷歌搜索。
-
导航控制:提供后退、前进、停止、刷新等基本导航功能。
-
开发者工具:内置开发者工具,方便开发者调试网页。
-
搜索功能:具备搜索栏,用户可以在页面中搜索内容,并高亮显示所有匹配项。
-
下载管理器:提供下载管理功能,方便用户管理和查看下载的文件。
-
自定义错误页面:当网页加载失败时,会显示自定义的错误页面。
-
自定义上下文菜单:用户可以根据需要自定义浏览器的右键菜单。
-
品牌化与定制:可以轻松添加特定供应商的品牌标识、按钮或快捷键。
-
离线浏览:支持查看在线和离线网页。
项目地址:
二、puppeteer-sharp:浏览器自动化操作的.Net开源库
这是一个基于 Google 开源的 Node.js 库 Puppeteer 的 .NET 开源库,方便开发人员使用无头 Web 浏览器抓取 Web、检索 JavaScript 呈现的 HTML,以及与 UI 元素交互等功能。
比如可以用来抓取网页、生成页面 PDF 或者图片、网页截屏,以及进行自动化测试等。
1、操作浏览器:比如新开/关闭浏览器窗口核标签、返回页面、打印页面、重新加载页面等;
2、执行JavaScript脚本:执行Js代码/函数等;
3、操作Html页面:比如获取元素的属性、文本内容,插入、更改元素等;
4、模拟鼠标操作:模拟点击页面元素、双击页面元素、拖动页面元素等;
5、模拟键盘输入:输入文字、按下按键、摁住按键等;
6、页面事件:等待页面加载完毕、字体加载等事件。
项目地址:
三、NanUI:基于.NET Core内置浏览器窗体应用程序界面框架
这是基于.Net Core开发的、内置Chromium内核的WinForms应用框架,该框架UI简洁漂亮,内置了客户端与网页通信功能,让你可以更好地通过JavaScript与客户端交互。
该应用框架只具备基础功能,大家可以根据自己的需求,进行二次开发。
1、采用最新浏览器内核,保证Web的渲染。
2、支持多种窗口样式:原生、无边框、系统无边框、异形、Kisok窗体。
3、交互功能:内置JavaScript与窗体交互。
项目地址:
四、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、社区:社区非常活跃,案例和资料非常多,方便开发人员进行交流和解决问题。
项目地址:
- End -
推荐阅读
EarTrumpet:一个基于.Net开发的专为 Windows 系统设计开源的音量控制开源工具。