2017-02-17 2 views
0

ich will den Text aus dem Schatten Element DomWie in WebDriver Text Shadow Dom Element bekommen

http://prntscr.com/e9smzg

ich unten Code versucht haben holen, aber seine nicht funktioniert ..

public String ShadowRootElement(String str) { 
    WebElement ele = (WebElement) ((JavascriptExecutor) driver).executeScript("return arguments[0].shadowRoot",getElementByXpath(str)); 
    return ele.findElement(By.xpath("//div[@id='inner-editor']")).getText().toString(); 
    } 

Bitte finden Sie im Anhang Screenshot Link für HTML-Code.

public String getEmailId(String str){ 
      return ShadowRootElement(Repo.get("ipEmailId"));  
    } 
+1

Mögliche doppelte von [Wie bekomme Element aus Schattenwurzel mit JavaScript?] (http://stackoverflow.com/questions/38701803/how-get-element-from-shadow-root-with-javascript) – Supersharp

Antwort

0

Vor allem ist die Art, wie Sie ele.findElement(By.xpath("//div[@id='inner-editor']")).getText().toString(); anrufen, lästig.

Um Elemente unter dem Schattenwurzelknoten zu finden, funktioniert By.xpath() nicht. Nur By.id() & By.cssSelector() funktionieren als gültige Lokatoren. Weitere Informationen finden Sie unter this Post.

Zweitens (und leider), fand ich, auch wenn Sie den Knoten, unter Schatten Wurzel finden können, element.getText() Methode würde eine leere Zeichenfolge zurückgeben .. Einfach gesagt es nicht für mich funktioniert entweder :-(

Verwandte Themen