Добрый день,
Несколько раз уже использовал 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.