这是我的示例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]
请纠正我。
答案 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应该能够访问该元素。