2017-08-04 51 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。我用了别的东西。谢谢。 –