AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Prüfen ob ein OleVariant verfügbar ist?
Thema durchsuchen
Ansicht
Themen-Optionen

Prüfen ob ein OleVariant verfügbar ist?

Ein Thema von SearchBot · begonnen am 20. Nov 2018 · letzter Beitrag vom 21. Nov 2018
 
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
272 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Prüfen ob ein OleVariant verfügbar ist?

  Alt 20. Nov 2018, 15:40
Delphi-Version: 10.1 Berlin
Hallo,

ich mache gerade mit dem TWebbrowser herum.

Ich möchte auf einer Webseite die Werte bestimmter IDs abfragen. Diese stehen nicht immer in in der Tag-Eigenschaft 'value', sondern auch mal im Text selbst.
Um die richtige Auswahl zu treffen, sage ich der Function, von wo ich den Wert haben möchte.
Ich taste mich langsam vor, ob es einen Bezug auch wirklich gibt - oder muss ich mir keine Gedanken machen?

Jetzt knallt mir der Debugger aber so "EVariantInvalidOpError" um die Ohren (ungültige Variantenoperation) - das Konzept mit den Varianten oder OleVarianten ist mir nur vage geläufig

Letzter Stand von meines Try'n'Error:

Delphi-Quellcode:
 function GetById(id:string; by:shortstring):string;
 var V:Variant; O:OleVariant;
 begin
  result:='';
  V:=Form1.Webbrowser1.OleObject; //will zunächst wissen, ob nachfolgende Abfragen Sinn machen
  if V<>NULL then begin //geht nicht mit NULL, auch nicht mit NIL, auch nicht mit 0 - ja wie denn dann?
     O:=V.Document; //Document überhaupt da?
     if O<>Null then O:=V.Document.GetElementById(id); // dann nach der Id sehen
     if (O<>Null) then begin
      if by='innerTextthen result:=O.innerText;
      if by='value'     then result:=O.value;
      if by='innerHTMLthen result:=O.innerHTML;
     end;
  end;
 end;
Gibt es nebenbei auch eine elegantere Möglichkeit auf die HTML-Objekteigenschaften zuzugreifen anstelle meiner "if by=.. then.."-Abfragen? Irgendwie so O.object['value']?
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz