我是XPath的新手,如果这是一个愚蠢的问题,我很抱歉。我只需要从第一个span class=“price”中提取一个没有“$”的价格。
<span class="price">
<span class="sup">$</span>
1
<span class="currency-delimiter">.</span>
<span class="sup">23</span>
</span>
<span class="price">
<span class="sup">$</span>
4
<span class="currency-delimiter">.</span>
<span class="sup">56</span>
</span>
<span class="price">
<span class="sup">$</span>
7
<span class="currency-delimiter">.</span>
<span class="sup">89</span>
</span>
我附带的Xpath是
在XPath1.0中,可以在节点上使用string
函数来获取节点中的所有文本。例如字符串(//span[@class='price'][1])
(如果您在节点集上使用它,也就是节点数组,它将自动只应用于第一个节点。有关更多细节,请参见官方规范。)
注意,这将包括所有空格(即'\n$\n1\n.\n23\n'
,其中\n
表示换行符,因此您可能希望使用normalize-space
函数删除前导空格,并用单个空格字符替换空格的每个实例,这将使结果更类似于$1.23
。
现在,为了从一开始删除$
字符,我建议使用substring-after
函数,因为是否使用前面提到的normalize-space
函数并不重要,如下所示:substring-after(normalize-space(string(//span[@class='price'])),'$')
现在,值得注意的是,substring-after
(和normalize-space
)将隐式调用string
函数,因此可以安全地省略该函数,只使用substring-after(normalize-space(//span[@class='price']),'$')
。在本例中,我将第二个参数substring-after
更改为$
,这样$
后面的空格也将被移除。
找不到我的问题的解决方案。我有要识别的节点,我的意思是-我必须获得以下情况下的节点名称: 当我使用以下语法时(FirePath,直接从浏览器) 或 然后我得到节点名称(链接组和文本img)。 在robot框架中,它不适用于关键字Get Text或Get Value。我收到消息:“InvalidSelectorException:消息:无效选择器:由于以下错误,无法找到xpath表达式名称为((//
问题内容: 我感兴趣的是建议/伪代码/解释,而不是实际的实现。 我想通过xml文档,及其所有节点 检查节点是否存在属性 如果节点不具有属性, 则为Case;如果节点确实具有属性,则为Case,迭代槽属性列表,并为每个属性(包括该节点)创建xpath。 忠告?希望你会提供一些有用的信息 编辑: 这样做的原因是..我正在用jmeter编写自动化测试,因此对于每个请求,我都需要验证该请求是否确实完成了工
我有以下html结构。输入的id值是动态的。例如。gwt-uid-150我正在尝试编制一个Xpath来获得标记为“逗号”的单选按钮,以便单击它。 如果我使用以下Xpath,我可以获得标签 谢谢,Riaz
我有一个SVG文档,其中包含类似于以下内容的节点: 我想做的只是选择
在本章中,我们将详细介绍XPath表达式,其中包括常见的节点类型,XPath定义和句柄。 序号 节点类型 描述 1 Root XML文档的根元素节点。 2 Element 元素节点。 3 Text 元素节点的文本。 4 Attribute 元素节点的属性。 5 Comment 注释