Selenium auf Uberspace

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
christheturtle
User
Beiträge: 42
Registriert: Sonntag 29. September 2019, 12:36

Hallo ihr Lieben,

hat hier schon mal jemand Selenium auf Uberspace zum Laufen gebracht? Ich verzweifle seit Stunden daran. Für Selenium muss man ja die Chromedriver-Datei in PATH ablegen. Das funktioniert jedoch nicht, weil man keine Zugriffsrechte auf den Ordner hat, wo Python und Selenium installiert sind.

Habt ihr eine Idee? Ich habe es übrigens auch mithilfe von relativen Pfaden probiert, dann jedoch bekomme ich einen Berechtigungsfehler, siehe unten.

Code: Alles auswählen

from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(executable_path='/home/schmalin/', options=chrome_options,  service_args=['--verbose', '--log-path=/Users/Chris/chromedriver.log'])

driver.get('https://google.com')
print(driver.title)
Fehler:

Code: Alles auswählen

selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable may have wrong permissions.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das ist ja auch kein Pfad zu einem executable. Sondern zu einem Verzeichnis. Wenn man das probiert als Programm zu starten, gibt’s halt einen Permission error. Relativ ist der Pfad auch nicht. Und irgendwie passte der log-path vom Muster her auf einen Mac, nicht ein Linux System.
christheturtle
User
Beiträge: 42
Registriert: Sonntag 29. September 2019, 12:36

Danke dir! Ich habe den Log-Teil mal rausgeschmissen und den executable-Pfad mal direkt auf die Datei verweisen lassen. Die Fehlermeldung bleibt unverändert... :3

Code: Alles auswählen


from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(executable_path='/home/schmalin/chromedriver', options=chrome_options)

driver.get('https://google.com')
print(driver.title)

__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ist das ein executable? Kannst du das von Hand ausführen?
Benutzeravatar
__blackjack__
User
Beiträge: 13937
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Man braucht dazu ja auch noch Chrome oder? Und funktioniert das überhaupt ”headless”?
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
christheturtle
User
Beiträge: 42
Registriert: Sonntag 29. September 2019, 12:36

Danke euch. Ein Update dazu: Es ist wie __blackjack__ schon meinte: Man braucht noch Chrome. Habe zur Installation aber leider nicht die nötigen Rechte bei Uberspace. Gehe jetzt deshalb einen anderen Weg und löse mein Problem über eine Api, ganz ohne Selenium. :)
Antworten