如何在webbrowser中按某个按钮?

时间:2016-02-14 15:05:27

标签: c#

网站上有20个按钮,名称和类别相同。我在Form1上看到了webbrowser和button组件。我需要做的是按下第一次按下按钮,按下网站上的前四个按钮,第二次按下 - 接下来的四个按钮等等?当我尝试这样做时,我一次选择了20个按钮:

HtmlElementCollection elmCol = webBrowser1.Document.GetElementsByTagName("a");
var asd = elmCol[0];
foreach (HtmlElement elmBtn in elmCol)
{
    if (elmBtn.GetAttribute("className") == "item streamItem streamItem-user")
    {
        elmBtn.Focus();
        elmBtn.InvokeMember("Click");
    }
}

1 个答案:

答案 0 :(得分:0)

您可以尝试将类添加到需要按下的按钮组中。

即:

<button class="button-group-1 item streamItem streamItem-user">
<button class="button-group-1 item streamItem streamItem-user">
<button class="button-group-2 item streamItem streamItem-user">
<button class="button-group-2 item streamItem streamItem-user">

通过这种方式,您可以测试按钮所属的组,并在需要时按下

//Will click the buttons which belong to the first group
if (elmBtn.GetAttribute("className") == "button-group-1 item streamItem streamItem-user")
{
    elmBtn.Focus();
    elmBtn.InvokeMember("Click");
}