无法使用以下兄弟找到xpath

时间:2016-10-22 11:22:25

标签: java selenium xpath

这是我的示例html代码。我无法找到输入类型="文本"。

的xpath

注意:我只需要来自div id的xpath引用。

<div id="PRINTDIV">
    <table id="one"></table>
    <table id="two"></table>
 </div>

 <table>
    <tr>
        <td>
            <input type="button" value="post value" >
        </td>
        <td>
            <input type="text" >
        </td>
    </tr>
 </table>

我在xpath下面使用。但是没有工作。

/ * [@ ID =&#39; PRINTDIV&#39;] /以下同胞::表/ TR / TD [2]

请纠正我。

2 个答案:

答案 0 :(得分:0)

您在开头缺少斜杠,需要在tr之前添加额外的斜杠。在inspect元素中,我看到了一个额外的tbody标签,但我不明白为什么会这样。

"//div[@id='PRINTDIV']/following-sibling::table//tr/td/input[@type='text']"

或尝试使用CSS

"div[id='PRINTDIV'] + table tr > td > input[type='text']"

为什么不直接使用表的id来获取它?它是动态生成的id吗?

答案 1 :(得分:0)

由于div不是根节点的直接子节点,因此您无法通过单个/来访问它。您必须提供//以允许selenium解析并在DOM中找到该节点。

因此// div应该能够访问该元素。