OSError: [Errno 8] Ошибка формата Exec selenium
Пытаясь научиться использовать селен, мне удалось преодолеть первую ошибку, в которой драйвер chrome не был в имени пути, но он породил еще одну ошибку.
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")
Ошибка: Traceback (последний последний звонок):
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
Существует потенциальное решение здесь, которое включает установку драйверов Chrome через Home Brew, но эта опция недоступна для меня.
Любые идеи?
Ответы
Ответ 1
Похоже, что он жалуется на формат двоичного кода хромирования.
Это может быть из-за несоответствия формата платформы и хромирования. Например, для окон требуется chromedriver.exe, тогда как существуют разные форматы для linux и mac.
Если вы не хотите устанавливать через диспетчер пакетов, просто загрузите хромированный рекордер из https://sites.google.com/a/chromium.org/chromedriver/downloads
Примечание. Выберите файл в соответствии с вашим os
Затем поместите его в любом месте на os и передайте этот путь в качестве аргумента. Вы также можете установить переменную среды webdriver.chrome.driver, если вы не хотите передавать местоположение каждый раз.
Ответ 2
К вашему сведению, вы также можете столкнуться с этой проблемой, если не разархивировали хромедрайвер перед добавлением его в PATH.
Ответ 3
chromedriver Добавить переменные среды