我有以下html标记,我希望从"name":"test_1476979972086"
代码接收Java Selenium
。
我怎么能做到这一点?
我已尝试getText
和getAttribute
功能,但没有任何成功。
<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 :(得分:1)
实际上WebElement#getText()
仅返回可见文字。可能有元素存在,但文本稍后可见。
因此,如果WebElement#getText()
无效,请尝试使用getAttribute("textContent")
,如下所示: -
successMessage.getAttribute("textContent");
答案 1 :(得分:0)
String json = driver.findElement(By.cssSelector("a[href$='/devices']")).getText()