2015-07-28 6 views
5

Questo funziona bene se la ricerca di una singola stringa:trovare un elemento da XPath che contiene il testo

var element = Driver.FindElement(By.XPath("//a[contains(text(), 'About us')]")); 

Ma potrei avere una dichiarazione o come nell'esempio in basso?

var element = Driver.FindElement(By.XPath("//a[contains(text(), 'About us' or 'about us')]")); 

risposta

9

dicono or tra due chiamate di funzione contains

//a[contains(text(), 'About us') or contains(text(), 'about us')] 

o utilizzare la funzione di rendere translate caso XPath insensitive

//a[contains(translate(text(), 'ABOUTS', 'abouts'), 'about us')] 
+0

può essere un * bit * semplificato per: 'translate (text(), 'ABOUTS', 'abouts')' – har07

+0

@ har07 grazie. Specialmente alzò lo sguardo sulle lettere che si ripetevano e perse comunque – splash58