cefsharp(webkit內核)瀏覽器替代webbrowser用來采集頁面數據。
需要在頁面form加載完畢,用異步方式自動獲取sourcecode。
由於國內cefsharp的資料相對比較少,在google英文資料后得到方法,這里做個筆記備忘:
IWebBrowser.cs 這個接口文件里面
36行: event EventHandler<FrameLoadEndEventArgs> FrameLoadEnd; 頁面加載完的“事件”。
262行:GetSourceAsync() 會返回string 結果,可以用來返回html代碼
只需要頁面一加載完畢就GetSourceAsync() ,加了個Async后綴(異步的意思),之前的名字叫做GetSource()。
以前的GetSource():
下載了最新的cefsharp就不用糾結為何cefsharp找不到GetSource()方法了,現在.net 4 和.net4.5作者都改成GetSourceAsync() 。
具體看下面截圖,是因為有人提出來過這個建議,所以作者就改了:
具體等頁面加載完畢,自動獲得頁面source code的代碼如下:
var task1 = browser.GetSourceAsync();
task1.Wait();
string html = task1.Result;
以上例子是在CefSharp.MinimalExample完成。更多的用法,可以參考:https://github.com/cefsharp/CefSharp/issues/646