Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1752to1756
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Trigger Button

Trigger Button
16.04.2020 19:23:26
Peter
Sorry hier der Quell Code
table id="btn" onclick="triggerDetailedSearch();" cellspacing="0"> Suchen
b class="urTxtStd">Suchen
Source Code (New Search)
b class="urTxtStd">Neue Suche
Source Code (Back)
b class="urTxtStd">Zurück
Und für alle 3 Buttons habe ich dies hier noch:
SEARCH
table id="btn" onclick="triggerDetailedSearch();" cellspacing="0"> Suchen
New Search
table id="btn" onclick="resetDetailedSearchForm();" cellspacing="0"> Neue Suche
BACK
table id="btn" onclick="goBack();" cellspacing="0"> Zurück/td>


13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Warum NEu?
16.04.2020 19:27:01
Hajo_Zi
AW: Warum NEu?
18.04.2020 19:30:55
Peter
Dachte der Quell Code fehlt
AW: Trigger Button
16.04.2020 20:13:08
volti
Hallo Pete,
ohne die Web-Site zu kennen und den ganzen HTML-Code im Zusammenhang ist es etwas schwierig, Deine code-Schnipsel können m.E. nicht passen. IDs darf es nur einmal geben...
Aber folgendes ist mir schon aufgefallen:
Set HTMLButtons = HTMLDoc.getElementsByTagName("btn")
Set HTMLButtons = HTMLDoc.getElementsByClass("urTxtStd").Value("Suchen")

  • Du setzt HTMLButtons, verwendest dann aber HTMLButton zum Klicken. Das passt nicht

  • Den Tagnamen "btn" gibt es nicht. Das passt nicht

  • Tagname und Classname geben eine Sammlung zurück. Es könnten ja mehrere Elemente sein. Das ist nicht eindeutig und kann daher mit .Click nicht verwendet werden.
HTMLButton.Click
1. Vorschlag:
Versuche die ID des Buttons herauszubekommen. Falls es eine gibt, kannst Du den Button dann wie folgt klicken:
Set HTMLButton = HTMLDoc.getElementByID("btnID") 'btn?
IF NOT HTMLButton Is Nothing then HTMLButton.Click

2. Vorschlag:
Ermittle, der wievielte Button (Tag=Input) der gesuchte ist und dann kannst Du mit folgendem Code z.B. für den ersten Button wie folgt arbeiten:
IE.document.all.tags("input")(1).Click
Falls es aber wirklich so ist, wie Du es zeigst, wird aus der Table selbst herausgeklickt, da könnte man ggf. noch anders vorgehen müssen oder probiere dies:
IE.document.all.tags("table")(1).Click
viele Grüße
Karl-Heinz
Anzeige
AW: Trigger Button
18.04.2020 20:28:56
Peter
Hallo Karl Heinz
hab recht herzlichen Dank für Deine rasche Antwort
Die Sache mit
Set HTMLButtons = HTMLDoc.getElementsByTagName("btn")
Set HTMLButtons = HTMLDoc.getElementsByClass("urTxtStd").Value("Suchen")
Das .. war ein untauglicher Versuch der Sache auf den Grund zu gehen.
Das lag, liegt daran
Den Tagnamen "btn" gibt es nicht. Das passt nicht (Verständnisfrage)
Was dies betrifft...
ohne die Web-Site zu kennen und den ganzen HTML-Code im Zusammenhang ist es etwas schwierig,
Glaube ich Dir sofoert.
Das liegt aber daran das es eine Firmeneigene Intranetseite ist.
Von dieser Seite brauche ich zunächst eine Information über die Suchfunktion. Beim Ergebnis kann ich dies in Form eines Excel Sheets bekommen.
Was ich dann nach einer weieren Bearbeitung in eine von mir creirte Datenbank übernehmen kann.
So mein Plan.
In der Sache selbst kann ich Dir leider noch kein Feedback geben da die Seite gerade gewartet wird.
Ich werde es jedoch nachholen sobald ich den Code testen kann.
Ich war aber auch nicht untätig.
Was ich gemacht habe um den Such Button zu triggern war folgendes
Ich habe zunächst am Anfang des Codes
Dim tbl As MSHTML.HTMLTable
eingefügt
Gegen Endes des Codes, sprich wann der Button getriggert werden soll habe ich folgendes eingegeben.
With IE.document
Set elems = .getElementsByTagName("table")
For Each e In elems
If (e.getAttribute("onclick") = "triggerDetailedSearch();") Then
e.Click
Exit For
End If
Next e
End With
Das hat aber auch nicht funktioniert.
Ich habe hier folgende Fehlermeldung bekommen
Fehler beim Kompilieren
Sub oder Function nicht definiert
was ich ... grund meines Wissenstands nicht recht verstehe
Karl-Heinz bewahr Dir weiter Deine Gesundheit als auch Optimismus
Viele Grüße,
Pete
Anzeige
AW: Trigger Button
18.04.2020 22:12:09
volti
Hallo Pete,
hier noch ein paar Gedanken:
Dim tbl As MSHTML.HTMLTable
Wozu ist das gut, wenn Du es später gar nicht verwendest?
Deine Schleife sieht zunächst mal gut aus, kann ich aber nicht testen bzgl. des Errors
Warum guckst Du nicht einfach in den Quellcode und ermittelst die Nummer der entsprechenden Table (beginnend bei 0) und nutzt eines der beiden u.a. Möglichkeiten?
  • IE.document.all.tags("table")(0).Click
  • HTMLDoc.getElementsByTagName("table")(0).Click

