如何等待geckofx浏览器加载到C#中?

时间:2019-10-22 09:48:38

标签: c# browser geckofx

我正在使用geckofx浏览器加载网页并在网页上搜索一些数据。

我的代码是

public void Navigate(string url){
    //.....some code
    browser.Navigate(url);

    var errorTost = webBrowser.Document.GetElementsByClassName("class-name");
  //....some more code
}

我面临的问题是我无法检查errorTost是否存在,因为浏览器未完全加载。

然后我已经使用webBrowser_DocumentCompletedwebBrowser_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永远不会更新。 有人可以帮我吗?!

谢谢。

0 个答案:

没有答案