2015-07-28 13 views
5

Dies funktioniert gut, wenn ich für einen einzelnen String suchen:Finden Sie ein Element von XPath, den Text enthält

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

Aber könnte ich habe eine oder Anweisung wie im Beispiel unten?

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

Antwort

9

sagen or zwischen zwei Anrufe von contains Funktion

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

oder translate Funktion verwenden, um XPath-Groß- und Kleinschreibung

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

kann ein * bisschen * vereinfacht werden: 'translate (text(), 'abouts', 'abouts')' – har07

+0

@ har07 danke. Speziell die wiederholten Buchstaben nachgeschlagen und trotzdem vermisst – splash58

Verwandte Themen