AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Über TWebBrowser Java Link klicken
Thema durchsuchen
Ansicht
Themen-Optionen

Über TWebBrowser Java Link klicken

Ein Thema von klaus9 · begonnen am 11. Dez 2011 · letzter Beitrag vom 26. Dez 2011
Antwort Antwort
klaus9

Registriert seit: 4. Dez 2011
123 Beiträge
 
#1

Über TWebBrowser Java Link klicken

  Alt 11. Dez 2011, 20:33
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
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Über TWebBrowser Java Link klicken

  Alt 11. Dez 2011, 20:48
Auf meiner Webseite sind Java funktionen, ...

<a class="linkButton" href="javascript:void(false);"
Was denn nun? Java oder JavaScript?

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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
klaus9

Registriert seit: 4. Dez 2011
123 Beiträge
 
#3

AW: Über TWebBrowser Java Link klicken

  Alt 11. Dez 2011, 21:16
Hi nein das ist leider nicht meine webseite, sondern die meines auftraggebers.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Über TWebBrowser Java Link klicken

  Alt 11. Dez 2011, 22:05
Hi nein das ist leider nicht meine webseite, sondern die meines auftraggebers.
Dann solltest du diesem erklären das eine API-Schnittstelle die sinnvollere Lösung ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
klaus9

Registriert seit: 4. Dez 2011
123 Beiträge
 
#5

AW: Über TWebBrowser Java Link klicken

  Alt 12. Dez 2011, 06:58
Werden die leider nicht machen. Deshalb muß ich es irgendwie anders hinbekommen ..
  Mit Zitat antworten Zitat
klaus9

Registriert seit: 4. Dez 2011
123 Beiträge
 
#6

AW: Über TWebBrowser Java Link klicken

  Alt 26. Dez 2011, 13:44
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;
mylinklevariant;
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

&nbsp;&nbsp;

(<a href="javascript:void(false);" onclick="toggleCheckboxes('auftragGroup', true);">Alle auswählen</a>&nbsp;/&nbsp;
<a href="javascript:void(false);" onclick="toggleCheckboxes('auftragGroup', false);">Auswahl entfernen</a>)

&nbsp;&nbsp;

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ß
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 23:15 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