出于我的目的,在 heroku 上无头驱动浏览器的最佳方法是什么?

What's the best way to drive a browser headlessly on heroku for my purposes?

完全改写:

我的愿景:将电子邮件、学生 ID、密码和所需 class 作为 heroku 脚本参数的 Web 界面。然后一旦一个点开放,使用 heroku 上的 webdriver 来注册他们(使用大学生门户),然后通过电子邮件将结果发送给他们(成功:你进去了,失败:点不再开放,将继续尝试)。

事情是这样的:我已经在我的本地计算机上制作了这个并且它非常有用。我使用了 selenium 和 chromedriver,度过了美好的旧时光。

但是:我怎样才能在 heroku 上得到这个?我的选择似乎是:selenium with ghostdriver、casperjs、phantomjs、Requests(HTTP for HUmans)。屏幕截图对于调试非常有用,但绝对必要。

"Best according to what criteria":可扩展性,轻量级,易于快速构建(注册时间为10月27日(今天)起两周)

如果您需要在您的应用程序中使用 Javascript,或者只是发现编写浏览器脚本比使用 requestsurllib2 更容易,无头浏览器是一个好方法去。我个人推荐 phantomjs,因为它在 node、js 或 python 中都非常容易使用。

您需要一个自定义构建包,它安装起来相当容易,here's a good one。请注意,这需要雪松堆栈。

这里是 bit of info on adding a buildpack

下面是 buildpack 存储库的自述文件中的示例设置代码:

$ heroku create --stack cedar-14 --buildpack https://github.com/ddollar/heroku-buildpack-multi
$ echo "https://github.com/ddollar/heroku-buildpack-apt" >> .buildpacks
$ echo "https://github.com/srbartlett/heroku-buildpack-phantomjs-2.0.git" >> .buildpacks
$ cat <<EOT >> Aptfile
libicu52
libjpeg8
libfontconfig
libwebp5
EOT

$ git push heroku master

希望对您有所帮助!