0

鉴于此 HTML 片段

<ul>
  <li>Product 1<span><a href="#">Remove</a></span></li>
  <li>Product 2<span><a href="#">Remove</a></span></li>
</ul>

将产品列表作为数组获取的干净方法是什么?:

['Product 1', 'Product 2']

我想要li元素的文本,而不是span标签的文本。


更新:

这有效:

all('ul li').map{|e| e.native.children.first.text}

但可以改进吗?我不热衷于使用“本机”,因为它可能不适用于所有 Capybara 驱动程序。

4

1 回答 1

1

这应该这样做:

all(:xpath, '//ul/li/text()[1]').map(&:text)
于 2012-09-03T21:46:40.140 回答