我试图做一个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