2016-10-20 3 views
0

私は以下のhtmlタグを持っています。私はJava Seleniumコードから"name":"test_1476979972086"を受け取りたいと思います。SeleniumのJavaでhtmlタグからデータを受信

どうすればこの問題を解決できますか?

私はすでにgetTextgetAttributeを機能させましたが、成功しませんでした。

<a data-ng-href="#/devices" 
    target="_blank" 
    class="ng-binding" 
    href="#/devices"> 
{"name":"test_1476979972086"}  
</a> 

getText()は常にemtpyです。 xpathはユニークです。 newDevice.createdはページ上でユニークです。

final By successMessageBy = By.xpath("//p[@data-ng-show='newDevice.created']/a"); 

final WebElement successMessage = wait.until(ExpectedConditions.presenceOfElementLocated(successMessageBy)); 

final String msg = successMessage.getText(); 
+0

あなたが任意の成功なしには何を意味ですか??。例外はありますか?どのように試してみましたか? –

+0

編集済み...上記を参照 – gartenkralle

+0

この要素のテキストはページに表示されていますか? –

答えて

1

実際にはWebElement#getText()は表示されているテキストのみを返します。要素が存在する可能性がありますが、テキストは後で表示されます。

期待通りWebElement#getText()が動作しないのであれば、あなたは以下のようにgetAttribute("textContent")を使用してみてください: -

successMessage.getAttribute("textContent"); 
+1

これはうまくいきました!右の要素は表示されませんが存在します! :) – gartenkralle

0

一見すると、以下のようになります。あなたが試みたことがうまくいかないという事実は、あなたが正しい要素を選択していないと私に信じさせます。私はあなたのHTMLの残りを知らないので、これは一意ではないかもしれません。

String json = driver.findElement(By.cssSelector("a[href$='/devices']")).getText() 
+0

セレクターは一意ですが、getText空の文字列を返します。 – gartenkralle

+0

@gartenkralle上記の答えからHTMLとコードをコピーして、テキストを得ました.... – Grasshopper

+0

興味深い...私はそうではありません。 – gartenkralle

関連する問題