获取水豚的所有元素类?

mus*_*oom 12 ruby capybara

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

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

这个特殊的测试是使用Selenium,因为它涉及javascript.

And*_*lov 19

元素#[]看起来很容易:

find('div')[:class]
Run Code Online (Sandbox Code Playgroud)

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

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

更新: Capybara匹配器在当前元素中查找元素/文本.Element#has_css?检查元素是否包含具有指定css选择器的元素.如果要检查元素是否存在,请使用page.has_css?.也许表达中的匹配者期望(页面).to have_css('div')对你来说会更好.

  • 这对于上课很有用。我遇到的情况是 elem[:class] 返回“otherclass someclass”,但 elem.has_css?('.someclass') 返回 false。这有道理吗? (2认同)