我正在使用selenium通过xpath在网页上获取一些文本。
页面标签结构如下-
<span id="data" class="firefinder-match">
Seat Height, Laden
<sup>
<a class="speckeyfootnote" rel="p7" href="#">7</a>
</sup>
</span>
如果我使用以下代码-
driver.findElement(By.xpath("//span[@id='data']")).getText();
我得到结果= Seat Height, Laden 7
但我想避免阅读<sup>
标签内的文本并获得结果Seat Height, Laden
请让我知道我可以使用哪个xpath表达式来获得所需的结果。
我不知道在Selenium中执行此操作的任何方法,因此有我的JS解决方案。想法是获取元素的所有子级(包括文本节点),然后仅选择文本节点。您可能需要添加一些.trim()
(或等效于JS的)调用以删除不需要的空间。
整个代码:
WebElement elem = driver.findElement(By.id("data"));
String text;
if (driver instanceof JavascriptExecutor) {
text = ((JavascriptExecutor)driver).executeScript(
"var nodes = arguments[0].childNodes;" +
"var text = '';" +
"for (var i = 0; i < nodes.length; i++) {" +
" if (nodes[i].nodeType == Node.TEXT_NODE) {" +
" text += nodes[i].textContent;" +
" }" +
"}" +
"return text;"
, elem);
}
而且只有JS才能提高可读性。
var nodes = arguments[0].childNodes;
var text = '';
for (var i = 0; i < nodes.length; i++) {
if (nodes[i].nodeType == Node.TEXT_NODE) {
text += nodes[i].textContent;
}
}
return text;
我正在使用Selenium(Java版本)测试一个基于OpenLayers的API。 我想测试一个使用的功能。控制修改功能。我想单击绘制的特征(SVG),然后拖动并检查它们是否存在、可见或隐藏。 我已经画了一个多边形,并且选择了它。见下图: 这些SVG元素的HTML如下所示: 假设我想选择红点。 我试过: 但是它总是返回一个空列表。 我做错了什么?有人能帮我吗? 多谢了。 编辑1-功能:垂直显示可
来自检查器( 已展开) 从jsoup.connect( 未展开) 共1个答案 匿名用户 相关问题 Javamail不阅读多部分/相关的电子邮件 阅读从GMail发送的邮件 阅读Kafka时Spark丢失99.9%的消息 从 ajax 调用中的服务器接收 HTML 并使用该 HTML 加载页面 阅读主题并使用reactor Kafka将消息批量写入RESTendpoint 在HtmlUnit驱动程序
问题内容: 我有一个很大的PDF文件,它是建筑物的平面图。它具有用于所有办公家具的图层,包括座位位置的文本框。 我的目标是使用PHP读取此文件,在文档中搜索文本层,获取其内容和文件中的坐标。这样,我可以绘制出座位位置-> x / y坐标。 有没有办法通过PHP做到这一点?(如果需要的话,甚至可以是Ruby或Python) 问题答案: 签出FPDF(使用FPDI): http://www.fpdf.
在上一章中,我们已经了解了如何将文本添加到现有PDF文档中。 在本章中,我们将讨论如何从现有PDF文档中读取文本。 从现有PDF文档中提取文本 提取文本是PDF框库的主要功能之一。 您可以使用PDFTextStripper类的getText()方法提取文本。 此类提取给定PDF文档中的所有文本。 以下是从现有PDF文档中提取文本的步骤。 第1步:加载现有PDF文档 使用PDDocument类的静态
问题内容: 我使用Java Mail下载阿拉伯文附件文件时遇到问题。 文件名始终是不明确的。 问题是检索附件为非UTF-8字符。 问题答案: 标头是根据RFC 2047中描述的机制(即)编码的,该机制表示与 < encoding> < encoded-bytes>_匹配的标头的部分是字节编码的部分。所述 < 编码>说如何解释的字节数,和(因为它是风格,而不是样式)的 < 编码字节>_是基64编码。
我需要根据特定的标签过滤器来阅读tweet,所以我用javahbc客户端试用了Twitter的流式api。首先,我尝试运行项目提供的示例代码,以便了解它是如何工作的。 所以我: 在twitter上声明一个应用程序生成了我的访问密钥、令牌和机密 已从下载项目包(https://github.com/twitter/hbc) 通过在示例项目pom中填写TODO字段来配置示例项目hbc示例。包含我的应用