Xpath-从“子查询”中查找元素

时间:2019-05-22 13:20:21

标签: xpath-1.0

我正在使用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))]]

但同样,它并不在乎标签,而是为我带来了页面的所有输入 就是这样...还有什么...不全是:(

您有什么想法要提交吗?

预先感谢您的帮助

0 个答案:

没有答案