我正在使用selenium来自动化测试。我在选择表格行的复选框时遇到了问题。所以我使用XPath来做到这一点。我必须根据文件名选择行。下面是HTML
HTML
<form id="Runs3" action="" method="post">
<table id="data_Runs1" class="project-data project-show-borders project-has-col-totals">
<tbody>
<tr class="project-alternate-row">
<td id="ext-gen3" class="project-selectors" nowrap="">
<input type="checkbox" onclick="Region.selectRow(this);" value="234" name=".select" title="Select/unselect row"/>
<span style="display: inline-block; width: 16px; height: 10px;"/>
</td>
<td id="ext-gen11" align="left">
<a href="/key/module/essays/direct.view?runId=234">Study1_AS_06-20-16_1.xml</a>
</td>
</tr>
</tbody>
</table>
</form>
这是我尝试的 XPATH
//form[@id='Runs3']//a[text()='Study1_AS_06-20-16_1.xml']/preceding-sibling:://input[@name='.select']
答案 0 :(得分:2)
a
不是所需input
的兄弟姐妹。请改用preceding
axis:
//a[. = 'Study1_AS_06-20-16_1.xml']/preceding::input
答案 1 :(得分:1)
您的xPath
似乎错误尝试使用以下xPath
: -
//a[text()='Study1_AS_06-20-16_1.xml']/preceding::input[@name='.select']
注意: - 有关xPath
需要遵循this
希望它会对你有所帮助.. :)
答案 2 :(得分:1)
尝试使用此xpath: - //form[@id='Runs3']//a[text()='Study1_AS_06-20-16_1.xml']/../preceding-sibling::td/输入
导航到a标签的父列并转到包含输入的表的前一列...