如何在 Watir 中 return HTML 中相同 class 的所有元素

How to return all elements of same class in HTML in Watir

我正在尝试 return 具有相同 class 的 HTML 元素数组。我其实看到了一些类似的问题比如

How to get the number of elements having same attribute in HTML in Watir?

Watir: How to retrieve all HTML elements that match an attribute? (class, id, title, etc)

HTML 看起来像这样

<table class="module grid grid-50">
  <span bo-bind="row.date | sgDate">20/04/2018</span>
  <span bo-bind="row.date | sgDate">22/04/2018</span>
  <span bo-bind="row.date | sgDate">23/06/2018</span>
  <span bo-bind="row.date | sgDate">06/09/2018</span>
  <span bo-bind="row.date | sgDate">15/09/2018</span>
</table 

我试过了

content = browser.elements(:class => "module.grid.grid-50") puts content

哪个return<Watir::HTMLElementCollection:0x00000000053fc460>

我想输出这些日期的数组,而不是这条消息。 我想我在这里遗漏了一些东西,但不知道到底是什么。

我在 Rubydoc 上读到,ElementCollection 包括 to_a 方法,returns 集合作为数组,想知道是否也可以在这里包含它。

:class 定位器采用 class 列表而不是 CSS 选择器。寻找 class "module.grid.grid-50" 告诉 Watir 寻找像这样的元素:

<div class="module.grid.grid-50"> 

如果你想通过多个 classes 进行匹配,你想传入一个包含单个 classes:

的数组
tbl = browser.table(class: ['module', 'grid', 'grid-50'])
tbl.spans(bo_bind: /row.date/).map(&:text)
#=> ["20/04/2018", "22/04/2018", "23/06/2018", "06/09/2018", "15/09/2018"]