Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1696to1700
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

Firefox Automation failed

Firefox Automation failed
09.06.2019 21:42:24
Marc
Hallo Forumsgemeinde,
da Yahoo-Finance seit heute aus mir unerfindlichen Gründen bestimmte Inhalte im IE 11 nicht mehr anzeigen will muss ich meine Webscraper nun umschreiben auf Firefox (Version 67.0.1 / 64 Bit).
Ich habe also Selenium installiert (Selenium Basic 2.0.9.0)und ich habe das Selenium IDE Add-on für Firefox installiert.
Mit folgendem Code möchte ich nun via VBA den Browser (Firefox Version 67.0.1 / 64 Bit)steuern aber es will nicht klappen:
Sub AutomateFirefox()
Dim driver As New FirefoxDriver
driver.Get "https://www.google.com"
driver.Window.Maximize
End Sub
Ich habe in verschiedenen Foren bereits gelesen, dass es Probleme geben kann wenn der Treiber und die Browser-Version nicht zusammen passen aber ich habe keine Ahnung ob das wirklich das Problem ist und welche Versionen zusammen laufen.
Ich bekomme folgende Fehlermeldung:
Firefox failed to open the Listening Port 127.0.0.1 ... 
Hat jemand eine Ahnung welche Versionen zu empfehlen sind oder wo das Problem liegt? Ich würde ggf. auch auf Chrome umsteigen, Hauptsache ich habe einen Browser, den ich via VBA steuern kann.

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Firefox Automation failed
09.06.2019 22:07:46
Marc
Nachtrag: Ich bin nun etwas schlauer geworden und habe herausgefunden, dass Firefox seit Version 55 nicht mehr mit Selenium kompatibel ist aufgrund von Anpassungen in Firefox. Der neue Treiber namens "Marionette" wird von Selenium wohl nicht unterstützt.
Allerdings funktioniert der oben genannte Code auch mit Google Chrome nicht wenn ich statt dem FireFoxdriver den ChromeDriver benutze.
Folgende Fehlermeldung erscheint:
Userbild
Wieso funktioniert der Zugriff auf Chrome ebenfalls nicht? Gab es hier ebenfalls Anpassungen?
Ich wäre glücklich über einen Tipp mit was ich arbeiten kann denn der IE fällt von nun an vollständig aus zum Webscrapen.
Weiß jemand wie man den Marionette Driver von Firefox über VBA ansprechen kann?
Anzeige
AW: Firefox Automation failed
10.06.2019 08:54:18
Martin
Hallo Marc,
ich finde es auch sehr schade, dass die Browser-Ansteuerung immer schwieriger wird und teilweise überhaupt nicht mehr mit VBA möglich ist. Früher konnte über der Microsoft Internet Explorer sehr bequem über die Objekt-Bibliothek angesteuert werden, aber beim Nachfolger-Browser Microsoft Edge geht das nicht mehr. Bei FireFox geht nun Selenium nicht mehr. Die einzige Möglichkeit an Daten aus Websites noch heranzukommen ist das direkte Auslesen und Auswerten des Quellcodes. Aber durch moderne Webtechnologien wie AJAX ist es nun auch hier teilweise unmöglich an Daten heranzukommen, die erst durch Interaktionen mit der Website nachgeladen werden werden.
Viele Grüße
Martin
Anzeige
AW: Firefox Automation failed
10.06.2019 10:12:22
Marc
Hallo Martin,
was meinst Du mit "den Quellcode direkt auslesen"? Ist der Quellcode nicht der HTML-Code? Und lesen wir mit VBA üblicherweise nicht den Quellcode aus?
Wie sieht es denn mit Chrome aus? Weshalb lässt sich das nicht mehr über Selenium steuern?
VG,
Marc
AW: Firefox Automation failed
10.06.2019 10:58:43
Martin
Hallo Marc,
ja klar kann der Quellcode recht einfach ausgelesen werden:

