![]() |
Über TWebBrowser Java Link klicken
Hallo,
ich habe folgendes Problem, ich möchte gerne für meine Webseite ein automatisches Dispo Tool schreiben. Komme soweit auch sehr gut weiter. Derzeit hänge ich aber an einem Problem. Ich kann nun mittels TWebBrowser fast alle Links ansteuern über WebBrowser.OleObject.Document. z.B. über Links oder andere. Auf meiner Webseite sind Java funktionen, die ich leider nicht ansprechen kann. Teile des HTML Codes. <a class="linkButton" href="javascript:void(false);" onclick="togglePanel(this,'advancedFilterPanel','E rweiterte Filter einblenden','Erweiterte Filter ausblenden');"> Erweiterte Filter einblenden </a> Wenn ich im Web bin und auf "Erweiterte Filter einblenden" klicken kann ich das Datum einstellen.. Nur ich schaffe es nicht, das Delphi auf dieses Feld "Erweiterte Filter einblenden" klickt. Habe auch mal versucht den Link direkt anzusprechen nur zeigt mir der Browser nur "javascript:void(false)" an. Hat jemand eine Lösung für mein Problem ? Was ich ebenfalls nicht ansteuern kann da Java ist folgender teil des HTML Code <tr onclick="$('#list_entry_1').triggerHandler('click' );"> <tr onclick="$('#list_entry_2').triggerHandler('click' );"> usw. Vielleicht hat ja irgendjemand einen Tipp für mich Danke |
AW: Über TWebBrowser Java Link klicken
Zitat:
Wenn es deine Webseite ist: Wieso stellst du nicht ein vernünftiges JSON oder wenn es sein muss ein SOAP-Interface bereit über den du das vernünftig erledigen kannst. Sowas über die HTML-Ergebnis zu versuchen ist umständlich und fehleranfällig. |
AW: Über TWebBrowser Java Link klicken
Hi nein das ist leider nicht meine webseite, sondern die meines auftraggebers.
|
AW: Über TWebBrowser Java Link klicken
Zitat:
|
AW: Über TWebBrowser Java Link klicken
Werden die leider nicht machen. Deshalb muß ich es irgendwie anders hinbekommen ..
|
AW: Über TWebBrowser Java Link klicken
Gibt es denn noch Befehle um eine Möglichkeit zu schaffen die Javascripts anzusteuern.
habe schon viele möglichkeiten probiert. Webbrowser1.Navigate('javascript:void(true)' ); oder mit WebBrowser1.OleObject.Document.Forms.item(0).eleme nts.item(xx).click; Nur gibt es leider diesen Button nicht als Zahl, habe alle 1-130 durch geklickt. oder mit folgendem Code var link,s:string; I:integer; mylink:olevariant; begin s:=''; mylink:=''; for I := 0 to WebBrowser1.OleObject.Document.links.Length - 1 do begin s:=WebBrowser1.OleObject.Document.links.Item(I).In nerText; if s='Alles auswählen' then mylink := WebBrowser1.OleObject.Document.links.Item(I); end; webbrowser1.Navigate(mylink); funktioniert leider auch nicht.. auch mit folgendem komme ich nicht zum ergebnis WebBrowser1.OleObject.document.getElementById('adv ancedFilterPanel').elements.item(1).click; habe noch was im internet gefunden funktioniert aber leider auch nicht procedure TForm1.Button1Click(Sender: TObject); var ovElements: OleVariant; i: Integer; begin ovElements := WebBrowser1.OleObject.Document.Forms.Item( 0 ).Elements; for i := 0 to ( ovElements.Length-1 ) do if ( AnsiUpperCase( ovElements.Item( i ).tagName ) = 'INPUT' ) then if ( AnsiUpperCase( ovElements.Item( i ).type ) = 'SUBMIT' ) or ( AnsiUpperCase( ovElements.Item( i ).type ) = 'BUTTON' ) then if ( ovElements.item( i ).Value = 'Some text' ) then ovElements.Item( i ).Click; end; Hmm bei mir habe ich im Code stehen <a class="linkButton" href="javascript:void(false);" onclick="togglePanel(this,'advancedFilterPanel','E rweiterte Filter einblenden','Erweiterte Filter ausblenden');"> Erweiterte Filter einblenden </a> <br/><br/> <div id="advancedFilterPanel" style="display:none;"> <input type="hidden" value="false" name="advancedFilterPanel:isVisibleInput" id="advancedFilterPanel_isVisibleField"/> Diesen müßte ich ansteuern. Ein weiteres Problem habe ich weiter unten auf der HTML Seite (<a href="javascript:void(false);" onclick="toggleCheckboxes('auftragGroup', true);">Alle auswählen</a> / <a href="javascript:void(false);" onclick="toggleCheckboxes('auftragGroup', false);">Auswahl entfernen</a>) Ich müßte irgendwie auf das (<a href="javascript:void(false);" onclick="toggleCheckboxes('auftragGroup', true);">Alle auswählen</a> klicken.. Habe mir auch mal eine Listbox gemacht die mir alle Links raussucht auf der Webseite und die man über die Listbox auch anklicken kann, aber leider funktionieren Javascripts nicht darüber :-( Hat jemand eine Idee ? Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 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