Beim Versuch, die Verwendung von Selenium zu lernen, gelang es mir, den ersten Fehler zu überwinden, bei dem der Chrome-Treiber nicht im Pfadnamen enthalten war, es wurde jedoch ein weiterer Fehler ausgegeben.
from Selenium import webdriver
from Selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('/Users/williamneal/Scratch/Titanic/chromedriver')
driver.get("http://www.bbc.com")
Der Fehler: Traceback (letzter Anruf zuletzt):
File "<ipython-input-1-84256e62b8db>", line 5, in <module>
driver = webdriver.Chrome('/Users/williamneal/Scratch/Titanic/chromedriver')
File "/Users/williamneal/anaconda/lib/python3.5/site-packages/Selenium/webdriver/chrome/webdriver.py", line 62, in __init__
self.service.start()
File "/Users/williamneal/anaconda/lib/python3.5/site-packages/Selenium/webdriver/common/service.py", line 64, in start
stdout=self.log_file, stderr=self.log_file)
File "/Users/williamneal/anaconda/lib/python3.5/subprocess.py", line 950, in __init__
restore_signals, start_new_session)
File "/Users/williamneal/anaconda/lib/python3.5/subprocess.py", line 1544, in _execute_child
raise child_exception_type(errno_num, err_msg)
OSError: [Errno 8] Exec format error
Es gibt eine mögliche Lösung hier , bei der Chrome-Treiber über Home Brew installiert werden. Diese Option steht mir jedoch nicht zur Verfügung.
Irgendwelche Ideen?
Es sieht so aus, als würde dies über das Format des Chromedriver-Binärzeichens klagen. __ Möglicherweise liegt dies an einer Diskrepanz zwischen Plattform und Chromedriver-Format. Zum Beispiel benötigt Windows chromedriver.exe, während Linux und Mac unterschiedliche Formate haben.
Wenn Sie nicht über den Paket-Manager installieren möchten, laden Sie einfach chromedriver von https://sites.google.com/a/chromium.org/chromedriver/downloads herunter.
Hinweis: Wählen Sie die Datei gemäß Ihrem Betriebssystem
Platzieren Sie es dann auf dem Betriebssystem und übergeben Sie diesen Pfad als Argument. Sie können auch die Umgebungsvariable webdriver.chrome.driver festlegen, wenn Sie den Speicherort nicht jedes Mal übergeben möchten.
Zu Ihrer Information: Dieses Problem könnte auch auftreten, wenn Sie den Chromedriver nicht vor dem Hinzufügen zu PATH entpackt haben.