Задать вопрос
@HexUserHex

Selenium не видит драйвер указанный в webdriver.Firefox()?

Добрый день,
Несколько раз уже использовал selenium, но в данный момент не понимаю что я упустил, скачал необходимый драйвер для Firefox положил его в каталог selenium_driver рядом со скриптом, ниже приведу пример скрипта

#!/usr/bin/env python3
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox(executable_path=r'/var/www/html/parsers/selenium_driver/geckodriver')
driver.get("https://www.python.org")


Проверка что путь валидный и файл драйвера существует:
bash-5.0# file /var/www/html/parsers/selenium_driver/geckodriver
/var/www/html/parsers/selenium_driver/geckodriver: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.26, BuildID[sha1]=32c4cfc2d9346336dc7c20e99a62df9be344d609, with debug_info, not stripped


При запуске получаю ошибки о том что PATH не верный, и selenium не видит файл драйвера, пробовал использовать относительный путь к драйверу:
driver = webdriver.Firefox(executable_path=r'selenium_driver/geckodriver')
или
driver = webdriver.Firefox(executable_path=r'./selenium_driver/geckodriver')
но результат аналогичный.
bash-5.0# ./selenium_get.py 
Traceback (most recent call last):
  File "/root/.pyenv/versions/3.7.3/lib/python3.7/site-packages/selenium/webdriver/common/service.py", line 76, in start
    stdin=PIPE)
  File "/root/.pyenv/versions/3.7.3/lib/python3.7/subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "/root/.pyenv/versions/3.7.3/lib/python3.7/subprocess.py", line 1522, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/var/www/html/parsers/selenium_driver/geckodriver': '/var/www/html/parsers/selenium_driver/geckodriver'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./selenium_get.py", line 6, in <module>
    driver = webdriver.Firefox(executable_path=r'/var/www/html/parsers/selenium_driver/geckodriver')
  File "/root/.pyenv/versions/3.7.3/lib/python3.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 164, in __init__
    self.service.start()
  File "/root/.pyenv/versions/3.7.3/lib/python3.7/site-packages/selenium/webdriver/common/service.py", line 83, in start
    os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
  • Вопрос задан
  • 568 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы