如何从webelement中单独检索可见文本
How to retrieve visible text alone from webelement?
如何使用java从Web元素(Selenium)中仅获取UI上可见的文本(不包括隐藏文本)?我尝试过使用javascript。例如:
<span class='message'>
this part is visible
<span>
visible
</pan>
<span>
hidden
</span>
visible
</span>
我只想从类为"message"的span中检索"this part is visible visible visual visible"。
根据最新WebDriver规范的getElementText
章节,如果您只获取元素的文本,selenium将只返回可见文本:
driver.findElement(By.id("myid")).getText();
这段代码对我有用。
public String getVisibleTextFromElement(WebElement elem)
{
String visibleText= (String) getJavaScriptExecutor().executeScript("var clone = $(arguments[0]).clone();"
+ "clone.appendTo('body').find(':hidden').remove();"
+ "var text = clone.text();"
+ "clone.remove(); return text;", elem);
visibleText=visibleText.replaceAll("''s+", " ");
return visibleText;
}
相关文章:
- 本地存储保存和检索文本输入值
- 在按键时检索文本区域的 ID
- 单击按钮后从jQuery检索文本到HTML
- 如何在 html CDATA 部分中检索文本
- 如何使用jquery从输入复选框中检索文本
- 创建一个bookmarklet,可以检索文本框的所有最大长度,然后在表中打印id和最大长度
- 如何使用$scope和ng-bind在AngularJS中检索文本框条目
- JQuery 检索文本而不是选择列表的值
- 使用正则表达式 Javascript 检索文本的父节点
- 从段落中检索文本并更改其颜色
- 将鼠标悬停在文本上时检索文本值
- 无法在java脚本弹出窗口中检索文本框值
- 通过Webdriver从JavaScript警报中检索文本
- 如何在Angular中使用相同的ng-model从多个输入字段中检索文本
- 我如何使用JavaScript从不同的网站检索文本
- 从元素中检索文本并将其插入到其他地方
- 脚本-检索文本输入
- 如何使用casperjs从嵌入式脚本检索文本?
- 如何从选定的href标记内的span标记检索文本?
- 如何检索"文本"用CasperJS中的JavaScript从文档中提取