2014-11-05 61 views
0

我試圖採取形式的截圖與此代碼:的Watir沒有看到元素與Phantomjs

require 'watir' 

browser = Watir::Browser.new :phantomjs 
browser.driver.manage.window.maximize 
browser.goto 'https://www.binbank.ru/landing/credits/' 

browser.ul(class: 'r-buttons').li(text: '6').click 
sleep 2 
browser.screenshot.save 'a.png' 

而且a.png不捕獲形式。與Firefox作爲瀏覽器窗體可見a.png。這是爲什麼?我如何與PhantomJS進行互動?

回答

2

PhantomJS似乎在該頁面上存在SSL問題。你不知何故需要通過--ignore-ssl-errors=true到底層的webdriver。

通過How to pass browser parameter to Watir這個判斷是可以做到這樣的:

args = %w{--ignore-ssl-errors=true} 
browser = Watir::Browser.new(:phantomjs, :args => args) 
+0

這是正確的。之前我遇到過SSL和PhantomJS的問題(根本沒有顯示頁面) - 但我不知道只有特定部分未被渲染纔有可能。我可以知道你是怎麼猜到這是個問題? – lakesare 2014-11-05 21:15:43

+1

我寫了一個普通的PhantomJS [腳本](https://gist.github.com/artjomb/a4985bf31ff0adf12ca1),當我看到很多資源因爲SSL握手錯誤而未被加載時,我嘗試了一些[命令行選項](http://phantomjs.org/api/command-line.html)看看他們是否有所幫助。 – 2014-11-05 21:19:53

+0

非常有用的信息,謝謝。 – lakesare 2014-11-05 21:25:18