2017-08-26 173 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(); 
     } 

注: - 点击第一个使用简单的点击操作下拉菜单,然后使用上面的代码。如果价值存在于深度较低的列表中,您是否也需要应用焦点

希望它能帮助您:)

相关问题