如何在 Heroku 上使用 Selenium Webdriver? [英] How to use Selenium Webdriver on Heroku?
本文介绍了如何在 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
或
- Heroku 仪表板中的配置:
设置 -> 添加 buildpacks -> https://github.com/heroku/heroku-buildpack-chromedriver -> 保存更改
设置 -> 添加 buildpacks -> 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屋!
查看全文