到目前为止,我正在学习C#及其乐趣,但我遇到了障碍。
我有一个程序可以抓取Web浏览器控件中的网页以获取信息。
到目前为止,我可以获得HTML
HtmlWindow window = webBrowser1.Document.Window;
string str = window.Document.Body.OuterHtml;
richTextBox1.Text = (str.ToString());
和文字
HtmlWindow window = webBrowser1.Document.Window;
string str = window.Document.Body.OuterText;
richTextBox1.Text = (str.ToString());
我试图抓住并显示像这样的链接
HtmlWindow window = webBrowser1.Document.Window;
string str = window.Document.Body.GetElementsByTagName("A").ToString();
richTextBox1.Text = str;
但相反,表单上的Rich文本框会填充此
System.Windows.Forms.HtmlElementCollection
您知道如何从当前网页获取要在文本框中显示的链接列表吗?
由于 克里斯。
答案 0 :(得分:2)
使用HtmlAgility包很容易:
HtmlWindow window = webBrowser1.Document.Window;
string str = window.Document.Body.OuterHtml;
HtmlAgilityPack.HtmlDocument HtmlDoc = new HtmlAgilityPack.HtmlDocument();
HtmlDoc.LoadHtml(str);
HtmlAgilityPack.HtmlNodeCollection Nodes = HtmlDoc.DocumentNode.SelectNodes("//a");
foreach (HtmlAgilityPack.HtmlNode Node in Nodes)
{
textBox1.Text += Node.OuterHtml + "\r\n";
}