在XPATH中使用OR

时间:2016-07-29 08:55:53

标签: html xpath

我想使用xpath来定位一个html元素,它既不是输入也不是textarea。 html代码如下所示:

<div>
<label>Login</label>
<div>
<div>
<input/>
</div>
</div>
</div>

或者像这样:

<div>
<label>Full name</label>
<div>
<div>
<textarea></textarea>
</div>
</div>
</div>

要找到输入或textarea,我已经创建了这个xpath工作:

//div[contains(label,'Login')]//input

或者这个:

//div[contains(label,'Full name')]//textarea

标签中的文字我可以有一个textarea或一个输入元素,所以要找到输入或teaxtarea我想做这样的事情:

//div[contains(label,'Login')]//input|//div[contains(label,'Login')]//textarea

哪里的|代表OR,但它不起作用。我应该怎么做。

1 个答案:

答案 0 :(得分:2)

|运算符是 union 运算符,而不是OR,但它应该适用于您要执行的操作。

以下内容也应该有效,请尝试以下方法:

//div[contains(label,'Login')]//*[self::input or self::textarea]