2017-02-14 2 views
0

HTML:Wie klicke ich innerhalb von ul mit Selen auf den li-Tag?

<div class="hdetSelect right moreRooms" style=""> 
<select class="bookedRoom_1 perSelector xsmall number-room-booked_fbc1336de4c882dd" ref="1" id="selectRoomBooked_1" style="display: none;"> 
    <option value="0">0</option> 
    <option value="1">1</option> 
    </select> 
<div class="nsSelect-container search-num-selector left"> 
    <input class="nsSelect-input bookedRoom_1 perSelector xsmall number-room-booked_fbc1336de4c882dd" type="text" style="display: inline-block;"> 
    <div class="nsSelect-opt-container search-num-selector left rounded5 hide" style="top: 696.8px; left: 875px; display: none;"> 
    <ul> 
    <li class="clear" style="display: block; width: 27px;"> 
    <a href="#" ref="0" class="">0</a> 
    </li> 
    <li style="display: block; width: 27px;"> 
    <a href="#" ref="1" class="active">1</a> 
    </li></ul> 
    <a class="nsSelect-close">Cancel</a></div></div> 
    <span class="dRoom">Room</span> 
</div> 

Ich versuche, eine li in einer Ul mit XPath oder cssSelector, aber ich immer die Fehlermeldung „kein solches Element: Kann nicht finden“ erhalten zu klicken.

Hier ist, was mit Ich versuche:

Mit Testamentsvollstrecker JavaScript mit cssSelector:

WebElement room_num = driver.findElement(By.cssSelector("div.room-list-item:nth-child(1)> div:nth-child(1)> div:nth-child(4)> div:nth-child(2)> div:nth-child(2)> ul:nth-child(1)> li:nth-child(2)>a")); 
executor.executeScript("arguments[0].click();",room_num); 

Mit XPath:

driver.findElement(By.xpath("//*[@id='room-list']/div[1]/div[1]/div[2]/div/div/ul/li[2]/a")).click(); 

Ich möchte/Klick auswählen (UI) li mit innerHTML 1, aber nichts scheint zu funktionieren. Mir gehen die Ideen aus, also bitte hinterlassen Sie Feedback oder vielleicht eine Lösung.

+0

Zuerst würde ich Ihnen vorschlagen, die Chrom-Entwickler-Tools zu verwenden, in denen Sie Rechtsklick auf ein Element und Kopieren-> XPath, um den Wert für Ihren Pfad zu verwenden –

+0

Ja, mein Xpath-Selektor wurde aus Chrome-Dev-Tools kopiert. –

+0

als der einzigen Grund, warum ich denken kann, ist, dass der dom erzeugt wird, nachdem Sie versuchen, das Element zugreifen kann, für die ich mehr Details benötigen, um welche Technologien e.t.c beteiligt sind –

Antwort

0

schließlich fand ich Lösung von link

dieser Teil meines Codes ist, wie Element nicht sichtbar Ausnahme zu lösen, wenn Klick li

WebElement room_select1= driver.findElement(By.xpath("(//input[@type='text'])[2]")); 
((JavascriptExecutor)driver).executeScript("arguments[0].click();", room_select1); 
int li_size=driver.findElements(By.xpath("//a[@ref='1']")).size(); 
driver.findElements(By.xpath("//a[@ref='1']")).get(li_size-1).click(); 
Verwandte Themen