c#web浏览器点击一个带有类名的按钮

本文关键字:按钮 一个 浏览器 c#web | 更新日期: 2023-09-27 18:19:52

我需要帮助单击具有类名的按钮。我想点击下面的这个按钮。

<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");
                }
            }

c#web浏览器点击一个带有类名的按钮

您正在寻找一个名为"button checkout"的属性,而不是类。你可能应该使用.Contains,这样如果有几个类,它就不会错过它们:

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

如果你想确保你找到的是"按钮"而不是类似"红色按钮"的东西,那么改为:

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"))