gpt4 book ai didi

python - 如何在 Heroku 上的特定目录 (/app/assets/chromedriver) 中安装 chromedriver?

转载 作者:太空宇宙 更新时间:2023-11-03 21:21:46 26 4
gpt4 key购买 nike

问题

我一直在使用 Selenium 编写 Python 脚本,它在本地运行良好(因为我已将 ChromeDriver 安装在正确的目录中,即 assets/chromedriver),但它无法在赫罗库。我收到的错误消息摘要如下:

'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,而 Cedar-14 已于今年 4 月被弃用。)

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

我已经为此苦苦挣扎了好几天,非常感谢我能得到的任何帮助!

最佳答案

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

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

使用 heroku config 命令验证路径

您可以使用此代码段来配置您的定义

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)

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

关于python - 如何在 Heroku 上的特定目录 (/app/assets/chromedriver) 中安装 chromedriver?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54181339/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com