2016-09-29 904 views
-1

如何使用「ABQ」選擇輸入元素。在xpath下面不起作用。Xpath使用標籤外的文本定位元素

//div[contains(text(),'Pick-up')]/following::label/input[contains(text(),'ABQ')] 

樣品輸入(編輯爲OP)

<div class="col-xs-2 profile-location-panal profile-pickupLocationPanel"> 
    <!--Locations--> 
    <div class="panel panel-default" ng-class="{'panel-invalid':isSaveProfileClicked&amp;&amp;profileInformationForm.locations.$error.required}"> 
     <div class="panel-heading">Pick-up Locations</div> 
     <div class="panel-body"> 
      <div class="panalScroll"> 
       <div class="checkbox"> 
        <label> 
         <input type="checkbox" ng-click="toggleAllLocations()" ng-checked="checkLocationsAll()">All 
        </label> 
       </div> 
       <!-- ngRepeat: item in pickUpLocations --><div class="checkbox ng-scope" ng-repeat="item in pickUpLocations"> 
        <label class="ng-binding"> 
         <input name="locations" required="required" type="checkbox" ng-required="selected.pickUpLocations.length==0" checklist-value="item.code" checklist-model="selected.pickUpLocations"> 
         ABQ 
        </label> 

http://i.stack.imgur.com/R3K9H.jpg

+1

你能提供一些HTML輸入示例嗎? –

+0

<標籤類=「NG結合」> \t <輸入名稱=「位置」清單模型=「selected.pickUpLocations」> \t ABQ – nvntkmr

回答

0

你的HTML看起來並不像有效的XML(請注意,<input>結束標記丟失),這樣的XPath贏得沒有工作。

+0

的代碼寫在angularjs,這就是我得到的同時檢查鉻上的元素。 – nvntkmr

+0

反正我自己做了rnd,現在可以做 //div[contains(text(),'Pick-up')]/following::div/label[contains(.,'ABQ') ] – nvntkmr

+0

@ user2930871 HTML不一定是有效的XML才能工作。另一方面,如果文檔格式不正確,XPath可能會失敗。 – ljedrz