我正在尝试创建一个唯一的XPATH
,以便在网页上的表格中选择使用selenium的复选框。
HTML
看起来像:
<tr ng-repeat="item in tests ">
<td class="ng-binding">
<span test: 'fa fa-cube greeniconcolor'}[item.type]"/>
<span ng-show="item.type !='test' && item.type !='testset'">
Test
<div class="box-tools pull-right">
<input type="checkbox" ng-model="selected_checkbox[$index]"/>
</div>
</td>
</tr>
我希望我能够拥有一个XPATH
看起来像:
.//td[text()='Test']//input
能够单击复选框,但这不起作用。如果我将其更改为包含并使用'。'符号而不是text()
它确实有效:
.//td[contains(., 'Test')]//input
但是,如果我.='Test'
它不起作用。我无法使用contains()
方法的原因是该表中还包含Test2
,并且也是选中的。
如果我在<tr>
标签中有其他元素我不能使用text()
方法,如何提出任何建议将不胜感激!
答案 0 :(得分:1)
如果我在标签中有其他元素我不能使用text()方法,如何提出任何建议将不胜感激!
您应该尝试使用xpath
.//td[normalize-space(.)='Test']//input
函数,该函数用于从字符串中去除前导和尾随空格,用单个空格替换空格字符序列,并将结果字符串作为下面: -
{{1}}