12

非表示の要素の値を取得する必要があります。

次のコードを試しました。

page.find(:xpath, "//span[@id='sample']").text

nilを返します。

4

2 に答える 2

25

Capybara 2.1から、ドライバーに関係なくパス:alltextて使用できます。find('#sample').text(:all)

また:text、マッチャーのオプションを使用することもできます( isの場合は内部的に渡さ:allれます):text:visiblefalse

page.should have_css('#sample', visible: false, text: 'expected text')

古いCapybara2.0.xtextにはそのようなオプションがなく、表示されているテキストのみが返されていました。

表示されているテキストと表示されていないテキストの両方を返すには、次の場所で使用できます。

  • セレン:
page.evaluate_script("document.getElementById('sample').textContent")
  • Rack_test:
find('#sample').native.text
于 2013-02-25T20:19:51.710 に答える
24

隠された要素を見つけて、その値を取得するだけです。

find('#sample', visible: false).value

とても簡単 ;)

于 2014-05-30T09:45:02.840 に答える