HTMLDocument
От: Ocenochka  
Дата: 26.10.06 07:31
Оценка:
Хочу понять как из 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 абсолютного пути. Может я не той дорогой иду и все проще?
Люблю ставить оценки.
Re: HTMLDocument
От: desco США http://v2matveev.blogspot.com
Дата: 26.10.06 07:58
Оценка:
Здравствуйте, 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");
            }
Re: HTMLDocument
От: _FRED_ Черногория
Дата: 26.10.06 08:03
Оценка: 3 (1)
Здравствуйте, 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: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Re[2]: HTMLDocument
От: Ocenochka  
Дата: 26.10.06 09:04
Оценка:
O>> А как мне получить доступ к этому свойству? Компилятор не видит у DomElement никаких свойств, кроме 4-х стандартных от Object.

_FR> Это уже не первый твой вопрос на одну и туже тему.

_FR>Тебе давали ответ
Автор: Ocenochka
Дата: 23.10.06
, можно постомотреть пример в МСДН к интересующему тебя свойству здесь Ничто не помагает, да?


Тема совсем не та же самая. В той теме я узнавал про IHTMLDocumentN. Сейчас же, я хочу сделать все средствами только WebBrowser.Document. Использовать mshtml не хочу для уменьшения зависимостей — хватит и "using System.Windows.Forms".

O>> Нужен универсальный метод вытягивания из каждого elementa в webBrowser.Document.Links абсолютного пути. Может я не той дорогой иду и все проще?

_FR>ИМХО, совсем не той

Ну почему же? Неужели WebBrowser.HtmlDocument не предоставляет возможности узнать абсолютный Uri?

ps Спасибо за код и за терпение
Люблю ставить оценки.
Re[3]: HTMLDocument
От: _FRED_ Черногория
Дата: 26.10.06 09:09
Оценка: 3 (1)
Здравствуйте, Ocenochka, Вы писали:

O> Ну почему же? Неужели WebBrowser.HtmlDocument не предоставляет возможности узнать абсолютный Uri?


System.Windows.Forms.HtmlElement.GetAttribute(string) пробовал?

O>ps Спасибо за код и за терпение


На всех не напассёсси
Help will always be given at Hogwarts to those who ask for it.
Re[4]: HTMLDocument
От: Ocenochka  
Дата: 26.10.06 09:36
Оценка:
O>> Ну почему же? Неужели WebBrowser.HtmlDocument не предоставляет возможности узнать абсолютный Uri?
_FR>System.Windows.Forms.HtmlElement.GetAttribute(string) пробовал?

Не думал, что сработает Спасибо!

O>>ps Спасибо за код и за терпение

_FR>На всех не напассёсси

Оценки не кончаются
Люблю ставить оценки.
Re: HTMLDocument
От: squiz  
Дата: 28.10.06 15:26
Оценка:
Здравствуйте, 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...
Re: HTMLDocument
От: Аноним  
Дата: 12.12.06 09:12
Оценка:
После загрузки документа
String documrntUrl=webBrowser1.URL.ToString();


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.