[英]Selenium xpath - alternative of text() to locate an element using inner text?
我正在嘗試創建一個唯一的XPATH
以在網頁的表格中使用硒來選擇一個復選框。
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
,並且該表也已選擇。
如果我不能使用text()
方法在<tr>
標記內包含其他元素,那么關於如何處理的任何建議將不勝感激!
如果我不能使用text()方法在標記中包含其他元素,那么有關該如何處理的任何建議將不勝感激!
您應該嘗試使用xpath
normalize-space()
函數,該函數用於從字符串中xpath
和結尾的空格,將空格字符序列替換為一個空格,然后返回結果字符串,如下所示:-
.//td[normalize-space(.)='Test']//input
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.