我想在Firefox或其他能够显示视频的浏览器上使用Heroku上的Selenium。不幸的是,PhantomJS无法使用,因为浏览器无法播放视频。
我已经通过使用这些buildpack在firefox中尝试过:
并且通过使用这些buildpack使用chrome:
但是我总是在heroku日志中得到这个:
2019-09-20T15:04:47.000000+00:00 app[api]: Build succeeded
2019-09-20T15:04:49.118915+00:00 app[web.1]: Error: Server terminated early with status 2
2019-09-20T15:04:49.118934+00:00 app[web.1]: at earlyTermination.catch.e (/app/node_modules/selenium-webdriver/remote/index.js:251:52)
2019-09-20T15:04:49.118936+00:00 app[web.1]: at process._tickCallback (internal/process/next_tick.js:68:7)
是否有一种方法可以在Heroku上通过可以显示视频格式(例如youtube上的视频)的浏览器使用硒?
我还没有找到适合我的解决方案。
UPDATE
如果尝试answser,将显示相同的错误:
const chrome = require('selenium-webdriver/chrome');
let options = new chrome.Options();
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').catch(err => console.log(err));
我的选择,也许可能会有所帮助:
const screen = {
width: 1920,
height: 1080
};
let options = new chrome.Options();
//Below arguments are critical for Heroku deployment
options.addArguments("--headless");
options.addArguments("--disable-gpu");
options.addArguments("--no-sandbox");
options.windowSize(screen);
我认为窗口大小是强制性的,否则您正在模拟无边界窗口...