Хочу поделиться решением проблемы с настройкой Selenium ChromeDriver при деплое Python веб-приложения на Heroku, на которое у меня ушло несколько часов.
Для веб-скрейпинга я сделала приложение на Flask, которое отлично работало на локальном сервере, однако при деплое на Heroku все сломалось с ошибкой:
В терминале добавляем 3 билдпака:
И в коде приложение прописываем:
Надеюсь, мой опыт поможет Вам сэкономить время на поиск решения!
Для веб-скрейпинга я сделала приложение на Flask, которое отлично работало на локальном сервере, однако при деплое на Heroku все сломалось с ошибкой:
Could not get version for Chrome with this commandПочитав ответы на stackoverflow, добавила билдпак Хрома и драйвера, приложение вообще перестало запускаться с ошибкой
bash: gunicorn: command not found.Добавление билдпака пайтона решило проблему с запуском, но система не находила Хром:
Message: unknown error: no chrome binary at /app/.apt/usr/bin/google_chromeСобрав вместе разные советы со stackoverflow и medium, получилось найти финальное работающее решение.
В терминале добавляем 3 билдпака:
heroku buildpacks:add --index 1 https://github.com/heroku-buildpack-chromedriver
heroku buildpacks:add --index 2 https://github.com/heroku-buildpack-chromedriver
heroku buildpacks:add --index 3 heroku/python
И в коде приложение прописываем:
chrome_options = webdriver.ChromeOptions()
chrome_options.binary_location = os.environ.get('GOOGLE_CHROME_SHIM', None)
browser = webdriver.Chrome(executable_path="chromedriver", chrome_options=chrome_options)
Надеюсь, мой опыт поможет Вам сэкономить время на поиск решения!