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 に答える