我正在使用xpath(1.0)在HTML页面中查找项目(用于在Selenium下自动执行应用程序,但这没关系)
以下是一个可以更好地理解以下内容的示例
<html>
<label for="xxx">My label xxx</label> <input type="text" id="xxx" placeholder="Value for xxx"><br>
<label for="yyy">My label yyy</label> <input type="text" id="yyy" placeholder="Value for yyy"><br>
<label for="zzz">My label zzz</label> <input type="text" id="zzz" placeholder="Value for zzz"><br>
<label for="test">My label test</label> <input type="text" id="test" placeholder="Value for test"><br>
<label for="pppppp">My label autre</label> <input type="text" id="pppppp" placeholder="Value for autre"><br>
</form>
我的目标是能够找到ID对应于搜索标签的输入
例如,如果我搜索我的标签测试,其for属性指向 test ,我必须能够找到输入内容
当然,这很简单,就在...之后 但是在我正在使用的出色应用程序中,它们可以处于完全不同的级别,这是荒谬的...
这是我的不同测试
轻松找到...!
//*[text()='My label test']/@for
它的价值,也不用担心
string(//*[text()='My label test']/@for)
另一方面,通过他的ID查找输入...
//input[@id='test']
//input[@id=string('test')]
从那里我对自己说:我只需要混合上面的两个:D
//input[@id=string(//*[text()='My label test']/@for)]
好吧:( 经过各种搜索之后,我尝试嵌套搜索,以强制其在标签上运行搜索,例如
//input[@id[starts-with(.,string(//*[text()='My label test']/@for))]]
但同样,它并不在乎标签,而是为我带来了页面的所有输入 就是这样...还有什么...不全是:(
您有什么想法要提交吗?
预先感谢您的帮助