我有ng-repeat复选框选择:
<label> <input style="display: inline-block; margin-top: 5px"
type="checkbox"
ng-model="entity.checked"
ng-change="getEntityFromModal(entity.val, entity.checked)" /> <span>{{entity.val}}</span>
</label>
我试图找到标签01
所代表的复选框:
multiCheckBoxXPath = "//input(@ng-model='entity.checked')/label[contains(text(),'" +value.substring(0, 2) +"')]";
其中value是复选框旁边显示的string
版本的延长版本。显示前两个字母。
我使用[contains(text())
通过标签找到它,然后使用指定的ng-model
尝试选择相应的复选框。
不幸的是我得到了 -
Unable to find //input(@ng-model='entity.checked')/label[contains(text(),'01')]
我有点卡在这里所以任何想法都赞赏。
答案 0 :(得分:2)
试试这个xpath
"//span[contains(text(),'" +value.substring(0, 2) +"')]/preceding-sibling::input"
希望它会对你有所帮助.. :)
答案 1 :(得分:1)
如果有多个input
元素
String xpath = "//span[contains(text(),'" +value.substring(0, 2) +"')]/preceding-sibling::input[@type = 'checkbox']"