Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Login per VBA mit Firefox

Forumthread: Login per VBA mit Firefox

Login per VBA mit Firefox
20.07.2016 08:00:13
Jürgen
Hallo zusammen,
Ich suche eine Möglichkeit mit vba und Firefox mich auf einer Homepage anzumelden.
Firefox und Homepage kann ich aus Excel starten, weiß aber nicht wie ich die Felder ansprechen muß und die Daten in die Felder bekomme.
Wer kann mir da weiterhelfen?
Ein Beispiel Code würde schon helfen, glaub ich.
Bin gespannt
Gruß Jürgen
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Login per VBA mit Firefox
20.07.2016 10:49:22
Michael
Hallo Jürgen!
Nicht nur basierend auf Deiner Angabe "VBA nur mit Recorder" könnte das ein ziemliches Monsterprojekt werden (aka "Lass die Finger davon"-Projekt ;-) ). Firefox lässt sich meines Wissens nicht direkt aus VBA automatisieren, weil Firefox auch kein Teil von Windows ist und entsprechende Methoden nicht zur Verfügung stehen (im Gegensatz zum IE).
Aus meiner Sicht (ich weiß nicht wie aktuell das noch ist, aber ich glaub es ist immer noch so) benötigst Du dafür Drittsoftware um überhaupt die programmiertechnischen Möglichkeiten dafür zu haben (zB Selenium COM-Wrapper, s.u.).
Evtl. interessante Links:
- http://www.makeuseof.com/tag/how-to-automate-firefox-or-chrome-with-vba-and-selenium/
- http://florentbr.github.io/SeleniumBasic/
Habe damit aber selbst noch nicht gearbeitet, d.h. weiter kann ich hier auch nicht helfen.
LG
Michael
Anzeige
AW: Login per VBA mit Firefox
20.07.2016 11:22:24
Jürgen
Hallo Michael,
vielen Dank für die Antwort.
Das hört sich nicht gut an, ist dann aber so.
Dann gibt es dann kein automatisiertes Login mit Firefox.
Vielen Dank
Jürgen
Ja, ist leider manchmal so! owT
20.07.2016 11:59:35
Michael
AW: Login per VBA mit Firefox
20.07.2016 15:39:35
Martin
Hallo Jürgen,
standardmäßig gibt es tatsächlich keine Möglichkeit Firefox mit VBA anzusteuern. Jedoch kann diese Hürde mit einem Firefox Add-on (Selenium) überwunden werden.
Das Add-on findest du hier:
https://addons.mozilla.org/de/firefox/addon/selenium-ide-vbavbs-formatt
Die (englische) Dokumentation gibt es hier:
https://code.google.com/archive/p/selenium-vba/
Aber wie Jürgen bereits geschrieben hat, sollte dein VBA-Level höher sein. Alternativ kannst du auch die Website (natürlich OHNE die vertraulichen Login-Daten) hier posten. Vielleicht finde ich (oder vielleicht findet wer anders) die Zeit sich damit zu beschäftigen.
Viele Grüße
Martin
Anzeige
...also das was ich vorgeschlagen habe! owT
20.07.2016 16:10:07
Michael
AW: ...also das was ich vorgeschlagen habe! owT
20.07.2016 16:24:24
Martin
Hallo Michael,
da habe ich anscheinend einen Teil deiner Antwort überlesen. Um es auf den Punkt zu bringen: Ja, es ist genau das was du vorgeschlagen hast!
PS: Meine Freundin hatte unter Linux von Python aus per Selenium auf Firefox zugegriffen und recht gute Erfahrungen damit gesammelt. Ich habe bislang aus Kompatibilitätsgründen stets die COM-Schnittstelle vom MS Internet Explorer bevorzugt.
Viele Grüße
Martin
Anzeige
AW: ...also das was ich vorgeschlagen habe! owT
20.07.2016 17:16:32
Michael
Martin,
da habe ich anscheinend einen Teil deiner Antwort überlesen
...ist nicht so schlimm :-), ist mir nur aufgefallen.
von Python aus per Selenium auf Firefox zugegriffen und recht gute Erfahrungen damit gesammelt
Klingt spannend, ich habe aber eben diesbzgl. keine Erfahrungen - gebe auch zu, dass ich, sobald etwas nicht mehr nativ aus Excel heraus lösbar ist, sehr, sehr schnell nach Alternativen oder fertigen Lösungen suche ;-) bevor ich den Umweg über Drittsoftware mache (wenn schon Drittsoftware, dann kann die gleich die eigentliche Aufgabe erledigen, als mir nur in Excel die Möglichkeit zu geben, die Aufgabe zu lösen...) .
LG
Michael
Anzeige
;
Anzeige

