如何单击HtmlNode中的链接

时间:2015-08-05 17:04:17

标签: c#-4.0 html-agility-pack

我正在创建一个无头的C#应用​​程序,我的一个HTML元素看起来像

<input name="SUBMIT-chn.pss" title="Select" class="image  selectIcon" type="image" alt="Select" src="docs/pics/select.png">

我的方法看起来像

    private void AddInputElement(HtmlNode element)
    {
        string name = element.GetAttributeValue("name", "");
        string value = element.GetAttributeValue("value", "");
        string type = element.GetAttributeValue("type", "");

        if (string.IsNullOrEmpty(name)) return;

        switch (type.ToLower())
        {                
            case "image":
                'I would like to do something like element.Click to go to the next page.
            default:
                Add(name, value);
                break;
        }
    }

我正在使用HtmlAgilityPack 1.4.9和.Net 4.5.2

谢谢

1 个答案:

答案 0 :(得分:1)

HtmlAgilityPack(HAP)是这类任务的错误工具。它只是一个HTML解析器,它使您能够从源HTML中提取信息,修改HTML的一些内容,等等。 HAP适用于HTML标记级别,您无法通过HAP与HTML控件进行交互。

要点击链接,键入文本框等,您需要一个真实的浏览器或模拟真实浏览器的东西。您可能希望使用Selenium WebDriver无头浏览器来查看PhantomJS的.NET绑定来实现此目的。请参阅一个简单示例here