2017-08-26 110 views
0

這是下面的代碼,我不能使用select類來使用可見的文本/索引,因爲它沒有任何選擇標記。 在這裏我很困惑的是有一個編碼下拉框和drodown值不同的編碼。如何選擇使用硒webdriver沒有選擇標籤的下拉菜單?

1)下拉框代碼,可以點擊它是

<div data-aura-rendered-by="16:2348;a"> 
<a class="select" aria-required="true" aria-disabled="false" aria-haspopup="true" tabindex="0" role="button" aria-label="Lead Status" title="" href="javascript:void(0);" data-aura-rendered-by="17:2348;a" data-interactive-lib-uid="8">New</a> 
</div> 

2)下拉值代碼如下

<ul class="scrollable" role="presentation" data-aura-rendered-by="31:2348;a" data-scoped-scroll="true"> 
<!--render facet: 1770:0--> 
<li class="uiMenuItem uiRadioMenuItem" role="presentation" data-aura-rendered-by="1774:0" data-aura-class="uiMenuItem uiRadioMenuItem"> 
<li class="uiMenuItem uiRadioMenuItem" role="presentation" data-aura-rendered-by="1780:0" data-aura-class="uiMenuItem uiRadioMenuItem"> 
<li class="uiMenuItem uiRadioMenuItem" role="presentation" data-aura-rendered-by="1786:0" data-aura-class="uiMenuItem uiRadioMenuItem"> 
<li class="uiMenuItem uiRadioMenuItem" role="presentation" data-aura-rendered-by="1792:0" data-aura-class="uiMenuItem uiRadioMenuItem"> 
<a href="javascript:void(0);" data-aura-rendered-by="1793:0" role="menuitemradio" aria-disabled="false" tabindex="0" title="Working" aria-checked="false"> 
<b/> 
Working 
</a> 
</li> 
<li class="uiMenuItem uiRadioMenuItem" role="presentation" data-aura-rendered-by="1798:0" data-aura-class="uiMenuItem uiRadioMenuItem"> 
<li class="uiMenuItem uiRadioMenuItem" role="presentation" data-aura-rendered-by="1804:0" data-aura-class="uiMenuItem uiRadioMenuItem"> 
<!--render facet: 32:2348;a--> 
</ul> 

我曾嘗試在許多方面,包括選擇類和個人的XPath

例如:

driver.findElement(By.xpath("//a[@class='select']")).sendKeys("Working"); 
driver.findElement(By.xpath("//a[@class='select']")).click(); 
driver.findElement(By.xpath("//div/ul/li[4]/a")).click(); 
Select dropdown = new Select(driver.findElement(By.xpath("//a[@class='select'][@aria-label='Lead Status']"))); 
dropdown.selectByVisibleText("Working"); 

請幫助我如何從下拉列表中選擇列表而無需選擇班級。

+0

您遇到的錯誤是什麼? – Kapil

回答

0

首先找到一個xpath,它將返回所有下拉列表的值。然後使用List可以選擇任何值。

 List<WebElement> myElements = driver.findElements(mySelector); 
     for(WebElement e : myElements) { 
     if(e.getText().equalsIgnoreCase("Your_Desire_Value")) { 
      e.click(); 
     } 

注: - 點擊第一個使用簡單的點擊操作下拉菜單,然後使用上面的代碼。如果價值存在於深度較低的列表中,您是否也需要應用焦點

希望它能幫助您:)

相關問題