父母兄弟姐妹的xpath

时间:2016-03-20 05:31:34

标签: java selenium xpath selenium-webdriver

我的Html看起来像这样

 <tr>
    <td>
        <span>
            <img>fieldId:
        </span>
    </td>
    <td>
        <span>
            <input value="false" type="text">
            <input type="hidden" >
        </span>
    </td>
  <td></td>
  <td></td>
</tr>

我想找到文本输入字段,但我只知道 fieldId ,它出现在1st td / span / img下 我写了像这样的xpath

//span[contains(text(),'fieldId')]/../following-sibling::td

但它找到了第一个td之后出现的所有td,所以我尝试了这个

//span[contains(text(),'fieldId')]/../following-sibling::td[0]

但这不起作用

我哪里出错?

请帮助

2 个答案:

答案 0 :(得分:3)

XPath索引从1开始,而不是0

//span[contains(text(),'fieldId')]/../following-sibling::td[1]

或者,您可以尝试这种方式:

//td[contains(span, 'fieldId')]/following-sibling::td[1]

答案 1 :(得分:0)

试试这个 (//输入[@type =“text”])1这将从页面中选择第一个带有文本类型的输入字段

使用以下链接获取更多示例:

Click for more details

同样是xpath索引从1开始而不是0。