单击html按钮

时间:2013-02-19 20:12:04

标签: c# html button click invoke

这是我试图点击的按钮:

<td class="dark" onclick="document.getElementById('id').value = '0'; document.getElementById('form').submit()">
   test
</td>

我尝试使用Winform WebBrowser控件单击该元素的代码:

HtmlElementCollection links = webBrowser1.Document.Links;

foreach (HtmlElement link in links)
{
    if ((link.InnerText != null) && (link.InnerText.Equals("test")))
        link.InvokeMember("Click");
}

点击链接但不点击上面发布的按钮。我也尝试过不同的东西:

if (curElement.GetAttribute("id").Equals("0"))
{
    curElement.InvokeMember("click");
}

从WebBrowser控件中单击该表格单元格的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

问题在于,您所谓的“链接”不是WebBrowser方面的链接,而是一个所谓的tablecell,它以html表示为<td>标记,解释为here 。这就是当您遍历document.links集合时,您找不到所需内容的原因。

您可以在webbrowsercontrol的Document属性上使用另一种方法来获取特定标记名称列表GetEelementsByTagName。那将只给你<td>。如果您可以检查是否到达了正确的<td>,然后在元素上调用RaiseEvent来调用所需的行为,那么这很简单。

  foreach (HtmlElement td in this.webBrowser1.Document.GetElementsByTagName("td")) 
  {
         Debug.WriteLine(td.InnerText);
        if (td.InnerText.Equals("test"))
        {
                     td.RaiseEvent("onclick");
        }
  }