如何使用HTMLElement以编程方式单击链接元素?

DEN*_*DEN 17 html c# asp.net webforms

我正在做一个自动化程序.我将一个网页加载到我的Windows窗体中并将其加载到WebBrowser控件中.然后,我需要以编程方式单击WebBrowser中的链接.我怎样才能做到这一点?例如:

  1. <a href="http://www.google.com">Google Me</a>

  2. <a href="http://www.facebook.com" id="fbLink">Facebook Me</a>

以上是两种不同的条件.第一个元素没有id属性,而第二个元素有属性.有关如何以编程方式单击每个的任何想法?

Sae*_*ini 19

您必须首先通过ID或其他过滤器找到您的元素:

HtmlElement fbLink = webBrowser.Document.GetElementByID("fbLink");
Run Code Online (Sandbox Code Playgroud)

并模拟"点击":

fbLink.InvokeMember("click");
Run Code Online (Sandbox Code Playgroud)

通过内部文本查找链接的示例:

HtmlElement FindLink(string innerText)
{
    foreach (HtmlElement link in webBrowser.Document.GetElementsByTagName("a"))
    {
        if (link.InnerText.Equals("Google Me"))
        {
            return link;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)