ruby-on-rails – Capybara选择器匹配但不是所有过滤器,这是什么
在运行水豚选择器之前,我使用save_and_open_page命令保存了以下html(我还检查了page.body,它是相同的):
https://gist.github.com/davidkovaccs/8991af5bed1805277f52
我收到以下错误消息:’期望找到xpath“// div [@ class =’box’]”9次,找到6个匹配:“box_2001 attrkulcs1:attrvalue 1 attrkulcs2:attrvalue 2 attrkulcs3:attrvalue 3”,“box_2002 attrkulcs1:attrvalue 1 attrkulcs2:attrvalue 2 attrkulcs3:attrvalue 3 attrkulcs4:attrvalue 4“,”box_2003“,”box_1001“,”box_1002 attrkulcs1:attrvalue 1 attrkulcs2:attrvalue 2 attrkulcs3:attrvalue 3“,”box_1003 attrkulcs1:attrvalue 1“.还找到了“”,“”,它与选择器匹配但不是所有过滤器. (水豚:: ExpectationNotMet)” 请注意,对于每次测试运行,找到的6个匹配项不是6.它是4到9之间的数字. 我尝试了以下选择器,但所有这些选择器都给出了相同的错误消息: have_xpath("//div[@class='box']",:count => 9) have_selector(:css,'.box',:count => 9) have_css('.box',:count => 9) 我已经尝试过与capybara 2.2.1和2.3.0.我正在使用Selenium webdriver 2.42.0 从浏览器控制台运行$x(“// div [@ class =’box’]”).长度完美无缺. 解决方法
我正在从github(
https://github.com/jnicklas/capybara/issues/1326)复制twalpole的答案:
“你实际上使用过滤器计数和可见(默认为真)没有相关的CSS,这是不可能确定的,但是三个空的引号集将倾向于表明3个.box元素实际上不可见页” 确实这是问题,我必须在我的选择器中添加一个’visible:false’参数来搜索屏幕中看不到的元素. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |