Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Twebbrowser daten aus <td class"xyzx"> auslesen (https://www.delphipraxis.net/109568-twebbrowser-daten-aus-td-class-xyzx-auslesen.html)

Blackstar 3. Mär 2008 19:35


Twebbrowser daten aus <td class"xyzx"> ausle
 
Auf einer Webseite liegt eine tabelle

so Zb:
Zitat:

<td class="yfnc_tabledata1">Hallo</td>
<td class="yfnc_tabledata1">132</td>
<td class="yfnc_tabledata1"> 3 Mrz</td>
wie kann ich mit dem Webbrowser eines dieser elemente auslesen? (oder mit einer anderen Delphi komponente)

konnte mit den anderen sachen im forum nicht wirklich was anfangen

alleinherrscher 3. Mär 2008 19:39

Re: Twebbrowser daten aus <td class"xyzx"> a
 
Es gibt bei den Indy Komponenten die komponente idHTTP, damit kannst du dir Internetseiten als ASCII Text runterladen

ansonsten sollte dir das hier helfen:

http://www.delphipraxis.net/internal...ghlight=idhttp

marabu 3. Mär 2008 20:57

Re: Twebbrowser daten aus <td class"xyzx"> a
 
Hallo,

so kannst du eine Seite laden:

Delphi-Quellcode:
WebBrowser.Navigate('http://www.membranetransport.org/protein.php?pOID=bsub1&pSynonym=YfnC');
Wie du an die einzelnen Zelleninhalte der HTML-Tabelle kommst, kannst du im Thread HTML-Tabelle einlesen nachlesen.

Freundliche Grüße

Blackstar 3. Mär 2008 21:12

Re: Twebbrowser daten aus <td class"xyzx"> a
 
bin wohl zu blöd aber der thread hilft mir nicht weiter, verstehe nicht wie ich die funktion "GetDocument" benutze und die weiteren funktionen...... :wall:


vllt kannst es mir an nem beispiel verdeutlichen

ich hab die url in der variable URL gespeichert und die tabelle heißt "table"

und starten kann ichs auchnichtmehr...

Delphi-Quellcode:
[Error] Unit1.pas(28): Undeclared identifier: 'TStringGrid'
[Error] Unit1.pas(151): Undeclared identifier: 'TIdHTTP'
[Error] Unit1.pas(153): Undeclared identifier: 'Get'
[Error] Unit1.pas(154): Undeclared identifier: 'LoadDocument'
als uses habe ich zusätzlich: MSHTML, ActiveX, WinInet

mkinzler 3. Mär 2008 21:42

Re: Twebbrowser daten aus <td class"xyzx"> a
 
Zusätzlich zu was? Es fehlt wohl Classes, idHttp

Blackstar 4. Mär 2008 12:34

Re: Twebbrowser daten aus <td class"xyzx"> a
 
trotzdem weiß ich immernoch nciht wie ich die funktionen aus diesem thread: http://www.delphipraxis.net/internal...t.php?t=105466
benutze

marabu 5. Mär 2008 20:38

Re: Twebbrowser daten aus <td class"xyzx"> a
 
Hallo,

die besten Fragen können mit Ja oder Nein beantwortet werden - die sind dann aber tendenziell etwas ausführlicher als deine.
Deine Frage hat ein sehr schlechtes Aufwandsverhältnis: Du fragst knapp und unpräzise und ich muss ellenlange Antworten schreiben. Das ist nicht fair.

Kannst du nicht beschreiben womit du konkrete Probleme hast?

Schreibe jetzt bitte nicht "Delphi" ...

Freundliche Grüße vom marabu

cherry 24. Mai 2008 18:02

Re: Twebbrowser daten aus <td class"xyzx"> a
 
hi @ all...
ich glaub ich hab dasselbe problem wie BlackStar. Die Funktion LoadDocument() gibts anscheinend nicht bei mir... und deshalb kann das Programm nicht kompilliert werden...

Ich verwende folgende Units:

Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, MSHTML, ActiveX, IdHTTP;
in welcher Unit versteckt sich nun die Funktion LoadDocument? hab wohl noch eine Unit in den uses zu adden, aber welche?

marabu 24. Mai 2008 18:21

Re: Twebbrowser daten aus <td class"xyzx"> a
 
Hallo,

wenn du den in den Beiträgen #3 und #6 verlinkten Thread anschaust, dann findest du dort im Beitrag #2 einen Hinweis darauf, wo du dir LoadDocument() besorgen kannst: klick

Freundliche Grüße

cherry 24. Mai 2008 19:04

Re: Twebbrowser daten aus <td class"xyzx"> a
 
hehe, danke! und noch für die die ebenfalls eine erfolgslose Suche hinter sich haben:

Delphi-Quellcode:
procedure TForm1.ProcessMessages;
var
  Msg: TMsg;
begin
  if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then begin
    TranslateMessage(Msg);
    DispatchMessage(Msg);
  end;
end;

function TForm1.LoadDocument(doc: IHTMLDocument2; s: TStream): Boolean;
var
  sa: IStream;
begin
  if Assigned(doc) then
  begin
    s.Position := 0;
    sa := TStreamAdapter.Create(s, soReference);
    with doc as IPersistStreamInit do
    begin
      InitNew;
      Result := Succeeded(Load(sa));
    end;
  end else Result := false;
  if Result then
    while doc.readystate <> 'complete' do
      ProcessMessages;
end;
und allen ein schönes Wochenende!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz