如何在 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"]
我正在尝试 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"]