等到GeckoFX Webbrowser加载完毕

时间:2012-12-08 11:40:44

标签: c# browser pageload geckofx

我希望使用GeckoFX在我的网站上自动执行一些任务以进行一些测试。 当我点击一个按钮时,应该会发生这种情况,点击该按钮后应该自动完成所有操作 这包括单击页面刷新的按钮,因此代码必须等到页面加载后才能解决问题。

如果我这样做:

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

我收到错误,所以如何才能将.Navigate之后的代码等到webbrowser完全加载页面?

2 个答案:

答案 0 :(得分:2)

您可以使用DocumentCompleted方法执行自动操作。

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");

启动浏览器到google页面

加载谷歌页面后,您可以在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(); 

因此它会在加载Google页面后自动搜索您提供的值。就像你可以根据你的逻辑修改程序。希望它有所帮助..

答案 1 :(得分:0)

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

相关问题