xml - Xpath 改进

标签 xml selenium xpath

<document>
<html class=" js " lang="en" style="" xmlns="http://www.w3.org/1999/xhtml">
<head id="head">
<body class="modern operational">
<div class="row btm16">
<div class="col-xs-30">
<label>Adjust To </label>
</div>
<span id="pb33352:eastFieldForm:j_idt2056:adjInputTextPanel">
<input id="pb33352:eastFieldForm:j_idt2056:newValueNumber" class="form-control" type="text"  maxlength="11" name="pb33352:eastFieldForm:j_idt2056:newValueNumber"/>
<span>
<span id="pb33352:eastFieldForm:j_idt2056:adjustToUnit"/>
</span>
</span>
<div class="col-md-40"/>
<span id="pb33352:eastFieldForm:j_idt2056:errorMessages"/>
</div>
</body>
</html>
</document>

我有一个上面的简单页面,其中有一个标签和一个文本框。我想在文本框中输入文本。

对我有帮助的 XPATH//*[contains(text(),normalize-space('Adjust To'))]//..//..//*[self::input].

对于上述解决方案,我不满意在中间使用多个 //.. 。 有没有更好的方法来获取此XPATH

请注意,我需要通过查找文本“调整到”来找到 xpath

最佳答案

我会使用following axis :

//label[normalize-space(.) = 'Adjust To']/following::input

或者,我认为使用 id 的“adjInputTextPanel”部分也是一个足够好的定位器:

//span[contains(@id, 'adjInputTextPanel')]/input

关于xml - Xpath 改进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38397703/

相关文章:

javascript - 获取已解析的 XML 并将其放入 javascript 数组中?

xml - Excel 2013 FILTERXML() 返回错误值?

javascript - python Selenium : Clicking on button with JavaScript onFocus validation

html - XPath 根据父级或其任何子级中的文本选择元素

php - XPATH 将字符串与特殊字符进行比较

c# - 在 C# 中,使用 x.509 证书签署 xml 并检查签名

java - XPATH 仅选择第一级子级

java - 通过 Selenium Java 上的 ChromeOptions 提供代理支持

java - Selenium:获取元素的工具提示?

php - 注册命名空间后如何获取xml节点值?