2017-02-17 7 views
0

にシャドウDOM要素からテキストを取得するにはどうすれば..私はコードの下にしようとしているが、そのが動作していないはwebdriverを

http://prntscr.com/e9smzg

ドムの影の要素からテキストを取得したい

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(); 
    } 

htmlコードについては、添付のスクリーンショットリンクを参照してください。

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

:-(いずれかの私のために動作しません置く..あなたは影のルートの下にノードを見つけることができたとしても、element.getText()メソッドは空の文字列を返していましたどのようにシャドウルートからJavaScriptを取得するのですか?](http://stackoverflow.com/questions/38701803/how-get-element-from-shadow-root-with-javascript) – Supersharp

答えて

0

まず、ele.findElement(By.xpath("//div[@id='inner-editor']")).getText().toString();に電話する方法は面倒です。

シャドウルートノードの下にある要素を検索するには、By.xpath()は機能しません。 By.id() & By.cssSelector()のみ有効なロケータとして機能します。詳細については、this投稿を参照してください。

第二

(残念ながら)、私は単にそれが可能な重複

関連する問題