Gibt es eine bekannte Arbeitskonfiguration für die Verwendung von Selen auf Linux-Arm64?Python

Python-Programme
Anonymous
 Gibt es eine bekannte Arbeitskonfiguration für die Verwendung von Selen auf Linux-Arm64?

Post by Anonymous »

Ich habe ein kurzes Programm geschrieben, das einfach eine Website mit Firefox in festgelegten Intervallen eröffnet und schließt. Es läuft perfekt auf meinem Intel Mac OS Ventura. Ich wollte es auf einem Himbeer -Pi am Laufen halten, aber ich kann keine Kombination von Versionen von Selen, Geckodriver oder Chromedriver und Firefox oder Chrom finden, die darauf laufen. Der Raspberry Pi hat Ubuntu 22.04.3 LTS. Ich habe hier herausgefunden, https://github.com/seleniumhq/selenium/ISSUES/11599, dass Selenium Manager nicht unter Linux-arm64 arbeitet, und der Raspberry Pi verwendet Linux-arm-Arm64. Ich bekam Fehler, selbst als ich versuchte, auf dem Pfad zum Treiber zu codieren, wobei Selenium anmeldete, dass er keinen Fahrer finden konnte, auch wenn er auch auf dem Weg war. Es sieht so aus, als würden die Entwickler im obigen Gespräch sagen, dass der eingebaute in Selenium Manager -Treibermanager solche Fehler verursacht. Selenium Manager wurde in Selen 4.6 vorgestellt, also rollte ich zu Selenium 4.5 zurück, änderte meinen Code für diese Version, versuchte ihn auszuführen und bekam unterschiedliche Fehler, bei denen es um Inkompatibilitätsprobleme zwischen dem Treiber und der Version von Firefox ging. Ich habe verschiedene Kombinationen von ihnen ohne Erfolg ausprobiert. Dann entschied ich mich stattdessen, Chrome zu versuchen. Google bietet keinen Chromedriver-Build für Linux-Arm64, daher habe ich versucht, verschiedene Versionen zu verwenden, die hier gefunden wurden, https://github.com/electron/electron/releases sowie versuchen, Chrom zurückzudringen. Ich konnte den Chrombrowser zumindest mit dem Programm starten, was mehr Erfolg hat als mit Firefox, aber ich konnte es nicht vollständig zum Laufen bringen. Während des gesamten Prozesses habe ich viele Antworten auf Seleniumprobleme beim Stapelüberlauf gelesen, aber nichts hat geholfen.

Code: Select all

import datetime, logging, time
from selenium import webdriver

logger = logging.getLogger('selenium')
logger.setLevel(logging.DEBUG)
handler = logging.FileHandler("handler.log")
logger.addHandler(handler)
logging.getLogger('selenium.webdriver.remote').setLevel(logging.DEBUG)
logging.getLogger('selenium.webdriver.common').setLevel(logging.DEBUG)
logging.basicConfig(filename="program.log", level=logging.INFO)
timeStarted = datetime.datetime.now()
logging.info(
timeStarted.strftime("%m/%d/%Y, %H:%M:%S")
+ "   started on https://google.com"
)
# Program starts here
while True:
timeOfRequest = datetime.datetime.now()
try:
browser = webdriver.Firefox()
browser.get("https://google.com")
logging.info(
timeOfRequest.strftime("%m/%d/%Y, %H:%M:%S")
+ "   Success"
)
except:
logging.exception(
timeOfRequest.strftime("%m/%d/%Y, %H:%M:%S") + "   Something went wrong"
)
time.sleep(810)
browser.quit()
time.sleep(30)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post