Auch Du bleib gesund und herzliche Grüße
KH
AW: Trigger Button
19.04.2020 10:36:01
Peter
Hallo Karl Heinz,
die Idee, der Vorschlag
Warum guckst Du nicht einfach in den Quellcode und ermittelst die Nummer der entsprechenden Table (beginnend bei 0) und nutzt eines der beiden u.a. Möglichkeiten?
IE.document.all.tags("table")(0).Click
HTMLDoc.getElementsByTagName("table")(0).Click
Ist perfekt .. nur ich finde die Ziffer nicht im Quellcode
hier der Quellcode der Buttons (Attachment)
https://www.herber.de/bbs/user/136846.txt
Viele Grüße,
Pete
Anzeige
AW: Trigger Button
19.04.2020 11:27:45
volti
Sorry Pete,
Dein geposteter Text kann unmöglich der Quelltext der auszulesenden HTML-Site sein oder wir missverstehen uns hier ordentlich.
Die Nummer findest Du natürlich auch nicht.
Ich meinte zum Beispiel folgende Vorgehensweise. Im IE-Explorer Rechtsclick auf "Quellcode anzeigen" und hier die Tags <Table> nacheinander suchen und durchzählen (beginnend bei 0) und beim gewünschten Table die ermittelte Nummer verwenden.
Ich kopiere den Quelltext oft in den Notepad-Editor und gehe über die Suchen-Funktion.
Das klappt ganz gut.
Und ich bin immer noch der Meinung, dass es auf einer Web-Site keine drei Table mit der gleichen ID "btn" geben dürfte...
Vielleicht klappt es ja jetzt.
viele Grüße
Karl-Heinz
Anzeige
AW: Trigger Button
21.04.2020 17:30:39
Peter
HI Karl Heinz,
Sorry für das etwas späte Feedback.. bei uns "brummst" ordentlich im Geschäft.
In der Sache selbst.. Nei Kein Sorry! Alles Gut! Bei mir lag der Fehler da ich mich noch nicht so gut auskenne. OK Ich hab jetzt
Im IE-Explorer Rechtsclick auf "Quellcode anzeigen" und hier die Tags
nacheinander suchen und durchzählen (beginnend bei 0) und beim gewünschten Table die ermittelte Nummer verwenden
diese Sache verstanden Danke! :-) Und Danke auch für den Tipp mit dem Notepad Editor!
Bleib weiter Gesund, bewahr Dir Deinen optimismus als auch Humor!
Viele Grüße,
pete
AW: Trigger Button
Peter

Hallo Karl Heinz,
.. also ich hab versucht Deine Idee (die KLasse ist .. nochmals Dabnke dafür) um zu setzen..
Hab die Tables gezählt. Hat aber leider nicht funktioniert. Ich hab die Daten die mir zur Verfügung stehen hier eingestellt
https://www.herber.de/bbs/user/136950.zip
Ich weiß nicht woran es liegt. :-(
Bestimmt an mir :-)
AW: Trigger Button
volti

Moin Pete,
danke für die gesendeten Ausschnitte, die sehr aufschlussreich sind, aber in der Sache nicht weiterführen. Die Dreiecke deuten mir darauf hin, dass Teile eingeklappt sind und ich nicht den gesamten HTML-Text sehen kann, geschweige das mal aufrufen könnte. (Ich weiß, es ist Intranet)
Wenn Du richtig gezählt hast, müsste es allerdings dann funktionieren, aber ich habe noch nie einen <table>-Click gemacht.
Außerdem lassen die abgerundeten Button in der Ansicht, darauf schließen, dass es eben doch <Input>-Tags sind oder Bilder. Ein Table-Ausschnitt alleine kann m.E. so nicht aussehen.
Aber weder Button noch Bilder sind aus den HTML-Ausschnitten herauszulesen.
Meine letzten größeren HTML-Aktivitäten liegen ohnehin schon 12 Jahre zurück -:)
Als letzten Versuch könntest Du mir den gesamten Quellcode als TXT-Datei hier einstellen. Vielleicht kann ich da noch was rauslesen, ansonsten kann ich leider nicht weiterhelfen.
Ich werde mal recherchieren, ob man nicht auch die js-scripts per VBA aufrufen kann. Das weiß ich nicht oder habe es vergessen.
viele Grüße
KH
AW: Trigger Button
Peter

