如何对两个类的元素使用方法全部

时间:2018-11-30 00:25:45

标签: capybara

此代码无效

descriptions = []
page.all('div', class: 'news-tidings__speech news-helpers_hide_mobile-small').each do |el|
  descriptions.push(el.text[1..200])
end

HTML的一部分:

<div class="news-tidings__speech news-helpers_hide_mobile-small">text </div>

1 个答案:

答案 0 :(得分:0)

有几种方法可以做您想要的事情。

  1. 只需使用具有多个类的标准CSS选择器

    page.all('div.news-tidings__speech.news-helpers_hide_mobile-small')
    
  2. 如果要使用:class选项,它将使用所需类的数组(元素必须具有所有类)

    page.all('div', class: ['div.news-tidings__speech','news-helpers_hide_mobile-small'])
    
  3. 您要确保这些是唯一的类,并按特定顺序在元素上,然后可以使用CSS属性选择器

    page.all("div[class='news-tidings__speech news-helpers_hide_mobile-small']")