1

我想用 GeckoFX 在我的网站上自动化一些任务以进行一些测试。当我单击一个按钮时应该会发生这种情况,并且在单击该按钮后一切都应该自动化。这包括单击页面刷新的按钮,因此代码必须等到页面加载完毕,这就是我的问题所在。

如果我这样做:

geckoWebBrowser1.Navigate("http://mywebsite.com");
GeckoInputElement searchText = new GeckoInputElement(geckoWebBrowser1.Document.GetElementsByName("searchbox")[0].DomObject);
            searchText.Value = "GeckoFx";

我得到一个错误,那么我怎么能把 .Navigate 之后的代码等到 webbrowser 完全加载页面?

4

2 回答 2

4

您可以使用DocumentCompletedMethod 来执行您的自动操作。

private void geckoWebBrowser1_DocumentCompleted(object sender,EventArgs e)
    {
          // Here you can add the coding to perform after document loaded
    }

例如:首先启动浏览器到谷歌页面geckoWebBrowser1.Navigate("https://www.google.com");

谷歌页面加载后,您可以在 document_completed 方法中执行以下操作:

GeckoInputElement search =new GeckoInputElement(geckoWebBrowser2.Document.GetElementsByName("q")[0].DomObject);
        GeckoInputElement button = new GeckoInputElement(geckoWebBrowser2.Document.GetElementsByName("btnG")[0].DomObject);
        search.focus();
        search.Value = "Master Blaster Sachin";            
        button.Click(); 

所以它会在谷歌页面加载后自动搜索你给出的值。像这样,您可以根据自己的逻辑修改程序。希望能帮助到你..

于 2013-11-25T08:57:36.830 回答
0

我会去使用像 Selenium http://seleniumhq.org/这样的产品。它是可编写脚本的免费开源 Web 测试。

于 2012-12-08T11:59:39.027 回答