2016-04-09 26 views
1

我在这里看到了一些这些问题,但是,他们都没有回答我的问题。我正在寻找自动点击谷歌融合表页面上的按钮。我想运行这是在Visual Studio 2015中的窗体窗体。我需要导航到文件 - 地理编码...按钮。我右键单击,然后按下按钮进行检查,这是该按钮的ID我想C#webbrower自动点击一个菜单按钮

<td class="gwt-MenuItem" id="gwt-uid-209" role="menuitem" colspan="2">Geocode...</td>

是否有可能使用类似的方法?:

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 
     webBrowser1.Document 
      .GetElementById("gwt-uid-209") 
      .InvokeMember("Click"); 
    } 

感谢您帮帮我。

回答

0

我使用了与问题中提到的代码相同的代码,但要小心,因为在文档完成时,webBrowser可能会调用多个事件。

我通常设置一个1000ms间隔的定时器; 试试这个,它会花费1秒多,但它会完成这项工作。

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
{ 
     timer1.Enabled = true; 
} 

private void timer1_Tick(object sender, EventArgs e) 
{ 
     timer1.Enabled = false; 
     webBrowser1.Document.GetElementById("gwt-uid-209").InvokeMember("Click"); 
} 
+0

考虑使用使用mozilla而不是Internet Explorer的GeckoFX。 – djsony90

0

如果我使用geckobrowser,我该如何让它自动点击?这是我现在拥有的。

Xpcom.Initialize("Firefox"); 
      var geckoWebBrowser = new GeckoWebBrowser { Dock = DockStyle.Fill }; 
      Form f = new Form(); 
      f.Controls.Add(geckoWebBrowser); 
      geckoWebBrowser.Navigate("https://www.google.com/fusiontables/data?docid=1FdRUOJ9YIXT81QdfS71qXWV3m7qmzF_4TLRrKh5r#rows:id=1"); 
      Application.Run(f);