加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Capybara选择器匹配但不是所有过滤器,这是什么

发布时间:2020-12-17 03:49:09 所属栏目:百科 来源:网络整理
导读:在运行水豚选择器之前,我使用save_and_open_page命令保存了以下html(我还检查了page.body,它是相同的): https://gist.github.com/davidkovaccs/8991af5bed1805277f52 我收到以下错误消息:’期望找到xpath“// div [@ class =’box’]”9次,找到6个匹配:“
在运行水豚选择器之前,我使用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’参数来搜索屏幕中看不到的元素.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读