如何在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;
}
}
您可以用示例代码解释吗?谢谢。
答案 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;
}
}
}