2015-10-01 11 views
5

Vorrei trovare qualsiasi WebElement basato sul testo che utilizza XPath.Ottenere WebElement per testo utilizzando XPath nel test selenio

WebElement che mi interessa di trovare,

WebElement that I am interested in

sua HTML,

Its CSS

Fondamentalmente il mio WebElement che sto cercando di recuperare dal testo contiene un elemento di input.

Attualmente uso,

driver.findElement(By.xpath("//*[normalize-space(text()) = 'Own Hotel']")); 

che non trova il WebElement sopra, ma di solito funziona per recuperare tutti gli altri elementi web.

Anche,

By.xpath("//*[contains(text(),'Own Hotel')]") 

non mi ha dato alcun risultato. Anche se sono interessato alla corrispondenza esatta del testo.

Sto cercando un modo per trovare l'elemento web per testo immateriale degli elementi presenti all'interno dell'elemento web. Se il testo corrisponde, dovrebbe restituire WebElement.

Grazie!

+0

Nessun iframe sulla pagina. Genera 'NoSuchElementException' – LINGS

+0

Non è un problema di attesa. Ho provato questo xpath su chrome quando la pagina è stata caricata, non trova l'elemento. Quindi il mio xpath non è corretto per questo caso. Ho bisogno di xapth alternativo. – LINGS

+0

Si prega di inviare il codice HTML come testo anziché un'immagine. In futuro, l'immagine non sarà più disponibile e questa domanda non sarà così utile. – JeffC

risposta

4

Sembra che il testo sia racchiuso all'interno di un'etichetta e non inserito. Prova questo

driver.findElement(By.xpath(".//label[text()[normalize-space() = 'Own Hotel']]")); 

C'è bella spiegazione su questo modello XPath here

+0

Grazie mille, questo ha funzionato! – LINGS