How to use Selenium Webdriver on Heroku?

后端 未结 2 1312
野趣味
野趣味 2021-02-03 12:55

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 o

相关标签:
2条回答
  • 2021-02-03 13:26

    I was able to get the Selenium Webdriver working on Node/Heroku using PhantomJs as the headless browser. I installed the PhantomJs buildpack to my Heroku app and it just worked. I struggled to get Chrome and Firefox drivers working on Heroku... I wrote a blog with the steps and code I used to get it working:

    http://www.viderman.com/2017/05/selenium-on-heroku.html

    0 讨论(0)
  • 2021-02-03 13:29

    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();
    

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

    • Using Heroku buildpacks command:
    $ 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
    

    or

    • 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
    0 讨论(0)
提交回复
热议问题