获取水豚的所有元素类?

时间:2013-01-01 20:27:00

标签: ruby capybara

使用capybara,有没有办法获取元素的所有css类?查看文档,我看不到任何简单的方法。

另外,给定一个元素,elem和一个css类,someclass,elem.has_css?('.someclass')应该等同于jquery $(elem).hasClass('someclass')吗?

此特定测试使用的是Selenium,因为它涉及javascript。

1 个答案:

答案 0 :(得分:16)

Element#[]看起来很容易:

find('div')[:class]
  

另外,给定一个元素,elem和一个css类,someclass,elem.has_css?('。someclass')应该等同于jquery $(elem).hasClass('someclass')?

Element#has_css?检查在调用方法的元素中具有指定CSS选择器的元素。 Jquery的hasClass检查元素是否指定了类。

更新: Capybara matchers在当前元素中查找元素/文字。 Element#has_css?检查元素是否包含其中包含指定css选择器的元素。如果要检查元素是否存在,请使用page.has_css?。也许expect(page).to have_css('div')形式的匹配器对你来说会更好。