Как стать автором
Обновить

Деплой Python веб-приложения на Heroku с Selenium ChromeDriver

Хочу поделиться решением проблемы с настройкой Selenium ChromeDriver при деплое Python веб-приложения на Heroku, на которое у меня ушло несколько часов.
Для веб-скрейпинга я сделала приложение на 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)

Надеюсь, мой опыт поможет Вам сэкономить время на поиск решения!
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.