使用 capybara,有没有办法获得一个元素的所有 css 类?查看文档,我没有看到任何简单的方法。
此外,给定一个元素 elem 和一个 css 类 someclass,应该elem.has_css?('.someclass')
等价于 jquery$(elem).hasClass('someclass')
吗?
这个特殊的测试使用 Selenium,因为它涉及到 javascript。
Element#[]对我来说看起来很容易:
find('div')[:class]
此外,给定一个元素 elem 和一个 css 类 someclass,elem.has_css?('.someclass') 是否应该等同于 jquery $(elem).hasClass('someclass')?
元素#has_css?在调用该方法的元素中检查具有指定 CSS 选择器的元素。Jquery 的hasClass检查元素是否具有指定的类。
更新: Capybara 匹配器在当前元素中查找元素/文本。Element#has_css?
检查元素是否包含具有指定 css 选择器的元素。如果要检查元素是否存在,请使用page.has_css?
. 也许expect(page).to have_css('div')形式的匹配器对你来说会更好。