2016-04-09 29 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);