使用capybara,有没有办法获取元素的所有css类?查看文档,我看不到任何简单的方法。
另外,给定一个元素,elem和一个css类,someclass,elem.has_css?('.someclass')
应该等同于jquery $(elem).hasClass('someclass')
吗?
此特定测试使用的是Selenium,因为它涉及javascript。
答案 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')形式的匹配器对你来说会更好。