无法使用包含XPATH方法的标签名称找到标签



我有以下HTML代码:

<li class="ng-scope" ng-repeat="option in RentTenantPreference.options">
    <label class="ng-binding">
        <input class="ng-scope ng-pristine ng-valid ng-touched" type="checkbox" checklist-value="option.id" ng-disabled="fieldLocks['RentPref']" ng-model="checked" checklist-model="formObj.occ_r" style=""/>
        Family
    </label>
</li>

我试图使用//label[contains(text(),'Family')] XPath找到标签,但无法做到这一点。

尝试以下内容:

//label[contains(.,'Family')]

这与HTML混乱,尚不知道什么,但是您可以尝试其他方法,选择所有标签元素并检查其文本是否包含'family':

label_elements = browser.find_elements_by_xpath('.//label')
for label_element in label_elements:
    if 'Family' in label_element.text:
        #dosomething with current element(label_element)

我希望这种解决方法可以用于您的目的。

尝试使用以下Xpath中的任何人,因为文本在'输入'tag

//label [descendant :: input [contains(text((,'family'(]](留在标签字段本身(

//label/input [包含(text((,'family'(](移至标签内的输入字段(

看来您缺少正确的xpath使用以下代码 -

.//*[contains(text(),'Family')]

希望它对您有帮助。

最新更新