Ho bisogno di ottenere il valore di un elemento nascosto.Come ottenere il valore dell'elemento nascosto in capibara?
ho provato il seguente codice:
page.find(:xpath, "//span[@id='sample']").text
restituisce zero.
Ho bisogno di ottenere il valore di un elemento nascosto.Come ottenere il valore dell'elemento nascosto in capibara?
ho provato il seguente codice:
page.find(:xpath, "//span[@id='sample']").text
restituisce zero.
Da Capybara 2.1 è possibile passare :all
a text
e utilizzare find('#sample').text(:all)
indipendentemente dal driver.
Inoltre è possibile utilizzare :text
possibilità di matchers (saranno internamente passare :all
-text
se :visible
è false
):
page.should have_css('#sample', visible: false, text: 'expected text')
Nel vecchio Capybara 2.0.x text
non hanno avuto tale opzione e restituito solo il testo visibile.
Per tornare sia visibile e non il testo visibile è possibile utilizzare in:
page.evaluate_script("document.getElementById('sample').textContent")
find('#sample').native.text
Documenti: http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Finders –
Questo non funziona per il nuovo Capybara – Dean
@Dean Penso che dovrebbe funzionare. Ho appena dato per scontato che OP voglia ottenere testo, non valore. –
Si può semplicemente trova l'elemento nascosto e ottieni il suo valore.
find('#sample', visible: false).value
Così semplice;)
Si prega di mostrare il codice HTML della pagina. –
@JustinKo Non è necessario conoscere tutto il codice HTML –
@AndreyBotalov, volevo solo confermare se stiamo osservando una span che non è visibile o un elemento di input di tipo 'hidden'. Ci sono state confusioni su questo prima in altre domande. –