点击方法无法使用Cucumber Phantomjs

时间:2016-02-03 17:38:02

标签: jquery css phantomjs cucumber capybara

最近我看到1个有线问题,对于特定的CSS,.click方法不能与phantomJS webdriver一起使用。它使用铬工作正常。我使用下面的代码使用SITEPRISM点击它。

@page = someclass.new
@page.wait_for_fld_element_rows(30)
@page.fld_element_rows.first.click

我看到它总是可以点击Chrome和其他驱动程序而不是phantomjs。我使用下面的配置为phantomjs:

Capybara::Selenium::Driver.new(app, :browser => :phantomjs,     
desired_capabilities: { 'phantomjs.cli.args' => ['--ignore-ssl-errors=yes'] 

2 个答案:

答案 0 :(得分:2)

PhantomJS 1.9.x缺少现代JS框架所依赖的许多东西。当PhantomJS在其他浏览器中工作时,没有发生JS行为的常见原因是缺少Function.prototype.bind。你可以填充这个,但是将PhantomJS升级到> = 2.1.x真的是一个更好的主意,它比1.9.x版本更稳定,更接近现代浏览器。

答案 1 :(得分:1)

这是你可以尝试的第二件事:

1st) You can upgrade to phantomjs 2.1.1 (latest) as this is more stable version. 

,或者

2nd) Not-clicking Issue might happenned because of the ajax req. You can use retry with in rescue block and try to click again which may solve this issue.