Capybara,通过ID和Class检查HTML元素

前端之家收集整理的这篇文章主要介绍了Capybara,通过ID和Class检查HTML元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一个初学者的两个问题.

Q1-可以通过ID和类声明HTML节点的存在吗?
例如,查看以下元素是否存在:

<div class="drawer" id="first"....>

我看过你可以使用的东西:

page.should have_css('div.drawer')
 page.should have_css('div#first')

但是我们可以以某种方式查询两个参数的存在,我已经尝试过以下操作:

page.should have_selector("div",:class => "drawer",:id => "first")

Q2-是否可以在’内部’capybara方法添加2个选择器,即我已经看到可以通过执行以下操作来限制范围:

within("//div[@id='first']") do

但是我们可以通过添加id =’first’和class =’drawer’来过滤该DIV吗?

非常感谢!

解决方法

您可以组合选择器.

对于您的第一个问题,以下检查id为“first”和class“drawer”的div:

page.should have_css('div#first.drawer')

对于您的第二个问题,内部块可以使用与上述相同的css选择器:

within('div#first.drawer') do

或者如果你真的喜欢xpath,你可以做:

within("//div[@id='first' and @class='drawer']") do

css选择器的一个很好的参考:http://www.w3.org/TR/CSS2/selector.html

原文链接:https://www.f2er.com/html/230325.html

猜你在找的HTML相关文章