CfxRuntime.LibCefDirPath = @"C:\path\to\cef\directory";
ChromiumWebBrowser.Initialize();
|
var f = wb.GetFrame("mem_index");
var js = File.ReadAllText("login.js", Encoding.UTF8);
f.ExecuteJavaScript(js, "", 0);
|
第一行代碼
用webbrowser控件獲取一個iframe有好幾個重載方法
我這裏輸入的是iframe的name,
還有CfxFrame GetFrame(long identifier);注意這裏可不是iframe的id哦
還有一個函數挺有用的
List<string> GetFrameNames();
獲得頁面中全部iframe的名字
|
第二行代碼就不用解釋了
你看到我寫了login.js應該知道我不是在作什麼好事兒
|
第三行代碼就是讓這個iframe執行這段JS腳本
方法的簽名是這樣的:
void ExecuteJavaScript(string code, string scriptUrl, int startLine);
若是你的iframe已經加載了jquery,那麼你執行的代碼也是可使用jqeury的
第二個參數和第三個參數都是和出錯調試有關的
|
wb.OnLoadingStateChange += wb_OnLoadingStateChange;
void wb_OnLoadingStateChange(object sender, Chromium.Event.CfxOnLoadingStateChangeEventArgs e)
{
if (e.IsLoading == false)
{
//do what you want
}
}
|
加載完成的時候e.IsLoading的值是false
|
喜歡的人請點推薦,分享知識也不容易,你們快來感謝我接管js對話框,並自動觸發是或否的按鈕JS和C#通訊給頁面或iframe註冊全局的回調函數接管或屏蔽頁面的請求