c #web浏览器单击带有类名的按钮

时间:2015-10-30 15:24:36

标签: c#

点击带有班级名称的按钮,我需要帮助。 我想点击下面的这个按钮。

<a href="https://www.supremenewyork.com/checkout" class="button checkout">checkout now</a>

我试过了,但按钮没有点击。

HtmlElementCollection classButton = webBrowser1.Document.All;
            foreach (HtmlElement element in classButton)
            {
                if (element.GetAttribute("button checkout") == "button")
                {
                    element.InvokeMember("click");
                }
            }

1 个答案:

答案 0 :(得分:2)

您正在寻找名为&#34;按钮结帐&#34;的属性而不是上课。您应该使用.Contains,所以如果有几个类,那么它不会错过它们:

HtmlElementCollection classButton = webBrowser1.Document.All;
foreach (HtmlElement element in classButton)
{
    if (element.GetAttribute("class").Contains("button"))
    {
        element.InvokeMember("click");
    }
}

如果你想确保找到&#34;按钮&#34;而不是像#34; redbutton&#34;然后改为:

HtmlElementCollection classButton = webBrowser1.Document.All;
foreach (HtmlElement element in classButton)
{
    if (Regex.IsMatch(element.GetAttribute("class"), @"\bbutton\b"))
    {
        element.InvokeMember("click");
    }
}

你也可以使用LINQ简化:

webBrowser1.Document.All.Where(
     element => element.GetAttribute("class").Contains("button"))/*OR regex in example 2*/
    .ToList().ForEach(element => element.InvokeMember("click"))