Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1916to1920
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

Webformular automatisiert befüllen. VBA

Webformular automatisiert befüllen. VBA
08.02.2023 14:55:56
Erik
Hallo zusammen, ich habe auf Youtube dieses Video gefunden https://www.youtube.com/watch?v=9nwLbZfmjNo und konnte mir damit bereits den Login-Vorgang auf einer Webanwendung automatisieren. Ich möchte jetzt einen Button anklicken der aber hinter einem Roll-Over Button liegt. Dieses bekomme ich im Browser durch Untersuchen und dem auselesen des XPath "Select an element in the page to inspect it" nicht hin. Ich kann den Button nicht auswählen konnte aber aus dem Quelltext die ID ermitteln: id="ctl00_ServiceMenun10" Wie muss der Befehl in Selenium richtig heißen? bot.FindElementById("ctl00_ServiceMenun10").Click funktioniert nicht mit der Fehlermeldung: Laufzeitfehler 11 ElementNotVisibleError Element not interactable Session Info: chrome=109.0.5414.120 Driver Info: chromedriver=109.0.5414.74 Wäre super, wenn mir jemand helfen könnte. Vielen Dank und Gruß Erik Userbild

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Webformular automatisiert befüllen. VBA
08.02.2023 22:54:19
Yal
Hallo Erik,
das Element kann zwar gefunden werden, aber ist nicht "klickbar". Es kann verschiedene Ursache haben. Meistens ist es durch einen anderen sichtbare Element bedeckt. Es kann auch sein, dass das Element zwar da ist, aber nicht aktiv: ein "ok", der aktiv wird, wenn erst etwas eingegeben werden.
Es ist kaum möglich, aus der gegebenen Beschreibung eine genaue Analyse zu machen.
Ich habe einmal folgendes erlebt: das Browser war nicht breit genug, sodass die Menüleiste nicht auf eine Zeile, sondern auf 2. Wenn der erste Menüelement geoffnet wurde, war der erste Eintrag in Untermenü nicht über der Menüelement, der als erste in zweiter Zeile sondern darunter. Spricht, es war im Html vorhanden und ausfindbar, aber nicht anklickbar.
Ich hoffe, ich könnte Dir behilflich sein.
Die Tutorials von WiseOwl fand ich gut und ausführlich (die Links zur Selenium-Library sind aber veraltet. Aber die hast Du ja schon):
https://www.wiseowl.co.uk/vba-macros/videos/vba-scrape-websites/selenium-get-started/
VG
Yal
Anzeige
AW: Webformular automatisiert befüllen. VBA
09.02.2023 10:30:00
Erik
Hallo nochmal,
eventuell kommst Du hiermit weiter.
Der Button ließ sich über den Internet Explorer ansprechen.
Der Code dazu war:
Do
On Error Resume Next
Set nodePartsMenu = ie.Document.getElementById("ctl00_ServiceMenun10").getElementsByTagName("a")(0)
On Error GoTo 0
Loop While nodePartsMenu Is Nothing
nodePartsMenu.Click
Allerdings wurde der Internetexplorer diese Woche deaktiviert und jetzt müsste das ganze unter Selenium laufen.
Eventuel hilft der alte Code...
LG
Erik
AW: Webformular automatisiert befüllen. VBA
09.02.2023 11:30:41
Yal
Hallo Erik,
warum machst Du dann jetzt
.FindElementById("ctl00_ServiceMenun10").Click 
wenn es vorher erfolgreich
.getElementById("ctl00_ServiceMenun10").getElementsByTagName("a")(0).Click
war?
Ich würde ebenfalls wie die alte Version eine Objekt-Variable zuweisen und auf die Variable den Click setzen.
Falls ein Do .. Loop erforderlich wäre, 2 Tipps: einen DoEvents und/oder eine Wait (0,05 Sek) dazwischen und eine Fallschirmklausel, spricht eine Variable ("fsk") pro Schleife incrementieren und falls diese Variable > 100.000 (abhängig von Wait-Zeit) den Loop abbrechen. Sonst riskierst Du eine endlose Schleife.
Der DoEvents allein ermöglicht die Unterbrechung durch Strg+Break, lässt aber dein fsk sehr schnell die Grenzwert erreichen.
VG
Yal
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige