Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi tWebbrowser prüfen ob element vorhanden ist ... (https://www.delphipraxis.net/111976-twebbrowser-pruefen-ob-element-vorhanden-ist.html)

n000b 12. Apr 2008 16:54


tWebbrowser prüfen ob element vorhanden ist ...
 
Hallo,
Ich möchte gerne prüfen ob im Browser der Element vorhanden ist...
also sowas in der art
Delphi-Quellcode:
if MainWebbrowser.OleObject.document.forms.item(0).elements.item('submit')=1 { (exist)} then
MainWebbrowser.OleObject.document.forms.item(0).elements.item('submit').click;
wie prüfe ich das? Danke leute, habe bei der Suche sowas nicht gefunden obwohl ich sicher bin es ist da, bloß ich weiß nicht wie man nach sowas sucht =)

Mfg

toms 12. Apr 2008 17:40

Re: tWebbrowser prüfen ob element vorhanden ist ...
 
Hallo, z.B per Hier im Forum suchengetElementsByName

n000b 12. Apr 2008 18:27

Re: tWebbrowser prüfen ob element vorhanden ist ...
 
Danke für die antwort leider habe ich es nicht geschafft die paar codes die ich dort gefunden habe zum arbeiten zu bringen^^
Delphi-Quellcode:
  if FormItem.Item(iItems).Name = FeldName then
kannst du mir bitte weiter helfen? vll etwas mit "assignet"?
Mfg

Der.Kaktus 12. Apr 2008 18:32

Re: tWebbrowser prüfen ob element vorhanden ist ...
 
Hallo,
Schau Dir doch mal das Programm Winspy 2008 beta von toms an..vielleicht hilft es Dir ja ;-)

toms 12. Apr 2008 18:45

Re: tWebbrowser prüfen ob element vorhanden ist ...
 
Zitat:

Zitat von n000b
Danke für die antwort leider habe ich es nicht geschafft die paar codes die ich dort gefunden habe zum arbeiten zu bringen^^
Delphi-Quellcode:
  if FormItem.Item(iItems).Name = FeldName then
kannst du mir bitte weiter helfen? vll etwas mit "assignet"?
Mfg

ungetestet:

Delphi-Quellcode:
if WB_SubmitFormByElement(Webbrowser1, 'submit') then // "submit" gefunden, abgeschickt;

Delphi-Quellcode:
uses
  MSHTML;

function WB_SubmitFormByElement(WB: TWebbrowser; ElementName: string): boolean;
var
  IDoc3: IHTMLDocument3;
  Inputs: IHTMLElementCollection;
  IElement: IHTMLElement;
begin
  if Assigned(WB.Document) and
    (Succeeded(WB.Document.QueryInterface(IHTMLDocument3, IDoc3))) then
  begin
    Inputs := IDoc3.getElementsByName(ElementName);
    if Assigned(Inputs) then
    begin
      IElement:= Inputs.item(0, '') as IHTMLElement;
      if Assigned(IElement) then
        (IElement as IHTMLInputElement).click;
    end;
  end;
end;

n000b 12. Apr 2008 19:24

Re: tWebbrowser prüfen ob element vorhanden ist ...
 
Wow wie macht ihr das?! ich lese die ganzen tutorials duch alles lesen lesen lesen doch am ende kann ich nix...
ich würde aber auch gerne form ausfühlen ich suchte eigentlich nach einer funktion welche mir sagt ob es dieses element gibt oder nicht...
also halt boolean 1 oder 0

gibt es nicht sowas wie
if assignet(MainWebbrowser.OleObject.document.forms.i tem(0).elements.item('Submit'))
oder if MainWebbrowser.OleObject.document.forms.item(0).el ements.item('Submit')=found
...if ElementPruefen(Mainbrowser,'form1')=1 then blabla.elemnts.items('form1').value:='text zum ausfüllen';

Vielen Dank, was wäre wenn es euch nich gäbe :roll: *schleim*

Der.Kaktus 12. Apr 2008 19:26

Re: tWebbrowser prüfen ob element vorhanden ist ...
 
Bissl Eigeninitiative..Versuche..Debugger..etc..und es gelingt..glaub mir!!!

toms 13. Apr 2008 04:35

Re: tWebbrowser prüfen ob element vorhanden ist ...
 
Zitat:

Zitat von n000b
Wow wie macht ihr das?! ich lese die ganzen tutorials duch alles lesen lesen lesen doch am ende kann ich nix...
ich würde aber auch gerne form ausfühlen ich suchte eigentlich nach einer funktion welche mir sagt ob es dieses element gibt oder nicht...
also halt boolean 1 oder 0

gibt es nicht sowas wie
if assignet(MainWebbrowser.OleObject.document.forms.i tem(0).elements.item('Submit'))
oder if MainWebbrowser.OleObject.document.forms.item(0).el ements.item('Submit')=found
...if ElementPruefen(Mainbrowser,'form1')=1 then blabla.elemnts.items('form1').value:='text zum ausfüllen';

Vielen Dank, was wäre wenn es euch nich gäbe :roll: *schleim*

Meine Funktion zuvor machte ja in in etwa genau das.
Noch ein bisschen umgeschrieben:

Delphi-Quellcode:
function WB_HTMLElementExists(WB: TWebbrowser; ElementName: string): boolean;
// Funktioniert nicht bei Frames
var
  IDoc3: IHTMLDocument3;
  Inputs: IHTMLElementCollection;
  IElement: IHTMLElement;
begin
  Result := False;
  if Assigned(WB.Document) and
    (Succeeded(WB.Document.QueryInterface(IHTMLDocument3, IDoc3))) then
  begin
    Inputs := IDoc3.getElementsByName(ElementName);
    if Assigned(Inputs) then
    begin
      IElement:= Inputs.item(0, '') as IHTMLElement;
      Result := Assigned(IElement);
    end;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:30 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-2025 by Thomas Breitkreuz