这是我的示例html代码。我无法找到输入类型="text"的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 = ' PRINTDIV ']/祖辈::表/tr/td [2]
您在开始时缺少斜杠,需要在tr之前添加额外的斜杠。在检查元素中,我看到了一个额外的tbody标记,虽然我不知道为什么会这样。
"//div[@id='PRINTDIV']/following-sibling::table//tr/td/input[@type='text']"
或者尝试使用CSS
"div[id='PRINTDIV'] + table tr > td > input[type='text']"
为什么不使用表的id直接访问它呢?它是动态生成的id吗?
由于div不是根节点的直接子节点,因此不能通过单个/访问它。您必须提供//以允许selenium解析并在DOM中查找节点。
因此//div应该能够访问元素