使用XPath选择基于列值的复选框

时间:2016-06-30 13:50:57

标签: java html selenium xpath selenium-webdriver

我正在使用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']

3 个答案:

答案 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标签的父列并转到包含输入的表的前一列...