单击html按钮

本文关键字:按钮 html 单击 | 更新日期: 2023-09-27 18:00:06

这是我试图点击的按钮:

<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控件单击该表单元格的正确方法是什么?

单击html按钮

问题是,您所称的"链接"不是WebBrowser中的链接,而是一个所谓的表单元格,它在html中表示为<td>标记,这里对此进行了解释。这就是为什么在document.links集合上迭代时找不到要查找的内容。

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

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