2016-01-13 50 views
-1

我需要为复选框创建xpath。它是一个角度js元素。我试图用firebug生成xpath。但它给了html xpath并且它没有用。我想知道如何创建相对xpath复选框具有角度js内容。如何为复选框元素创建相对xpath?

以下是我的复选框html内容。指导我如何使用以下代码以多种方式创建相对xpath。

<div class="row"> 
<div class="col-md-6 col-xs-6"> 
<check-box class="ng-untouched ng-valid ng-isolate-scope ng-dirty ng-valid-parse" text="By post" name="post" ng-model="vm.options.byPost" tab-index="1" style=""> 
<div class="MMM-check-box" ng-class="customClass ? customClass : ''"> 
<div class="MMM-label ng-binding MMM-label--hidden" ng-class="!label ? 'MMM-label--hidden' : ''" style=""/> 
<div class="MMM-check-box__field" ng-keydown="onFocus($event)" tabindex="1"> 
<a class="MMM-check-box__link" name="post" ng-click="change()" ng-class="toggle === true ? 'MMM-check-box__link--selected' : ''"> 
<svg id="Layer_1" class="MMM-toggle__icon" xml:space="preserve" style="enable-background:new 0 0 51.9 41.9;" viewBox="0 0 51.9 41.9" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" version="1.1"> 
</a> 
<div class="MMM-check-box__title ng-binding">By post</div> 
<div class="MMM-check-box__textarea-container ng-hide" ng-show="withTextarea && toggle === true" style=""> 
</div> 
</div> 
</check-box> 
</div> 
+0

为什么不使用标识? – Guy

+0

@guy它是角度js组件。因此,当我使用'id = Layer_1'时,它会识别顶部的其他复选框。它不会选择我特定的xpath。在我的情况下'id = Layer_1',在这个id下,我们有大约5个复选框。所以当我使用_id_时,它将识别第一个复选框,而不识别第5个复选框。 –

+0

您可以将所有复选框放在列表中并按索引选择。 – Guy

回答

1

试试下面: -

//svg[@id='Layer_1'] 

希望它会帮助你:)