工作在一個rails 3.1.2項目(Mac OS X),我有PhantomJS正確安裝(我可以運行代碼如下,它的工作原理,準確地抓住頁面標題和保存準確的截圖)Rails Phantomjs,poltergeist和水豚不能很好地玩在一起
try_phantom.coffee
page = require('webpage').create()
page.open 'http://localhost:5000/parties/onetestparty', (status) ->
title = page.evaluate -> document.title
console.log "Title: #{title}"
page.render './log/javascript_screenshot.png'
phantom.exit()
然而,當我嘗試使用水豚/騷靈在rspec的如下:
spec_helper.rb
require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist
,然後用規格與呼叫需要的javascript:
parties_spec.rb
it "should allow a simple screenshot", js: true do
visit "/"
page.driver.render('./log/screen_Home.png', :full => true)
end
它不會出現我的JavaScript正在呈現,並且截圖也是總是空白!
我試着調試器,但似乎也帶來了一個空白的HTML頁面(只是空的頭和身體標記HTML)
我敢肯定,問題是無論是水豚之間的接口poltergeist或(更可能)poltergeist和phantomjs。下面是有關寶石的版本:
水豚1.1.3
水豚,WebKit的0.13.0
騷靈1.0.2
phantomjs是1.7.0
不知道如何進一步排除故障...任何幫助將不勝感激。
注意:有一件事我也試過是明確告訴吵鬧鬼在那裏我phantomjs可以發現:phantomjs =>「/usr/local/Cellar/phantomjs/1.7.0/bin/phantomjs」。這不會改變結果。不過,我覺得這證明phantomjs實際上是越來越運行,因爲如果我給它一個僞造的路徑,我得到一個錯誤。 –