我正在使用geckofx浏览器加载网页并在网页上搜索一些数据。
我的代码是
public void Navigate(string url){
//.....some code
browser.Navigate(url);
var errorTost = webBrowser.Document.GetElementsByClassName("class-name");
//....some more code
}
我面临的问题是我无法检查errorTost
是否存在,因为浏览器未完全加载。
然后我已经使用webBrowser_DocumentCompleted
和webBrowser_Navigating
查找浏览器是否已完全加载。
新修改的代码如下所示
var isBrowserLoading = false; // class variable
public void Navigate(string url){
//.....some code
browser.Navigate(url);
while(isBrowserLoading ){}
var errorTost = webBrowser.Document.GetElementsByClassName("class-name");
//....some more code
}
private void webBrowser_DocumentCompleted(object sender, Gecko.Events.GeckoDocumentCompletedEventArgs e)
{
isBrowserLoading = false;
}
private void webBrowser_Navigating(object sender, Gecko.Events.GeckoNavigatingEventArgs e)
{
isBrowserLoading = true;
}
但是isBrowserLoading
永远不会更新。
有人可以帮我吗?!
谢谢。