Я пытаюсь использовать Selenium и Heroku. Я столкнулся с общей ошибкой:
selenium.common.exceptions.WebDriverException: Message: unknown error: no chrome binary at '/app/.apt/usr/bin/google-chrome'
Я сталкивался с этой статьей относительно того, почему это может происходить: WebDriverException: Сообщение : неизвестная ошибка: нет chrome двоичный файл в C: /.../ Chrome / Application / chrome .exe с ChromeDriver Selenium и Python
Я использую Selenium 3.141. 0
Предполагается, что Chromedriver не может найти двоичный файл chrome .exe. Также предлагается убедиться, что я не использую устаревшую опцию: ChromeOptions()
и не считаю, что мне нужно использовать ключевое слово аргумент executable_path
, поскольку я запускаю его из Heroku, где я буду использовать '/app/.apt/usr/bin/google-chrome'
path. Другие решения, с которыми я сталкивался, предлагают различные конфигурации, и я чувствую, что все настроено правильно, но, возможно, нет.
В чем еще причина, по которой я не могу заставить это работать?
Buildpacks
https://github.com/heroku/heroku-buildpack-google-chrome
https://github.com/heroku/heroku-buildpack-chromedriver
Переменные Heroku Config
GOOGLE_CHROME_BINARY = "/app/.apt/usr/bin/google-chrome"
CHROMEDRIVER_PATH = "/app/.chromedriver/bin/chromedriver"
Опции
class WebDriver:
def __init__(self):
self.GOOGLE_CHROME_BINARY = config('GOOGLE_CHROME_BINARY')
self.CHROMEDRIVER_PATH = config('CHROMEDRIVER_PATH')
self.chrome_options = Options()
self.chrome_options.add_argument("--disable-dev-shm-usage")
self.chrome_options.add_argument('--no-sandbox')
self.chrome_options.binary_location = self.GOOGLE_CHROME_BINARY
self.chrome_options.add_argument("headless")
self.driver = webdriver.Chrome(self.CHROMEDRIVER_PATH, options=self.chrome_options)
Любая помощь, даже просто помогающая мне понять, что происходит лучше, будет высоко ценится