我試圖做一個C#Windows窗體應用程序,與網頁瀏覽器。Webkit.Net等待要完全加載頁面
我使用WebKit瀏覽器:Link to the browser
web瀏覽器做了我放在一個類文件,這樣我就可以通過所有形式我要去使用它存取權限。
說的生成web瀏覽器的代碼:
public static WebKit.WebKitBrowser mainBrowser = new WebKitBrowser();
我在這一塊的,讓代碼
的一些問題:
globalVars.mainBrowser.Navigate("http://www.somesite.com/");
while (globalVars.mainBrowser.IsBusy)
{
System.Threading.Thread.Sleep(500);
}
globalVars.mainBrowser.Document.GetElementById("user").TextContent = "User Name";
但它不工作。如果我在一段時間後,做一個消息框,它顯示了它之前可能呈現頁面...
那麼,什麼是等到現場滿載的最佳方式?
更新1
在一個獨立的類文件,我是使得WebKit的控制研究是這樣的:
public static WebKit.WebKitBrowser mainBrowser = new WebKitBrowser();
而在一個形式,我現在得到這個代碼(感謝Tearsdontfalls ):
public void loginthen()
{
globalVars.mainBrowser.DocumentCompleted += mainBrowser_DocumentCompleted;
globalVars.mainBrowser.Navigate("http://www.somesite.com/");
}
void mainBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var send = sender as WebKit.WebKitBrowser;
if (send.Url == e.Url)
{
MessageBox.Show("Inloggen");
globalVars.mainBrowser.Document.GetElementById("user").TextContent = "User Name";
}
}
但沒有消息框出現。但是,如果我使用本地(在相同的形式)webkit瀏覽器,我得到的MessageBox。但隨後的用戶字段沒有填寫。
即使是在documentCompleted事件斷點,不triggerd。所以它看起來像事件聽者不工作...
那麼爲什麼不工作?
也許文件完成事件是一個選項? – Tearsdontfalls
@Tearsdontfalls,mayby。但是代碼將如何看起來像那樣?因爲我是從這樣的形式並不總是... – Mathlight