最近我看到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']
答案 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.