Hallo Karl Heinz, Sorry fürs verspätete Feedback. Ich hab ne Lösung gefunden :-) Folgendes.
Bei der Declaration habe ich u.a. folgendes Deklariert
Dim HTMLInput As MSHTML.IHTMLElement
Dim HTMLElement As Object
Dim tbl As MSHTML.HTMLTable
Dim e As Object
.... Code
und hier nun das "triggern" des Buttons
Set HTMLDoc = IE.Document
Set HTMLButtons = HTMLDoc.getElementsByTagName("table")
With IE.Document
For Each e In .getElementsByTagName("table")
If (e.getAttribute("onclick") = "triggerDetailedSearch();") Then
e.Click
Exit For
End If
Next e
End With
Das funzt! In einem weiteren Schritt versuche ich jetzt das Ergebnis downzuloaden. :-) Bleib weiter Gesund! hab ein recht angenehmes WE! viele Grüße Pete
AW: Trigger Button
volti

Na das ist ja schön, Pete und danke für's Zurückmelden.
Dir auch alles Gute für die Zukunft...
VG KH
AW: Trigger Button
volti

Hallo Pete,
hier noch eine alternative Idee (leider ungetestet):

IE.document.parentWindow.execScript code:="triggerDetailedSearch()"

VG KH

b class="urTxtStd">Suchen
Source Code (New Search)
b class="urTxtStd">Neue Suche
Source Code (Back)
b class="urTxtStd">Zurück
Und für alle 3 Buttons habe ich dies hier noch:
SEARCH
table id="btn" onclick="triggerDetailedSearch();" cellspacing="0"> Suchen
New Search
table id="btn" onclick="resetDetailedSearchForm();" cellspacing="0"> Neue Suche
BACK
table id="btn" onclick="goBack();" cellspacing="0"> Zurück/td>


Anzeige
AW: Trigger Button
21.04.2020 22:08:35
Peter
Hallo Karl Heinz,
.. also ich hab versucht Deine Idee (die KLasse ist .. nochmals Dabnke dafür) um zu setzen..
Hab die Tables gezählt. Hat aber leider nicht funktioniert. Ich hab die Daten die mir zur Verfügung stehen hier eingestellt
https://www.herber.de/bbs/user/136950.zip
Ich weiß nicht woran es liegt. :-(
Bestimmt an mir :-)
AW: Trigger Button
22.04.2020 09:44:33
volti
Moin Pete,
danke für die gesendeten Ausschnitte, die sehr aufschlussreich sind, aber in der Sache nicht weiterführen. Die Dreiecke deuten mir darauf hin, dass Teile eingeklappt sind und ich nicht den gesamten HTML-Text sehen kann, geschweige das mal aufrufen könnte. (Ich weiß, es ist Intranet)
Wenn Du richtig gezählt hast, müsste es allerdings dann funktionieren, aber ich habe noch nie einen <table>-Click gemacht.
Außerdem lassen die abgerundeten Button in der Ansicht, darauf schließen, dass es eben doch <Input>-Tags sind oder Bilder. Ein Table-Ausschnitt alleine kann m.E. so nicht aussehen.
Aber weder Button noch Bilder sind aus den HTML-Ausschnitten herauszulesen.
Meine letzten größeren HTML-Aktivitäten liegen ohnehin schon 12 Jahre zurück -:)
Als letzten Versuch könntest Du mir den gesamten Quellcode als TXT-Datei hier einstellen. Vielleicht kann ich da noch was rauslesen, ansonsten kann ich leider nicht weiterhelfen.
Ich werde mal recherchieren, ob man nicht auch die js-scripts per VBA aufrufen kann. Das weiß ich nicht oder habe es vergessen.
viele Grüße
KH
Anzeige
AW: Trigger Button
24.04.2020 18:12:56
Peter
Hallo Karl Heinz, Sorry fürs verspätete Feedback. Ich hab ne Lösung gefunden :-) Folgendes.
Bei der Declaration habe ich u.a. folgendes Deklariert
Dim HTMLInput As MSHTML.IHTMLElement
Dim HTMLElement As Object
Dim tbl As MSHTML.HTMLTable
Dim e As Object
.... Code
und hier nun das "triggern" des Buttons
Set HTMLDoc = IE.Document
Set HTMLButtons = HTMLDoc.getElementsByTagName("table")
With IE.Document
For Each e In .getElementsByTagName("table")
If (e.getAttribute("onclick") = "triggerDetailedSearch();") Then
e.Click
Exit For
End If
Next e
End With
Das funzt! In einem weiteren Schritt versuche ich jetzt das Ergebnis downzuloaden. :-) Bleib weiter Gesund! hab ein recht angenehmes WE! viele Grüße Pete
Anzeige
AW: Trigger Button
24.04.2020 19:35:53
volti
Na das ist ja schön, Pete und danke für's Zurückmelden.
Dir auch alles Gute für die Zukunft...
VG KH
AW: Trigger Button
22.04.2020 10:36:57
volti
Hallo Pete,
hier noch eine alternative Idee (leider ungetestet):

IE.document.parentWindow.execScript code:="triggerDetailedSearch()"

VG KH

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige