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

Webzugriff via Selenium

Webzugriff via Selenium
08.09.2023 13:05:28
Ronald
Hallo an alle

Ich möchte gerne über mein VBA-Projekt auf eine Webseite zugreifen können. Es öffnet mir zwar den Firefox, lädt aber keine Webseite.
Stattdessen kommt die Fehlermeldung:
"Laufzeitfehler 21. TimeoutError. Firefox failed to open the listening port 127.0.0.1:61142 with 15s".

Quellcode sieht wie folgt aus:


Set bot = New WebDriver
bot.Start "firefox", strWebseite

bot.Get strWebseite

bot.Wait 5000


Verweis sollte richtig gesetzt sein, andernfalls würde ja sonst eine Fehlermeldung kommen. Hatte ich auch schon.

Hoffe, jemand kennt sich mit Selenium aus und kann mir etwas helfen.
Vielen Dank im Voraus.
Gruß Ronald

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Webzugriff via Selenium
08.09.2023 13:27:17
Oberschlumpf
Hi Roland,

ich habe NULL Ahnung von Selenium - aber ich war trotzdem mal neugierig.

Also habe ich...
...eine neue Datei erstellt
...deine Code-Schnipsel kopiert, und in einem allgem. Modul ins Sub Test() eingefügt

Und erhalte schon bei Durchführungsversuch von...
Set bot = New WebDriver

...den Fehler "Fehler beim Kompilieren - Benutzerdefinierter Typ nicht definiert"

So denke ich, auch wenn ich wohl nach deiner nächsten Antwort nicht helfen kann, dass es trotzdem erforderlich sein könnte, wenn du bitte per Upload-Funktion dieses Forums eine Excel-Bsp-Datei, mit Bsp-Daten und mindestens den erforderlichen Code zeigst, damit das Makro dann zumindest an der Stelle "hängenbleibt", wie es bei dir passiert.

Und wenn noch weitere Schritte erforderlich sind, damit es nicht zu "meinem Code-Fehler" kommt, dass du diese Schritte bitte auch erwähnst.

Ciao
Thorsten
Anzeige
Alternative zu Selenium
08.09.2023 14:22:01
Ronald
Wahrscheinlich hat bei Dir mindestens der Verweis gefehlt.

Ich habe nun eine Alternative probiert:


Sub WebseiteDurchsuchenMitSendKeys()
Dim FirefoxApp As Object
Dim URL As String
Dim strSuchbegriff As String

strSuchbegriff = CStr(lngDez)

ThisWorkbook.FollowHyperlink (strWebseite)

Application.Wait Now + TimeValue("00:00:05")

SendKeys "^f", True
Application.Wait Now + TimeValue("00:00:02")

' Senden des strSuchbegriffs
SendKeys strSuchbegriff, True

' Drücke Enter, um die Suche zu starten
SendKeys "~", True

Application.Wait Now + TimeValue("00:00:05") ' Hier 5 Sekunden warten, du kannst die Zeit anpassen

End Sub


Das hier funktioniert soweit wie es soll:
1. Es öffnet die Webseite
2. Es macht ein Suchfenster auf und läßt nach dem Suchbegriff suchen
3. Es markiert den gefundenen Suchbegriff, um ihn visuell hervorzuheben.
Das Einzige, was nun noch fehlt, ist Folgendes: Der Scrollbalken der Webseite steht immer noch ganz oben am Anfang. Jetzt sollte es noch nach unten scrollen,
an die Stelle, wo der Suchbegriff gefunden wurde, damit der Benutzer ihn auch sehen kann.

Wenn diese letzte Sache noch funktionieren würde, wäre ich sehr zufrieden :-)
Anzeige
Webzugriff via Selenium
08.09.2023 16:18:00
Yal
Hallo Ronald,

deine Selenium-Installation scheint unvollständig zu sein.
Der "Firefox Selenium IDE Addin" ist ein Add-In innnerhalb Firefox und hat mit Selenium-Steuerung über VBA nichts am Hut.
Du musst den passende Treiber für deine Firefox-Version unter
https://github.com/mozilla/geckodriver/releases/
herunterladen und in dieselbe Verzeichnis wie VBA-Selenium.

Schaue dir am besten die sehr gute Videos von WiseOwl (57.1 bis 57.8):
https://www.wiseowl.co.uk/vba-macros/videos/vba-scrape-websites/selenium-get-started/
(Schalte die Untertitel mit automatischer Übersetzung, falls dein Englisch nicht gan frisch ist. Ist aber sehr feine britisch English :-)
Achte darauf, dass die Links aus der Video, um den passende Treiber zu finden, nicht mehr aktuell sind. Aber diese lassen sich leicht googeln.

Ich habe gute Erfahrung mit Chrome gemacht, aber es sollte genauso mit FF funktionieren.

VG
Yal

Anzeige
Webzugriff via Selenium
08.09.2023 16:51:26
Ronald
Danke für den Tip. Auch hinsichtlich der Videos.
Nur leider benutze ich das Excel ja nicht alleine. Wie ist das mit all den anderen? Es wird sicherlich schwer, für jeden Benutzer (und seine benutzerspezifische PC-Konfiguration) eine angepaßte Programmierung vorzulegen. Wie kann man dies umgehen, daß es allgemein gültig funktioniert? Gibt es beispielsweise eine Möglichkeit, diese Alternative zum Laufen zu bringen? Siehe hier -->


https://www.herber.de/forum/messages/1945457.html


Ich hoffe es sehr.
Danke im Voraus.
Gruß Ronald
Anzeige
Webzugriff via Selenium
08.09.2023 17:12:33
Yal
Hallo Ronald,

ja, so ist es. Eigentlich ist Selenium-VBA nicht unbedingt für die breite Masse gedacht worden. Bei jeder neuen Version von FF musst Du die neue Treiber installieren (kann man aber mit Selenium automatisieren ;-) Aber was Du vorhast, ist für "Basiskenntnisse in VBA" ziemlich anspruchsvoll (es sei denn, Du hast Erfahrung in anderen ProgSprache).

Schaue Dir Power Query an: Menü "Daten", "Neue Abfrage", "Aus andere Quellen", "aus dem Web".
Nicht ganz easy, weil man navigieren muss, aber vielleicht kannst Du eine gezielte Stelle in der Webseite finden:
auf der Webseite rechtsklicken und "untersuchen" wählen,
in dem Bereich rechts (Beschreibung für Chrome, Firefox könnte leicht anders sein), oben links gibt es ein Symbol mit einem Mauszeiger. Einmal klicken und auf der Webseite, das Element anklicken, den Du untersuchen möchtest.
Der html-Code positioniert auf das Element, den Du lesen möchtest.
Auf dem html, an diese Stelle, rechtklicken und copy > Full Xpath (idealerweise hat das Element eine ID),
irgendwo pasten. Es ist der Link für das Element innerhalb der Webseite. Damit kannst Du in Power Query navigieren.

Viel Erfolg

VG
Yal
Anzeige
Webzugriff via Selenium
08.09.2023 17:50:04
Ulf
Aktueller FF
Version 117

d.h. den neuesten Treiber installieren und testen ob dein Basic-Wrapper abhängig von älteren Versionen => outdated
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige