0

html代码可能看起来像

<html>
<body>
......
<textarea>
    <div>
        <a href="http://www.sohu.com">This is a hyper link </a>
    </div>
</textarea>
......
</body>
</html>

当我枚举链接时

        foreach (HtmlElement item in ieBrowser.document.Links)
        {
            var innerText = item.InnerText;
            if ((string.IsNullOrEmpty(innerText)) || innerText.Length == 0) continue;
            if (innerText.Contains(task.ShopName))
            {
                item.ScrollIntoView(true);
                item.Focus();
                item.SetAttribute("selected", "true");
                item.SetAttribute("target", "_self");
                item.InvokeMember("Click");     
                break;
            }
        }

但是,似乎网络浏览器无法识别 textArea 中的链接。任何知道如何处理这个问题的人。

4

1 回答 1

0

可以使用InnerHtml属性提取 textarea 上的内容。然后您可以使用HTMLAgilityPack查找链接并导航它

HtmlElement textArea = webBrowser1.Document.All["textareaid"];
if (textArea != null)
{
    HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
    doc.Load(textArea.InnerText);
    foreach(HtmlAgilityPack.HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href"])
    {
       HtmlAgilityPack.HtmlAttribute att = link["href"];
       webBrowser1.Navigate(att.Value);
    }
}
于 2013-06-20T17:38:56.797 回答