[Delphi] [TMozillaBrowser] - podgląd źródła HTML

0

Witam,

Żaden ze sposobów pobierania źródła przy użyciu TMozillaBrowser nie działa. Pobierałem juz źródło przez WebBrowsera. Oto kilka sposobow których używałem:

 
  //1.
  Zrodlo:=Fox.OleObject.Document.documentElement.innerHTML;
  //2.
  Zrodlo:=Fox.OleObject.Document.body.innerHTML;

Czy zna ktoś sposob którym moglbym tego dokonać?

0

nie wiem, ale jeśli da się pobrać źródło w ten sposób to document powinno być pisane małą literą

0

Document nie musi byc pisany z malej litery. Wydaje mi sie ze sposob drugi jest bardziej prawidlowy. Po wykonaniu drugiej funkcji wyskakuje komunikat:

"Niezarejestrowana biblioteka"

0

jeżeli chcesz pobierać źródło z netu to polecam TIdHTTP.
jako efekt żądania zwraca śliczne źródełko w formacie tekstowym...

0

Uzywalem tego juz ale tym razem zalezy mi na polaczeniu wyswietlania kodu z wygladem strony a przy odswierzaniu interesujacej mnie strony aplikacja po stronie serwera generuje kod ktory za kazdym razem wyglada inaczej. W WebBrowserze mi sie to udawalo ale musze wyeliminowac klikniecia przy wejsciach na strone. Moze ktos wie jak je wylaczyc? Szukalem tego sporo czasu ale nigdzie nic nie znalazlem.

0

Ale po co się męczyć? Wystarczy wpisać:

Mozilla.Navigate('view-source:http://google.pl');

Oczywiście Mozilla to twoja kontrolka, a google.pl zastępujesz swoim adresem ;)

0

Ciekawa opcja. Ale niestety musze się dobrać do tego kodu html i potrzebuje funkcji która go zwraca. Czy ktoś zna inny sposób?

0

dobra, zainteresowałem się trochę tematem i okazało się że to proste jak budowa cepa i można pobrać dokładnie w ten sam sposób w który powinno się pobierać także ze "zwykłego" WebBrowsera, czyli:

uses msHTML;

var dokument: IHTMLDocument2;
begin
  dokument := MozillaBrowser.Document as IHTMLDocument2;
  Memo1.Text := dokument.body.innerHTML;
end;

lub krócej oczywiście:

Memo1.Text := IHTMLDocument2(MozillaBrowser.Document).body.innerHTML;
0

Wielkie dzięki za ten kod. ;] Znalazlem cos podobnego na niemieckim forum tylko element w uses mial cos jeszcze dopisane i sie nie chcialo odpalic. Co ciekawe kod html ktory otrzymuje nie jest identyczny z tym ktory mozna zobaczyc w firefox czy tez ie, zmiany ulegaja niektore wlasciwosci elementow html np: <A id=aa na <a id="aa" no ale to nie stanowi zadnego problemu.

Mam jeszcze 2 pytania, jak usunac komunikat "Security Warning" podczas wysylania danych na stronie poprzez $_GET?

Jak (to jest bardziej istotne) wyłączyć ostrzeżenie o tym że dana strona chce przekierowac użytkownika na inną? Wyswietla sie wtedy komunikat na szarym tle (taka przejsciowa strona html) ktory informuje o tym na jaką strone mam zostac wyslany i z jakiej strony mnie przekierowuje.

Sory za te wszystkie pytania ale nigdzie nie moge nic na ten temat odszukac.

0

wydaje mi się że można szukać zdarzenia odpowiedniego, najlepiej spróbować zrobić własną procedurą dla każdego zdarzenia (w której nie będzie nic, albo będzie tylko Cancel := false czy coś takiego)

1 użytkowników online, w tym zalogowanych: 0, gości: 1