Heroku上的PhantomJS路径

时间:2017-07-07 00:58:36

标签: python node.js selenium heroku phantomjs

我在Heroku上运行了一个节点应用程序。我正在使用python中的selenium抓取一个网站,并在需要时从我的节点应用程序调用python脚本。我在我的Mac上安装了PhantomJS,当我在本地运行应用程序(node index.js)时,一切正常。

path_to_phantom = '/Users/govind/Desktop/phantomjs-2.1.1-
macosx/bin/phantomjs'

browser = webdriver.PhantomJS(executable_path = path_to_phantom)

但是,Heroku似乎没什么用。我还将PhantomJS buildpack添加到我的节点应用程序,但它不会调用python脚本。我认为问题是PhantomJS buildpack的路径。我应该添加什么路径?或者我在这里缺少任何其他方面吗?

1 个答案:

答案 0 :(得分:2)

按照以下步骤,我设法在部署到Heroku的Python应用程序中使用Selenium和PhantomJS:

1)切换到我的Heroku应用程序上使用Cedar-14堆栈

$ heroku stack:set cedar-14

2)安装PhantomJS buildpack

$ heroku buildpacks:add https://github.com/stomita/heroku-buildpack-phantomjs

通过这些更改,我可以使用Selenium来获取网站

from selenium import webdriver

browser = webdriver.PhantomJS()
browser.get("http://www.google.com")  # This does not throw an exception if it got a 404

html = browser.page_source
print html  # If this outputs more than just '<html><head></head><body></body></html>' you know that it worked