早已久仰CefSharp大名,今日才得以实践,我其实想用CefSharp来访问网站页面,然后抓取html源代码进行分析,如果使用自带的WebBrowser控件,可能会出现一些不兼容js的错误。CefSharp允许您在.NET应用程序中嵌入Chromium。它是Marshall A. Greenblatt 围绕Chromium Embedded Framework(CEF)的轻量级.NET包装器。大约30%的绑定是用C ++ / CLI编写的,这里的大部分代码都是C#。它可以从C#或VB或任何其他CLR语言中使用。CefSharp提供WPF和WinForms Web浏览器控件实现。 GitHub地址:https://github.com/cefsharp/CefSharp 首先,我用vs新建一个winform的项目,环境如下:
nuget命令如下:
<?xml version="1.0" encoding="utf-8"?> 安装完成后,编译项目报错如下: CefSharp.Common contains unmanaged resoures, set your project and solution platform to x86 or x64. Alternatively for AnyCPU Support see https://github.com/cefsharp/CefSharp/issues/1714 看到网上的解决说:将活动解决方案平台改成 x86 (CEF不能自适应 x86 | x64,必须选择一个目标),目标平台也必须和解决方案平台一致。 从CefSharp 51开始,您可以使用AnyCPU使用CefSharp,但它不能单独工作,因为您需要在2个特定文件中进行一些更改。 按照网友的办法,应该是可以解决的,我没有试,其实cef已经支持AnyCPU了,但是需要配置,配置方案如下: 1:首先右击项目,卸载解决方案,编辑项目的.csproj文件,并在第一个 <PropertyGroup>的节点添加:
2:添加完成后,重新加载项目,并且在app.config添加如下配置:
3:在Cef.Initialize调用前,配置浏览器启动路径,如下代码:
完成的代码如下:
运行项目: <ignore_js_op> 参考资料:https://ourcodeworld.com/article ... informs-application (完) |