Хочу понять как из HTMLDocument получить абсолютный Uri.
Вот код, который выполняет WebBrowser.Navigate():
WebBrowser webBrowser = new WebBrowser();
webBrowser.Navigate(@"google.ru");
while (webBrowser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
foreach (HtmlElement element in webBrowser.Document.Links)
{
if (element.InnerHtml != null)
{
/*1*/ int breakPoint = 0;
}
}
В точке /*1*/ во время выполнения я изучаю element на наличие абсолютной ссылки и вижу, что лежит она в
А как мне получить доступ к этому свойству? Компилятор не видит у DomElement никаких свойств, кроме 4-х стандартных от Object.
Нужен универсальный метод вытягивания из каждого elementa в webBrowser.Document.Links абсолютного пути. Может я не той дорогой иду и все проще?
Здравствуйте, Ocenochka, Вы писали:
O> Хочу понять как из HTMLDocument получить абсолютный Uri.
например добавить ссылку на mshtml и сделать так:
WebBrowser webBrowser = new WebBrowser();
webBrowser.Navigate(@"google.ru");
while (webBrowser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
IHTMLDocument2 document = (IHTMLDocument2) webBrowser.Document.DomDocument;
foreach (IHTMLAnchorElement element in document.links)
{
Console.WriteLine(element.href ?? "null");
}
Здравствуйте, Ocenochka, Вы писали:
O> А как мне получить доступ к этому свойству? Компилятор не видит у DomElement никаких свойств, кроме 4-х стандартных от Object.
Это уже не первый твой вопрос на одну и туже тему. Тебе давали
ответАвтор: Ocenochka
Дата: 23.10.06
, можно постомотреть пример в МСДН к интересующему тебя свойству
здесь Ничто не помагает, да? Или из того, что тебе сказали не написать несколько строк тапи такого:
namespace WindowsApplication1
{
using System;
using System.Windows.Forms;
using mshtml;
static class Program
{
[STAThread]
static void Main() {
WebBrowser webBrowser = new WebBrowser();
webBrowser.Navigate(@"google.ru");
while(webBrowser.ReadyState != WebBrowserReadyState.Complete) {
Application.DoEvents();
}//while
foreach(HtmlElement element in webBrowser.Document.Links) {
IHTMLAnchorElement link = element.DomElement as IHTMLAnchorElement;
if(link != null) {
MessageBox.Show(link.href);
}//if
}//for
}
}
}
O> Нужен универсальный метод вытягивания из каждого elementa в webBrowser.Document.Links абсолютного пути. Может я не той дорогой иду и все проще?
ИМХО, совсем не той
... << RSDN@Home 1.2.0 alpha rev. 0>>
Now playing: «Тихо в лесу…»
Здравствуйте, Ocenochka, Вы писали:
O> Ну почему же? Неужели WebBrowser.HtmlDocument не предоставляет возможности узнать абсолютный Uri?
System.Windows.Forms.HtmlElement.GetAttribute(string) пробовал?
O>ps Спасибо за код и за терпение
На всех не напассёсси
Здравствуйте, Ocenochka, Вы писали:
O>O> WebBrowser webBrowser = new WebBrowser();
O> webBrowser.Navigate(@"google.ru");
O> while (webBrowser.ReadyState != WebBrowserReadyState.Complete)
O> {
O> Application.DoEvents();
O> }
O>
А как же DocumentCompleted ?
Never underestimate those behind you...
После загрузки документа
String documrntUrl=webBrowser1.URL.ToString();
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение