【问题标题】:Select a checkbox based on a column value using XPath使用 XPath 选择基于列值的复选框
【发布时间】:2016-11-02 16:04:02
【问题描述】:

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

【问题讨论】:

    标签: java html selenium xpath selenium-webdriver


    【解决方案1】:

    a 不是所需input 的兄弟。请改用preceding axis

    //a[. = 'Study1_AS_06-20-16_1.xml']/preceding::input
    

    【讨论】:

      【解决方案2】:

      您的xPath 似乎是错误的尝试使用下面的xPath :-

      //a[text()='Study1_AS_06-20-16_1.xml']/preceding::input[@name='.select']
      

      注意 :- 有关xPath 的更多说明需要关注this

      希望对你有帮助..:)

      【讨论】:

        【解决方案3】:

        试试这个 xpath:- //form[@id='Runs3']//a[text()='Study1_AS_06-20-16_1.xml']/../preceding-sibling::td/input

        它导航到 a 标签的父列并转到包含输入的表的前一列...

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-11-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-10
          • 2018-08-24
          • 2015-08-02
          相关资源
          最近更新 更多