2017-08-04 23 views
2

寫的Xpath我寫了這個我需要幫助從相同的HTML代碼

xpath(//li[contains(@class,'vdl-list__option')][28]) 

,對於發佈日期的作品。

但我不知道如何編寫Expire Date Xpath,因爲它們都有相同的ID。有些人可以幫助我。

這些是我嘗試過期日期和Xpath只看到發佈日期的Xpath。

  • 這給了2層匹配的節點:

    //div[@class='vdl-popup__content'][1]//li[contains(@class,'vdl-list__option')][28] 
    
  • 這給了2個匹配節點也。

    //li[contains(@class,'vdl-list__option')][28][1] 
    //li[contains(@class,'vdl-list__option')][28] 
    
<label> 
    <h3>Publish Date</h3> 
    <div> 
    <label class="vdl-radio vdl-radio--checked"> 
    <div class="dateTime"> 
    <div>Date</div> 
    <div class="vdl-date-time-picker" tabindex="-1"> 
    <div>Time</div> 
    <div class="vdl-date-time-picker" tabindex="-1"> 
    <input id="vdl_20_input" class="vdl-date-time-picker__input" aria-expanded="false" aria-busy="false" aria-owns="vdl_20_time_listbox" aria-haspopup="true" role="combobox" autocomplete="off" tabindex="0" value="10:30 AM" aria-disabled="false" aria-activedescendant="vdl_20_time_listbox__option__21" type="text"/> 
    <span class="vdl-date-time-picker__select"> 
    <div class="vdl-timelist-popup vdl-popup vdl-popup--animate" style="display: none; overflow: hidden; height: 211.6px;"> 
    <div class="vdl-popup__content" style="transform: translateY(-100%); position: absolute;"> 
    <div> 
    <ul id="vdl_20_time_listbox" class="vdl-list" aria-labelledby="vdl_20_input" aria-live="false" aria-hidden="true" tabindex="-1" role="listbox"> 
    <li id="vdl_20_time_listbox__option__0" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">12:00 AM</li> 
    <li id="vdl_20_time_listbox__option__1" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">12:30 AM</li> 
    <li id="vdl_20_time_listbox__option__2" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">1:00 AM</li> 
    <li id="vdl_20_time_listbox__option__3" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">1:30 AM</li> 
    <li id="vdl_20_time_listbox__option__4" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">2:00 AM</li> 
    <li id="vdl_20_time_listbox__option__5" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">2:30 AM</li> 
    <li id="vdl_20_time_listbox__option__6" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">3:00 AM</li> 
    <li id="vdl_20_time_listbox__option__7" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">3:30 AM</li> 
    <li id="vdl_20_time_listbox__option__8" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">4:00 AM</li> 
    <li id="vdl_20_time_listbox__option__9" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">4:30 AM</li> 
    <li id="vdl_20_time_listbox__option__10" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">5:00 AM</li> 
    <li id="vdl_20_time_listbox__option__11" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">5:30 AM</li> 
    <li id="vdl_20_time_listbox__option__12" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">6:00 AM</li> 
    <li id="vdl_20_time_listbox__option__13" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">6:30 AM</li> 
    <li id="vdl_20_time_listbox__option__14" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">7:00 AM</li> 
    <li id="vdl_20_time_listbox__option__15" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">7:30 AM</li> 
    <li id="vdl_20_time_listbox__option__16" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">8:00 AM</li> 
    <li id="vdl_20_time_listbox__option__17" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">8:30 AM</li> 
    <li id="vdl_20_time_listbox__option__18" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">9:00 AM</li> 
    <li id="vdl_20_time_listbox__option__19" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">9:30 AM</li> 
    <li id="vdl_20_time_listbox__option__20" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">10:00 AM</li> 
    <li id="vdl_20_time_listbox__option__21" class="vdl-list__option vdl-list__option--focus vdl-list__option--selected" role="option" tabindex="-1" aria-selected="true">10:30 AM</li> 
    <li id="vdl_20_time_listbox__option__22" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">11:00 AM</li> 
    <li id="vdl_20_time_listbox__option__23" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">11:30 AM</li> 
    <li id="vdl_20_time_listbox__option__24" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">12:00 PM</li> 
    <li id="vdl_20_time_listbox__option__25" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">12:30 PM</li> 
    <li id="vdl_20_time_listbox__option__26" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">1:00 PM</li> 
    <li id="vdl_20_time_listbox__option__27" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">1:30 PM</li> 
    <li id="vdl_20_time_listbox__option__28" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">2:00 PM</li> 
    <li id="vdl_20_time_listbox__option__29" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">2:30 PM</li> 
    <li id="vdl_20_time_listbox__option__30" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">3:00 PM</li> 
    <li id="vdl_20_time_listbox__option__31" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">3:30 PM</li> 
    <li id="vdl_20_time_listbox__option__32" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">4:00 PM</li> 
    <li id="vdl_20_time_listbox__option__33" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">4:30 PM</li> 
    <li id="vdl_20_time_listbox__option__34" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">5:00 PM</li> 
    </ul> 
    </div>   

第二HTML:

<div> 
    <h3>Expiration</h3> 
    <i>Defaults in 24 hours</i> 
    <div class="dateTime"> 
    <!-- react-text: 2009 --> 
    Date 
    <!-- /react-text --> 
    <div class="vdl-date-time-picker" tabindex="-1"> 
    <div>Time</div> 
    <div class="vdl-date-time-picker" tabindex="-1"> 
    <input id="vdl_22_input" class="vdl-date-time-picker__input" aria-expanded="false" aria-busy="false" aria-owns="vdl_22_time_listbox" aria-haspopup="true" role="combobox" autocomplete="off" tabindex="0" value="" aria-activedescendant="vdl_22_time_listbox__option__0" type="text"/> 
    <span class="vdl-date-time-picker__select"> 
    <div class="vdl-timelist-popup vdl-popup vdl-popup--animate" style="display: none; overflow: hidden; height: 211.6px;"> 
    <div class="vdl-popup__content" style="transform: translateY(-100%); position: absolute;"> 
    <div> 
    <ul id="vdl_22_time_listbox" class="vdl-list" aria-labelledby="vdl_22_input" aria-live="false" aria-hidden="true" tabindex="-1" role="listbox"> 
    <li id="vdl_22_time_listbox__option__0" class="vdl-list__option vdl-list__option--focus" role="option" tabindex="-1" aria-selected="false">12:00 AM</li> 
    <li id="vdl_22_time_listbox__option__1" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">12:30 AM</li> 
    <li id="vdl_22_time_listbox__option__2" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">1:00 AM</li> 
    <li id="vdl_22_time_listbox__option__3" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">1:30 AM</li> 
    <li id="vdl_22_time_listbox__option__4" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">2:00 AM</li> 
    <li id="vdl_22_time_listbox__option__5" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">2:30 AM</li> 
    <li id="vdl_22_time_listbox__option__6" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">3:00 AM</li> 
    <li id="vdl_22_time_listbox__option__7" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">3:30 AM</li> 
    <li id="vdl_22_time_listbox__option__8" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">4:00 AM</li> 
    <li id="vdl_22_time_listbox__option__9" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">4:30 AM</li> 
    <li id="vdl_22_time_listbox__option__10" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">5:00 AM</li> 
    <li id="vdl_22_time_listbox__option__11" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">5:30 AM</li> 
    <li id="vdl_22_time_listbox__option__12" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">6:00 AM</li> 
    <li id="vdl_22_time_listbox__option__13" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">6:30 AM</li> 
    <li id="vdl_22_time_listbox__option__14" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">7:00 AM</li> 
    <li id="vdl_22_time_listbox__option__15" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">7:30 AM</li> 
    <li id="vdl_22_time_listbox__option__16" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">8:00 AM</li> 
    <li id="vdl_22_time_listbox__option__17" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">8:30 AM</li> 
    <li id="vdl_22_time_listbox__option__18" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">9:00 AM</li> 
    <li id="vdl_22_time_listbox__option__19" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">9:30 AM</li> 
    <li id="vdl_22_time_listbox__option__20" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">10:00 AM</li> 
    <li id="vdl_22_time_listbox__option__21" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">10:30 AM</li> 
    <li id="vdl_22_time_listbox__option__22" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">11:00 AM</li> 
    <li id="vdl_22_time_listbox__option__23" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">11:30 AM</li> 
    <li id="vdl_22_time_listbox__option__24" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">12:00 PM</li> 
    <li id="vdl_22_time_listbox__option__25" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">12:30 PM</li> 
    <li id="vdl_22_time_listbox__option__26" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">1:00 PM</li> 
    <li id="vdl_22_time_listbox__option__27" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">1:30 PM</li> 
    <li id="vdl_22_time_listbox__option__28" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">2:00 PM</li> 
    <li id="vdl_22_time_listbox__option__29" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">2:30 PM</li> 
    <li id="vdl_22_time_listbox__option__30" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">3:00 PM</li> 
    <li id="vdl_22_time_listbox__option__31" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">3:30 PM</li> 
    <li id="vdl_22_time_listbox__option__32" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">4:00 PM</li> 
    <li id="vdl_20_time_listbox__option__33" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">4:30 PM</li> 
    <li id="vdl_20_time_listbox__option__34" class="vdl-list__option" role="option" tabindex="-1" aria-selected="false">5:00 PM</li> 
    </ul> 
    </div> 
</div> 
+0

你試圖從第1個html或第2個檢索xpath? –

+0

我剛剛注意到他們都有唯一的ID,那麼爲什麼你可以使用它? –

回答

1

的發佈日期

//h3[text()='Publish Date']/..//li[@id='vdl_22_time_listbox__option__0'] 

爲到期日

//h3[text()='Expiration']/..//li[@id='vdl_22_time_listbox__option__0'] 

這裏的想法是找到節點h3有相應的文字,然後去到它的父節點,然後相對於這個找到你感興趣的節點。

+0

@SAkinSabak爲什麼你不使用唯一的ID –

0

我知道你接受了一個答案,但我不會使用ID來查找這些元素,因爲看起來他們將來可能會改變,如果頁面因爲編號而改變的話。一個同樣簡單的,如果不是更容易,辦法找到他們是

//h3[.='Publish Date']/following-sibling::div//ul 
//h3[.='Expiration']/following-sibling::div//ul 

這也抓住了UL(父到所有列表項),這可能會比第一LI更加有用。

+0

是的,我沒有使用ID。我用了別的東西。謝謝。 –