Pull to refresh

Деплой 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)

Надеюсь, мой опыт поможет Вам сэкономить время на поиск решения!
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.