Selenium lädt URL nicht

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich möchte gerne mit Selenium eine Webseite laden.

    Jedoch wird nur der Browser (Firefox) geöffnet. Die URL wird nicht geladen. Das Eingabe Feld bleibt leer.

    Folgendes habe ich gemacht:

    1. sudo apt-get update && sudo apt-get upgrade
    2. sudo pip3 install selenium
    3. sudo install iceweasel
    4. wget (neuste Version von geckdriver LINK. Installiert habe ich "geckodriver-v0.21.0-arm7hf.tar.gz")
    5. tar -xzvf geckodriver...
    6. sudo cp geckdriver /usr/local/bin/

    Mein Code sieht folgendermaßen aus:

    Python
    from selenium import webdriver
    
    driver = webdriver.Firefox()
    driver.get("http://www.python.org")

    Führe ich den Code mit "sudo python3 test.py" aus, wird Firefox geöffnet. Jedoch lande ich auf einer leeren Seite.

    Die neuste Version von Selenium habe ich installiert.

    Ich hoffe mir kann jemand helfen.

    Niclas

  • Hallo noisefloor,

    zu 1.: Das habe ich so in einem Tutorial gelernt :conf:

    zu 2. : Habe das ganze mal ohne "sudo" laufen lassen. Hat das gleiche Ergebnis wie mit "sudo" ,

    das Firefox Fenster öffnet sich. Sonst passiert nix.

    Das ist der Code der nach dem Ausführen im Terminal steht.

    Ich glaube

    Code
    selenium.common.exceptions.WebDriverException: Message: connection refused

    steht dort, weil ich das Firefox Fenster wieder geschlossen habe. Aber sicher bin ich mir nicht.

    Niclas

  • Hallo,

    wenn du nach der Fehlermeldung googles, findest du da bergeweise Threads zu - leider scheint es mehrere Gründe für das Problem zu geben.

    Das Skript läuft doch auf einem Pi mit Display und laufendem XServer, also nicht headless, richtig?

    Auf welcher Version des Firefox basiert dein Iceweasel? Hast du das mal mit einem aktuellen Firefox getestet statt Iceweasel?

    Gruß, noisefloor

  • Ich habe mich gerade etwas schlau gemacht. Ich habe Iceweasel deinstalliert und dafür Firefox_ESR installiert. Das ist allerdings die Version 52.9.0 da die neue Version (60) nicht mehr für den Raspi Kompatibel ist.

    Dort funktioniert es auch nicht.

    Ich greife per VNC Viewer auf den Raspi zu. Aber ich habe ihn auch an einem Monitor mit Tastatur und Maus.

    Ich habe den Log von Geckodriver angeschaut. Dort steht auch das keine Verbindung besteht.

    Leider konnte ich noch keine Methode finde die mein Problem löst.

  • Ich habe das ganze jetzt mal mit Chromium Versucht.

    Chromium läuft gerade auf der Version 65.0.3325.181

    Chromedriver ist mit dieser Version kompatibel. Link zur Chromedriver Website

    Mein Code sieht jetzt so aus:

    Python
    from selenium import webdriver
    
    
    driver=webdriver.Chrome("/home/pi/chromedriver")
    driver.get('https://youtube.com/')

    Das Skript liegt unter (/home/pi/)

    Wenn ich das Skript ausführe bekomme ich folgende Error Meldung:

    Code
    Traceback (most recent call last):
      File "test.py", line 4, in <module>
        driver=webdriver.Chrome("/home/pi/chromedriver")
      File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/chrome/webdriver.py", line 68, in __init__
        self.service.start()
      File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/common/service.py", line 98, in start
        self.assert_process_still_running()
      File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/common/service.py", line 111, in assert_process_still_running
        % (self.path, return_code)
    selenium.common.exceptions.WebDriverException: Message: Service /home/pi/chromedriver unexpectedly exited. Status code was: 127

    Leider konnte ich auch hier keine Lösung finden.

    Niclas

  • Hallo,

    ich würde die Meldung "Full message: TypeError: NetworkError when attempting to fetch resource." ja so deuten, dass der Firefox keinen Zugriff auf's Netzwerk hat. Was aber komisch wäre, wenn du per VNC auf den Raspi kommst.

    Wenn du "normal" auf dem Raspi arbeitest, also Firefox öffnen und eine URL manuell aufrufen funktioniert das?

    Gruß, noisefloor

  • Ich habe mir das ganze nochmal mit Chromium angeschaut

    Ich habe mit gerade das hier nochmal angeschaut. Und mir ist aufgefallen das ich vielleicht doch die Falsche Version installiert habe.

    Ich glaube ich benötige diese :

    Allerdings bin ich mir da nicht sicher welche ich nehmen muss. Zudem habe ich ein Installation s Problem.

    Ich lade die Datei mit "wget" herunter. Und möchte sie dann mit "dpkg -i filename" installieren.

    Code
    pi@raspberrypi:~ $ sudo dpkg -i chromium-chromedriver_65.0.3325.181-0ubuntu0.14.04.1_armhf.deb 
    (Lese Datenbank ... 118172 Dateien und Verzeichnisse sind derzeit installiert.)
    Vorbereitung zum Entpacken von chromium-chromedriver_65.0.3325.181-0ubuntu0.14.04.1_armhf.deb ...
    Entpacken von chromium-chromedriver (65.0.3325.181-0ubuntu0.14.04.1) über (65.0.3325.181-0ubuntu0.14.04.1) ...
    chromium-chromedriver (65.0.3325.181-0ubuntu0.14.04.1) wird eingerichtet ...

    Allerdings weiß ich nicht wohin sie installiert wird. Die .deb Datei liegt immer noch im gleichen Verzeichnis.

    Vielleicht kann ich so mein Problem lösen in dem ich einfach Chromium benutzte. Jedoch muss das auch erstmal Funktionieren:wallbash:

    Vielleicht hat ja jemand einen Lösungsvorschlag und kann mir helfen:)

    Niclas

  • Allerdings weiß ich nicht wohin sie installiert wird. Die .deb Datei liegt immer noch im gleichen Verzeichnis.

    dpkg -c chromium-chromedriver_65.0.3325.181-0ubuntu0.14.04.1_armhf.deb

    sagt es dir. Das .deb-File bleibt immer unangetastet, es wird nur dessen Inhalt installiert.

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • dpkg -c chromium-chromedriver_65.0.3325.181-0ubuntu0.14.04.1_armhf.deb

    sagt es dir. Das .deb-File bleibt immer unangetastet, es wird nur dessen Inhalt installiert.

    Danke dir:saint:

    Das hat echt geholfen. Ich habe den PATH in "driver = webdriver.Chrome(/usr/lib/chromium-browser/chromedriver)" eingetragen und jetzt Funktionier es<3

    Zwar mit Chromium aber es läut :D

    DANKE

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!