2017-05-26 85 views
0

我正在寫一個測試應用程序的耙子任務。爲了測試它,我需要水豚和Poltergeist。 Rake任務看起來是這樣的:如果Heroku掠奪任務與poltergeist

require "capybara" 
require "capybara/poltergeist" 
require "capybara/dsl" 

namespace :almet do 
    desc "Checking if something changed on tatar.ru" 
    task check_news: :environment do 
    Capybara.current_driver = :poltergeist 
    Browser = Class.new { include Capybara::DSL } 
    page = Browser.new.page 
    page.visit("http://almetyevsk.tatar.ru") 
    unless page.has_selector?(".home-events ul li") & 
     page.has_selector?(".home-events__item-lead") & 
     page.has_selector?(".home-events__item-date") & 
     page.has_selector?("h2 a") 
    then 
     alert 
    end 
    news_link = page.find(:css, "h2 a", match: :first)[:href] 
    page.visit(news_link) 
    unless page.has_selector?(".page__content-i h2") & 
     page.has_selector?(".page__content-i .news") & 
     page.has_selector?("i") 
    then 
     alert 
    end 
    end 

    def alert 
    AlertMailer.alert.deliver_now 
    end 
end 

此代碼檢查從分析數據的主要場所仍然是相同的(在CSS選擇器完全沒有變化)。這rake任務工作好地方,但是當我把它推到Heroku的,我得到了一個錯誤:

rake aborted! 
Cliver::Dependency::NotFound: Could not find an executable ["phantomjs"] on your path. 

我GOOGLE了這一點,安裝phantomJS但仍然得到了同樣的錯誤(使用鬼驅人phantomJS)。是否有可能解決我的問題?

+0

你是否將Phantomjs作爲'buildpack'添加到你的項目或Heroku中? –

回答