C#webbrower自动单击菜单按钮

时间:2016-04-09 07:57:12

标签: c# click

我在这里看到了一些这样的问题但是,他们都没有回答我的问题。我希望自动点击谷歌融合表页面上的按钮。我想在Visual Studio 2015中以windows形式运行它。我需要导航到文件地理编码...按钮。我右键单击并点击了检查按钮,这是我想要的按钮的ID

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

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

我通常设置一个间隔为1000毫秒的计时器; 试试这个,它将需要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");
}

答案 1 :(得分: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);