ser*_*laz 5 selenium ruby-on-rails css-selectors cucumber 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)
Run Code Online (Sandbox Code Playgroud)
我已经尝试过与capybara 2.2.1和2.3.0.我正在使用Selenium webdriver 2.42.0
从浏览器控制台运行$ x("// div [@ class ='box']").长度完美无缺.
我正在从github复制twalpole的答案(https://github.com/jnicklas/capybara/issues/1326):
"你实际上使用过滤器计数和可见(默认为真)没有相关的CSS,这是不可能确定的,但是三个空的引号集将倾向于表明3个.box元素实际上不可见页"
确实这是问题,我必须在我的选择器中添加一个'visible:false'参数来搜索屏幕中看不到的元素.
| 归档时间: |
|
| 查看次数: |
3519 次 |
| 最近记录: |