1.LoadError报错err_aborted
参考:CefSharp如何跳过解决不安全网网址(https)不显示的问题_Ryannn_NN的博客-优快云博客_cefsharp https
原因:CefSharp在遇到不安全证书的网址,如:不安全的https等,默认不显示,任务管理器中线程也不会增加。
其实是CefSharp内核中在ssl证书不安全时,默认抛出了异常,只需要在request中对返回值进行重写,处理异常并返回true即可。
Browser.RequestHandler = new ExampleRequestHandler();
public class ExampleRequestHandler : RequestHandler
{
protected override bool OnCertificateError(IWebBrowser chromiumWebBrowser, IBrowser browser, CefErrorCode errorCode, string requestUrl, ISslInfo sslInfo, IRequestCallback callback)
{
Task.Run(() =>
{
if (!callback.IsDisposed)
{
using (callback)
{
//地址包含报表成分 跳过ssl验证
if (requestUrl.Contains("reportSystem"))
{
callback.Continue(true);//重点部分
}
else
{
callback.Continue(false);
}
}
}
});
return true;
}
}
2.参考网站
----发送HTTP请求
var frame = _chromiumWebBrowser.GetMainFrame();
//Create a new request knowing we'd like to use PostData
var request = frame.CreateRequest(initializePostData: true);
request.Method = "GET";
request.Url = "htmldemo.html";//这里填静态页面地址
//Set AllowStoredCredentials so cookies are sent with Request
request.Flags = UrlRequestFlags.AllowStoredCredentials;
frame.LoadRequest(request);
https://www.youkuaiyun.com/tags/MtTaMg1sODY2MjI1LWJsb2cO0O0O.html
----cefsharp 初始化错误
error:The ChromiumWebBrowser instance creates the underlying Chromium Embedded Framework (CEF) browser instance in an async fashion. The undelying CefBrowser instance is not yet initialized. Use the IsBrowserInitializedChanged event and check the IsBrowserInitialized property to determine when the browser has been initialized.”
ChromiumWebBrowser browser = new ChromiumWebBrowse ();
方法里面 browser.load(uri); 报以上错误
解决办法:
ChromiumWebBrowser browser = null;头部
browser = new ChromiumWebBrowser(uri, null, null, true);
----ChromiumWebBrowser必须展示了才会触发加载完成事件