2014-11-05 54 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