【问题标题】:How do I install chromedriver in a specific directory (/app/assets/chromedriver) on Heroku?如何在 Heroku 的特定目录 (/app/assets/chromedriver) 中安装 chromedriver?
【发布时间】:2019-06-08 10:20:37
【问题描述】:

问题

我一直在玩一个使用 Selenium 的 Python 脚本,它在本地运行良好(因为我在正确的目录中安装了 ChromeDriver,即assets/chromedriver),但它在 Heroku 上不起作用。我收到的错误消息摘要如下:

'chromedriver' executable needs to be in PATH.
No such file or directory: '/app/assets/chromedriver': '/app/assets/chromedriver'
ensure chromedriver is installed at /app/assets/chromedriver

采取的步骤

在部署到 Heroku 时,我在我的应用中安装了以下 Buildpack:

  1. https://github.com/heroku/heroku-buildpack-python
  2. https://github.com/heroku/heroku-buildpack-chromedriver
  3. https://github.com/heroku/heroku-buildpack-google-chrome

(注意:StackOverflow 上的很多答案都在谈论 heroku-xvfb-google-chrome buildpack,但我不想使用它,因为它依赖于 Cedar-14,它已在今年 4 月被弃用。)

我尝试将$GOOGLE_CHROME_BIN$GOOGLE_CHROME_SHIM 设置为指向app/assets/chromedriver 目录的配置变量,但这没有奏效。有谁知道如何在 Heroku 上的特定目录(在本例中为 app/assets/chromedriver)中安装 chromedriver?

我已经为此苦苦挣扎了好几天,如果能得到任何帮助,我将不胜感激!

【问题讨论】:

  • 安装任何你想要的目录,然后在初始化你的ChromeDriver时指定目录

标签: python selenium heroku selenium-chromedriver


【解决方案1】:

使用heroku congfig:set命令设置如下路径

heroku config:set CHROMEDRIVER_PATH=/app/.chromedriver/bin/chromedriverheroku config:set GOOGLE_CHROME_BIN=/app/.apt/usr/bin/google-chrome

使用heroku config 命令验证路径

你可以使用这个 sn-p 来配置你的定义

import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

def load_chrome_driver(proxy):

      options = Options()

      options.binary_location = os.environ.get('GOOGLE_CHROME_BIN')

      options.add_argument('--headless')
      options.add_argument('--disable-gpu')
      options.add_argument('--no-sandbox')
      options.add_argument('--remote-debugging-port=9222')
      options.add_argument('--proxy-server='+proxy)

      return webdriver.Chrome(executable_path=str(os.environ.get('CHROMEDRIVER_PATH')), chrome_options=options)

我正在使用代理,但您可以避免这种情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-21
    • 2018-08-04
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    相关资源
    最近更新 更多