单击c#(webBrowser)中具有相同类名的多个按钮之一

时间:2019-07-22 22:27:15

标签: c#

如何在C#(webBrowser)中单击具有相同类名的许多按钮中的第二个。

<li class="uJiz5"><button class="g56EM  _7_FaD"> 1.Button <span class="MICM7 reportSpriteChevron"></span></button></li>

<li class="uJiz5"><button class="g56EM  _7_FaD"> 2.Button <span class="MICM7 reportSpriteChevron"></span></button></li>

<li class="uJiz5"><button class="g56EM  _7_FaD"> 3.Button <span class="MICM7 reportSpriteChevron"></span></button></li>

C#代码(这仅单击第一个按钮,但我需要单击第二个按钮):

foreach(HtmlElement btn in webBrowser1.Document.GetElementsByTagName("button"))
    {
        if (btn.GetAttribute("className") == "g56EM  _7_FaD")
        {
            btn.InvokeMember("Click");
            break;
        }

    }

您可以用示例代码解释吗?谢谢。

1 个答案:

答案 0 :(得分:0)

break在第一场比赛中。如果要第二次匹配,请使用计数器并在等于1时(如果从0开始)调用click。之后,如果您不想调用任何后续按钮的单击,则可以break。类似于:

int counter = 0;
foreach(HtmlElement btn in webBrowser1.Document.GetElementsByTagName("button"))
{
    if (btn.GetAttribute("className") == "g56EM  _7_FaD")
    {
        counter++;
        if (counter == 1)
        {
            btn.InvokeMember("Click");
            break;
        }
    }
}