如何在 Heroku 上使用 Selenium Webdriver? [英] How to use Selenium Webdriver on Heroku?

查看:31
本文介绍了如何在 Heroku 上使用 Selenium Webdriver?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个 Node.js 应用程序,我在其上使用 Selenium Webdriver 进行抓取.但是,当我在 Heroku 上部署时,Selenium 不起作用.如何让 Selenium 在 Heroku 上工作?

I am developing a Node.js app, and I use Selenium Webdriver on it for scraping purposes. However, when I deploy on Heroku, Selenium doesn't work. How can I make Selenium work on Heroku?

推荐答案

下面是使用 selenium-webdriver npm 包和 Chrome 浏览器的 javaScript 示例代码.

Below is a javaScript sample code using selenium-webdriver npm package with chrome browser.

const webdriver = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');

let options = new chrome.Options();
//Below arguments are critical for Heroku deployment
options.addArguments("--headless");
options.addArguments("--disable-gpu");
options.addArguments("--no-sandbox");

let driver = new webdriver.Builder()
  .forBrowser('chrome')
  .setChromeOptions(options)
  .build();

driver.get('http://www.google.com');
driver.quit();

在准备部署之前,您需要向 Heroku 添加两个构建包.

Before you are ready to deploy, you would need to add two buildpacks to Heroku.

  • 使用 Heroku buildpacks 命令:
$ heroku buildpacks:add --index 1 https://github.com/heroku/heroku-buildpack-chromedriver
$ heroku buildpacks:add --index 2 https://github.com/heroku/heroku-buildpack-google-chrome


  • Config in Heroku dashboard:
    Settings -> Add buildpacks -> https://github.com/heroku/heroku-buildpack-chromedriver -> Save changes
    Settings -> Add buildpacks -> https://github.com/heroku/heroku-buildpack-google-chrome -> Save changes

这篇关于如何在 Heroku 上使用 Selenium Webdriver?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