Gizli bir öğenin değerini almam gerekiyor.Kapibara'da gizli öğe değeri nasıl alınır?
page.find(:xpath, "//span[@id='sample']").text
nil verir:
Aşağıdaki kod çalıştı.Gizli bir öğenin değerini almam gerekiyor.Kapibara'da gizli öğe değeri nasıl alınır?
page.find(:xpath, "//span[@id='sample']").text
nil verir:
Aşağıdaki kod çalıştı.Capybara 2.1'den, :all
'u text
'a geçirebilir ve sürücüye bakmaksızın find('#sample').text(:all)
'u kullanabilirsiniz.
Ayrıca matchers ait :text
seçeneğini kullanabilirsiniz (dahili olarak text
eğer :visible
için :all
geçecek false
ise): eski Capybara 2.0.x text
yılında
page.should have_css('#sample', visible: false, text: 'expected text')
böyle bir seçenek yoktu ve sadece görünen metin döndü.
görünür ve hem görünür metin kullanabileceğiniz değil dönmek için:
page.evaluate_script("document.getElementById('sample').textContent")
find('#sample').native.text
Dokümanlar: http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Finders –
Bu yeni Capybara – Dean
@ Dean için çalışmıyor. Çalışması gerektiğini düşünüyorum. Sadece OP'nin metin almak istediğini, değer olmadığını düşündüm. –
Sadece can bulmak Gizli öğe ve değeri olsun.
find('#sample', visible: false).value
Yani basit
;)
sayfanın html gösterin. –
@JustinKo Tüm HTML'yi kesinlikle bilmeniz gerekmiyor –
@AndreyBotalov, Sadece görünmeyen bir açıklık veya 'gizli' türünde bir giriş elemanına bakıp bakmadığımızı onaylamak istedim. Daha önce bu konuda başka sorularda karışıklıklar oldu. –