Infobox / Tutorial

Automatisierung des Firefox-Logins mit VBA


Schritt-für-Schritt-Anleitung

Um dich mit VBA in Firefox anzumelden, benötigst du den Selenium VBA Wrapper. Hier sind die Schritte, die du befolgen solltest:

  1. Installiere den Selenium VBA Wrapper: Lade den Wrapper von der offiziellen Webseite herunter und installiere ihn.

  2. Füge das Selenium-Objekt in dein VBA-Projekt ein:

    • Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Gehe auf Einfügen und wähle Modul aus.
    • Füge den folgenden Code ein:
    Dim bot As New WebDriver
    bot.Start "firefox"
    bot.Get "https://deine-webseite.com"
  3. Finde die Login-Felder: Du benötigst die IDs oder Namen der Eingabefelder für den Login. Du kannst dies im Firefox-Web-Entwicklertools (Rechtsklick -> Untersuchen) herausfinden.

  4. Fülle die Login-Daten aus: Nutze den folgenden Code, um die Felder auszufüllen:

    bot.FindElementById("username").SendKeys "deinBenutzername"
    bot.FindElementById("password").SendKeys "deinPasswort"
  5. Klicke auf den Login-Button:

    bot.FindElementById("loginButton").Click
  6. Beende die Sitzung: Vergiss nicht, die Browser-Sitzung zu schließen, wenn du fertig bist:

    bot.Quit

Häufige Fehler und Lösungen

  • Fehler: "Element nicht gefunden": Stelle sicher, dass die IDs oder Namen der Elemente korrekt sind. Überprüfe die HTML-Struktur der Webseite.
  • Fehler: "Firefox nicht gestartet": Überprüfe, ob du die neueste Version von Firefox und den Selenium VBA Wrapper installiert hast.
  • Fehler: "Login schlägt fehl": Möglicherweise ist dein Benutzername oder Passwort falsch. Überprüfe die Eingabewerte.

Alternative Methoden

Wenn du keine Möglichkeit findest, mit VBA und Firefox zu arbeiten, gibt es einige Alternativen:

  • Python mit Selenium: Wenn du mit Python vertraut bist, kannst du Selenium verwenden, um Firefox zu automatisieren. Dies könnte einfacher sein, da Python native Unterstützung für Selenium bietet.
  • Internet Explorer: Wenn es dir möglich ist, könntest du die Automatisierung mit VBA und Internet Explorer in Betracht ziehen, da dieser besser unterstützt wird.

Praktische Beispiele

Hier ist ein vollständiges Beispiel für ein VBA-Skript, das sich in Firefox anmeldet:

Sub FirefoxLogin()
    Dim bot As New WebDriver
    bot.Start "firefox"
    bot.Get "https://deine-webseite.com"

    bot.FindElementById("username").SendKeys "deinBenutzername"
    bot.FindElementById("password").SendKeys "deinPasswort"
    bot.FindElementById("loginButton").Click

    ' Warte auf das Laden der nächsten Seite
    bot.Wait 5000

    ' Weitere Aktionen...

    bot.Quit
End Sub

Tipps für Profis

  • Verwende den Selenium Recorder: Der Selenium Recorder für Firefox kann dir helfen, die richtigen Befehle zu generieren, die du dann in dein VBA-Skript übernehmen kannst.
  • Debugging: Nutze Debug.Print in deinem VBA-Code, um zu überprüfen, welche Werte übergeben werden und ob der Code an der richtigen Stelle stoppt.
  • Fehlerbehandlung: Implementiere Fehlerbehandlung in deinem Code, um unerwartete Situationen elegant zu handhaben und das Skript nicht abstürzen zu lassen.

FAQ: Häufige Fragen

1. Kann ich Firefox ohne den Selenium Wrapper automatisieren?
Nein, standardmäßig gibt es keine Möglichkeit, Firefox direkt mit VBA zu steuern. Der Selenium Wrapper ist notwendig, um die Interaktion zu ermöglichen.

2. Gibt es eine Möglichkeit, den Code für andere Browser zu verwenden?
Ja, mit dem Selenium Wrapper kannst du auch andere Browser wie Chrome oder Edge automatisieren, indem du die entsprechenden Treiber und Anpassungen vornimmst.

3. Wo finde ich die Dokumentation für den Selenium VBA Wrapper?
Die Dokumentation ist auf der Webseite des Projekts verfügbar: Selenium VBA Documentation.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige