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

しかし、web ブラウザは textArea 内のリンクを認識できなかったようです。これに対処する方法を知っている人。

4

1 に答える 1

0

InnerHtmlプロパティを使用して、テキストエリアの内容を抽出できます。次に、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 に答える