0

当多个元素拥有相同的类名时,我们如何获取所有元素值。

例如:考虑我有 n 个具有相同类名的元素,如下所示

<span class="country-name">Country 1</span>
<span class="country-name">Country 2</span>
<span class="country-name">Country 3</span>
<span class="country-name">Country 4</span>
<span class="country-name">Country 5</span>

如何获取类名为 country_name 的所有元素值。

我也试过如下:

span(:country, :class => 'country-name')
puts country

当我执行它时,它只打印第一个值(国家 1),其他值不打印。我怎样才能得到所有的价值

有什么建议么?

4

1 回答 1

0

您可以创建一个返回所有相关跨度的集合访问器(即具有“国家名称”类的那些)。

在页面对象中,不调用 ,而是调用span复数版本 - spans

class MyPage
    include PageObject

    spans(:country, :class => 'country-name')
end

这将创建一个country_elements返回所有匹配跨度数组的方法。您可以遍历此数组以获取每个国家/地区(元素)的文本:

page = MyPage.new(browser)
page.country_elements.each{ |c| puts c.text }
#=> "Country 1"
#=> "Country 2"
#=> "Country 3"
#=> "Country 4"
#=> "Country 5"
于 2013-07-23T16:33:23.770 回答