如何在没有ID的情况下单击webbrowser文档中的按钮

时间:2012-11-19 14:52:34

标签: c# browser

我有一个按钮,但我找不到点击它的代码。

也许这是一个Java按钮或者什么,但这是关于它的信息:

<div class="contractLink">
    <button class="build" onclick="window.location.href = 'dorf1.php?a=17&c=ad65e8';  return  false;" value="الارتقاء الى مستوى 2" type="button">
</div>

请告诉我该怎么办?我试过了:

HtmlElement ele = webBrowser1.Document.GetElementById("name");
if (ele != null)

但是没有身份证。

2 个答案:

答案 0 :(得分:1)

假设您无法控制HTML,则必须使用GetElementsByTagName获取所有按钮并找到所需的按钮。

如果只有一个按钮,那么很简单:

HtmlElementCollection buttons = webBrowser1.Document.GetElementsByTagName("button");
if (buttons.Count > 0)
    buttons[0].RaiseEvent("onclick");

否则,您可以迭代按钮并根据其值找到合适的按钮。

答案 1 :(得分:0)

尝试GetElementsByTagName(),如下所示:

 HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("button");
 foreach (HtmlElement elem in elems)
 {
    String value = elem.GetAttribute("value");
    //identify the button by matching the name
    if (value != null && value.Length != 0 && value.equals("الارتقاء الى مستوى 2"))
    {
       //write your code here
    }
  }

如果页面中只有一个按钮,则只需使用elems[0]作为按钮。

 HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("button");
 HtmlElement myButton = elems[0];