2015-07-28 28 views
5

Działa to dobrze, jeśli mogę szukać jednym ciągiem:Znajdź element przez XPath, która zawiera tekst

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

Ale mogę mieć lub oświadczenie jak w poniższym przykładzie?

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

Odpowiedz

9

powiedzieć or między dwoma połączeniami z contains funkcji

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

lub wykorzystać translate funkcję, aby sprawę xpath niewrażliwe

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

może być * trochę * uproszczony do: 'translate (text(), 'ABOUTS', 'abouts')' – har07

+0

@ har07 thanks. Specjalnie spojrzał na powtarzające się litery i tak czy owak – splash58

Powiązane problemy