Stack Overflow на русском Asked by ASX-4F on November 13, 2021
В процессе переноса скрипта с heroku на сервер с ubuntu столкнулся с проблемой, что скрипт не видит chromedriver.
Итак. Устанавливал согласно этой инструкции, однако вместо Chromium ставил обычный Chrome. Также нашел тут похожий вопрос, но ответ не помог.
Посмотрел, что есть в PATH и засунул туда chromedriver.
Пруфы:
(venv) root@ip-172-31-39-163:/home/sla-for-anton-bot# echo $PATH
/home/sla-for-anton-bot/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
(venv) root@ip-172-31-39-163:/home/sla-for-anton-bot# find / -name chromedriver
/usr/local/bin/chromedriver
/usr/bin/chromedriver
/home/sla-for-anton-bot/chromedriver
Однако при выполнении выдает следующее:
Traceback (most recent call last):
File "sla_parser.py", line 121, in <module>
create_list()
File "sla_parser.py", line 103, in create_list
brw = webdriver.Chrome(chrome_options=chrome_options)
File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
self.service.start()
File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/common/service.py", line 98, in start
self.assert_process_still_running()
File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/common/service.py", line 111, in assert_process_still_running
% (self.path, return_code)
selenium.common.exceptions.WebDriverException: Message: Service chromedriver unexpectedly exited. Status code was: 127
Собственно кусок кода:
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys
import os
def create_list():
chrome_options = webdriver.ChromeOptions()
chrome_options.binary_location = os.environ.get('/usr/bin/chromedriver')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--no-sandbox')
# brw = webdriver.Chrome(executable_path='/usr/bin/chromedriver', chrome_options=chrome_options)
brw = webdriver.Chrome(chrome_options=chrome_options)
brw.get(url)
Пути в chrome_options.binary_location
и brw = webdriver.Chrome(executable_path=)
пробовал подставлять разные, в разные места PATH, где лежит драйвер, относительные, абсолютные, в виртуальном окружении, без него – все бесполезно.
Прошу совета, что и где я сделал не так.
Проблема оказалась в отсутствующей библиотеке libgconf-2-4
. Шаги по обнаружению проблемы.
Service chromedriver unexpectedly exited. Status code was: 127
/usr/bin/chromedriver
и увидеть более подробную ошибку error while loading shared libraries: libgconf-2.so.4
apt-get update && apt-get install libgconf-2-4
Answered by rusnasonov on November 13, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP