在Heroku上运行ChromeDriver和Python selenium

2024-04-24 03:46:26 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我在Heroku上有一个Flask服务器,它已经按预期运行了一段时间。现在,根据新的要求,我需要向Flask服务器添加功能,以便从外部网站获取页面。由于我最清楚的原因,我正在使用Selenium和Chrome web驱动程序来执行此操作。在本地,我可以设置它工作正常,但我不确定如何在Heroku服务器上设置它。我读了一些关于buildpacks的资料,找到了ChromeDriver的这个buildpack:

https://elements.heroku.com/buildpacks/jimmynguyc/heroku-buildpack-chromedriver

但是,我不知道如何进一步进行。我如何安装chromium浏览器本身,以及需要什么来将其捆绑起来?


Tags: 功能服务器webflaskheroku网站selenium驱动程序
1条回答
网友
1楼 · 发布于 2024-04-24 03:46:26

我也有同样的问题,以下步骤对我很有效:

  • 我在heroku上添加了以下构建包: https://github.com/heroku/heroku-buildpack-xvfb-google-chrome (安装chrome,因为chromedriver需要它)和 https://github.com/heroku/heroku-buildpack-chromedriver
  • 我创建了一个环境变量GOOGLE_CHROME_BIN,其中CHROME的路径为heroku:/app/.apt/usr/BIN/GOOGLE CHROME,还有一个环境变量CHROMEDRIVER_path,其中CHROMEDRIVER的路径为heroku:/app/.CHROMEDRIVER/BIN/CHROMEDRIVER。
  • 在python文件中,我配置了chromedriver:

    chrome_options = Options()
    chrome_options.binary_location = GOOGLE_CHROME_BIN
    chrome_options.add_argument('--disable-gpu')
    chrome_options.add_argument('--no-sandbox')
    driver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, chrome_options=chrome_options)
    

(首先,我试图在没有参数的情况下配置chromedriver,但是我遇到了以下错误:“Chrome启动失败:崩溃”。--禁用gpu和--没有沙盒为我解决了这个问题)。

相关问题 更多 >