条件的XPath语法

时间:2014-05-14 05:53:45

标签: java selenium xpath

我正在寻找条件XPath语法。我的xpath如下:

//div[@id='contenttext']/form/table/tbody/tr[7]/td[2]/input[1]

现在的情况是,上面提到的输入字段可以在tr[7](已经提到)和tr[6]找到。 所以简而言之,我需要一种语法来测试输入字段应该存在于tr [7]还是tr [6]。即:

//div[@id='contenttext']/form/table/tbody/tr[7]/td[2]/input[1]
//div[@id='contenttext']/form/table/tbody/tr[6]/td[2]/input[1]

如果input[1]tr[7]中存在tr[6],则应合并上述XPath并且测试应返回true。

PS:tr[position()=7 or position()=6]无效。代码试图在提到的较低位置找到元素。即tr[6]

2 个答案:

答案 0 :(得分:1)

您可以在此处使用管道语法(|),如下所示:

//div[@id='contenttext']/form/table/tbody/tr[7]/td[2]/input[1]|//div[@id='contenttext']/form/table/tbody/tr[6]/td[2]/input[1]

答案 1 :(得分:0)

位置方法可以提供范围...

tr[position() >= 6 and not(position() > 7)]

摘自What is the xpath to select a range of nodes?