2016-07-22 3 views
5

Ich habe Probleme beim Suchen eines span-Elements in Selen mit Java.Wie finde ich einen Bereich mit einem bestimmten Text in Selen? (Mit Java)

die HTML wie folgt aussieht:

<div class="settings-padding"> 
 
<span>Settings</span> 
 
</div>

Und ich habe das versucht, ohne Glück folgende:

By.xpath("span[.='Settings']") 

und

By.xpath("span[text()='Settings']") 

und

By.cssSelector("div[class='settings-padding']")) 

sowie einige andere ähnliche Versuche. Können Sie mich auf die beste Methode hinweisen, dies zu tun? So wie es aussieht, bekomme ich in Eclipse ständig den Fehler "Unable to locate element".

Antwort

7

Sie alle xpath sind sieht OK, nur einige syntactically inkorrekt. fehlen Sie // in Ihrem xpath

Die richtige xpath sind wie folgt: -

By by = By.xpath("//span[.='Settings']") 

Oder

By by = By.xpath("//span[text()='Settings']") 

Oder

By by = By.xpath("//div[@class='settings-padding']/span")) 

Oder können Sie cssSelector wie verwenden: -

By by = By.cssSelector("div.settings-padding > span")) 

Mit jeder der oben Locator können Sie Element finden wie folgt: -

WebDriverWait wait = new WebDriverWait(driver, 10); 
WebElement el = wait.until(presenceOfElementLocated(by)); 

Hoffe, es hilft ... :)

Verwandte Themen