【问题标题】:XPath help needed - Selecting Checkbox需要 XPath 帮助 - 选择复选框
【发布时间】:2016-06-23 13:06:41
【问题描述】:
<h3 class="ui-accordion-header ui-helper-reset ui-state-default ui-accordion-header-active ui-corner-top ng-binding ng-scope ui-state-active" ng-click="updateActiveTab($index)" role="tab" ng-class="{'ui-state-active': tabs.active == $index}" ng-if="isUserPermitted($index) && feature.visible" ng-repeat-start="feature in model.features">
<input class="ng-pristine ng-untouched ng-valid" type="checkbox" ng-click="$event.stopPropagation()" style="vertical-align: middle;" ng-change="validateAndUpdateModel($index)" ng-model="ui.featuresEnabled[$index]"/>
 AUS - Demand Response Modes (DRM)                                         
<!-- nasty hack to fix line break for validation error messages -->
<!-- ngIf: tabs.active != $index && (feature.label|translate).length >17 -->
<!-- ngIf: tabs.active == $index && (feature.label|translate).length >17 -->
<span class="glyphicon glyphicon-collapse-up ng-scope" style="float: right; vertical-align: middle; margin-right: 4px" ng-if="tabs.active == $index && (feature.label|translate).length >17"/>
<!-- end ngIf: tabs.active == $index && (feature.label|translate).length >17 -->
<!-- ngIf: (feature.label|translate).length >17 -->
<br class="ng-scope" ng-if="(feature.label|translate).length >17"/>
<!-- end ngIf: (feature.label|translate).length >17 -->
<!-- ngIf: showFeatureValidation(feature) -->
<!-- ngIf: !showFeatureValidation(feature) && showDoubleUsageValidation(feature) -->
<!-- ngIf: tabs.active != $index && (feature.label|translate).length <=17 -->
<!-- ngIf: tabs.active == $index&& (feature.label|translate).length <= 17 -->
</h3>

这是 HTML,我需要我的 XPath。它包含一个复选框和复选框的标签(AUS - 需求响应模式(DRM)),在整个 HTML 中有多个标签,因此我需要一种方法来确保我选择的复选框包含正确的标签 - 就像在这个例子中需求...

到目前为止我尝试的是:

//*[@role='tab' and contains(text(),'Demand')]//*[@type='checkbox']

还有一些其他版本看起来大多相同,但我无法让它正常工作,它要么显示所有复选框但未与 h3 标签中的标签链接,要么根本没有。

【问题讨论】:

    标签: html xpath


    【解决方案1】:

    您可以使用 XPath:

    //*[@role='tab']//*[@type='checkbox' and contains(./following-sibling::node()[1]/self::text(), 'Demand')]
    

    它将返回输入复选框(即具有role="tab" 属性的元素的后代),其后紧跟一个包含单词Demand 的文本节点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-15
      • 2014-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多