C # я могу очистить элемент управления webBrowser для ссылок? - PullRequest
3 голосов
/ 25 января 2012

В настоящее время я изучаю C # и пока это весело, но я преодолел контрольно-пропускной пункт.

У меня есть программа, которая может очистить информацию в веб-браузере внутри элемента управления веб-браузера.

Пока я могу получить 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

Знаете ли вы, какЯ могу получить список ссылок с текущей веб-страницы для отображения в текстовом поле?

Спасибо, Крис.

1 Ответ

2 голосов
/ 25 января 2012

С пакетом 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";
}
...