Sub ShowSourceCode()
Debug.Print URLGet("https://www.google.de")
End Sub
Function URLGet(URL)
Dim HTTP As Object
Set HTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")
HTTP.Open "GET", URL, False
HTTP.Send
URLGet = HTTP.responseText
End Function
Aber muss du den ganzen Code auswerten um an die gewünschten Informationen heranzukommen. Damals beim Internet Explorer konntest du via Objektbibliothek direkt die Objekte (Tables, Formularfelder usw.) ansprechen und mit der Website interagieren (Formulare absenden und das Ergebnis auswerten).
Viele Grüße
Martin
Anzeige
AW: Firefox Automation failed
10.06.2019 11:08:51
Marc
@Martin,
ich gehe davon aus was Du da beschreibst stellt einen sogenannten HTTP-Request dar. Grundsätzlich stellt sich mir die Frage ob ich mit Hilfe eines solchen alle Elemente einer HTTP-Dom Struktur ansprechen kann, so wie zuvor mit Hilfe des Internet Explorer. Ist das möglich?
Übrigens, "damals" ist bei mir genau zwei Tage her. Da hat alles noch einwandfrei funktioniert. =D
Gruß,
Marc
AW: Firefox Automation failed
10.06.2019 11:44:39
Martin
Hallo Marc,
falls du noch den alten Internet Explorer installiert haben solltest, dann setze in der VBA-Umgebung einen Verweis auf "Microsoft Internet Controls" und "Microsoft HTML Object Library" (ich arbeite bevorzugt mit Early Binding statt Late Binding) und siehe mit der Funktionstaste "F2" unter "MSHTML" in die Objektbibliothek. Da findest du die von dir bezeichneten "Elemente einer HTTP-Dom Struktur".
Das war noch ein bwequemes Arbeiten...
Ich bin nur auf Firefox und Selenium ausgewichen, wenn der Internet Explorer mit einer Website nicht klargekommen ist.
Mit Chrome habe ich in Verbdindung mit VBA noch nie gearbeitet, da fehlt mir die Erfahrung.
Die von dir bezeichneten "Elemente" im per HTTP-Request ausgelesenen Quellcode kannst du nur ansprechen, wenn du diesen unter Verwendung der "Microsoft HTML Object Library" einem HTMLDocument zuweist.
Viele Grüße
Martin
Anzeige
AW: Firefox Automation failed
10.06.2019 11:54:56
Marc
@Martin:
Ich interpretiere das hoffentlich richtig. Man kann also den Quellcode (die DOM-Struktur der Seite) mit Hilfe eines HTTP-Request genauso einem MSHTMLDocument zuweisen wie man das mit Hilfe des Internet Explorer zuvor auch tun konnte?
VG,
Marc
AW: Firefox Automation failed
10.06.2019 12:22:24
Martin
Hallo Marc,
ja, genau das meinte ich. Hab mal schnell gegoogelt, hier scheint es auf den ersten Blick ganz gut beschrieben zu sein:
https://www.ozgrid.com/forum/forum/tip-tricks-code/131943-vba-retrieve-internet-explorer-html-web-table
Mit Hilfe des Forenarchivs und Google wirst du garantiert noch zahlreiche Infos finden. Ich muss jetzt leider los und bin frühstens am späten Abend wieder online.
Viel Erfolg!
Martin
Anzeige
AW: Firefox Automation failed
12.06.2019 07:23:14
Martin
Hallo Marc,
und, hat du es hinbekommen? Rückmeldung wäre auch für andere Forenmitglieder nett!
Viele Grüße
Martin
AW: Firefox Automation failed
12.06.2019 07:47:42
Marc
Guten Morgen Martin,
ich kam leider nicht dazu bis jetzt aber Du bekommst auf jeden Fall noch Rückmeldung.
Was ich bis jetzt auf jeden Fall gelernt hab ist, dass man via Http Request alles in ein Objekt packen kann was man vorher im Browser als Link öffnen konnte. Somit sollte der Http Request mein Makro retten.
Soweit schonmal ganz herzlichen Dank.
Beste Grüße,
Marc
AW: Firefox Automation failed
15.06.2019 10:23:29
Hajo_Zi
Hallo Marc,
offen bedeutet es soll noch eine Antwort kommen.
Warum ist dein Beitrag Offen.
Du willst doch was machen. Soll jemand vorbei kommen?

Anzeige
AW: Firefox Automation failed
15.06.2019 10:55:22
Marc
Hallo Hajo,
ich habe leider nicht immer Zeit die Tipps sofort in die Tat umzusetzen, hatte aber bereits auf Martin's Nachricht mitgeteilt, dass auf jeden Fall eine Antwort kommt sobald ich soweit bin.
Sollte kein Problem sein oder?
Danke für Dein Verständnis und Gruß,
Marc
AW: Firefox Automation failed
15.06.2019 11:03:18
Hajo_Zi
da hast Du aber ein Problem, da morgen der Beitrag aus dem FGorum ist vermute ich mal.
Gruß Hajo
AW: Firefox Automation failed
15.06.2019 12:25:11
Marc
Und woran liegt das? Gibt es eine Zeitvorgabe wie lange ein Beitrag offen sein darf ohne Antwort?
Programmieren ist eine zeitintensive Sache, wie jeder hier weiß. Und als Berufstätiger hab ich nicht die Zeit permanent an meinem Code zu arbeiten.
Gruß,
Marc
Anzeige
AW: Firefox Automation failed
15.06.2019 12:32:37
Hajo_Zi
Hallo Narc,
die Regel hat der Forumsbetreiber festgelegt. Wie Du Antworten kannst, wenn Beitrag aus dem Forum ist kennst Du ja, da Du nach 6 Tagen Rückmeldung gibst.
Gruß Hajo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige