以下是代码:
public static void test1() {
System.out.print("\nTo find UserName element");
Select select = new Select(driver.findElement(By.id("drop_down")));
System.out.print("\nElements found");
select.selectByIndex(1);
}
以下都没有下载:
select.selectByIndex(1);
select.selectByValue("1");
select.selectByVisibleText("Super Admin");
它引发了一个异常: 线程“main”中的异常org.openqa.selenium.NoSuchElementException:找不到具有值的选项:1
<select id="drop_down" style="width:205px;" name="drop_down">
<option value=""></option>
<option value="1">
Super Admin
</option>
<option value="4">
Question Reviewer
</option>
<option value="6">
Evaluator
</option>
</select>
答案 0 :(得分:1)
当您尝试访问时,可能是下拉列表未正确加载。
尝试以下代码等到下拉列表中的选项数量大于1,然后从中选择第一个选项:
try{
// Waits for 20 seconds
WebDriverWait wait = new WebDriverWait(driver, 20);
// Wait until expected condition size of the dropdown increases and becomes more than 1
wait.until((ExpectedCondition<Boolean>) new ExpectedCondition<Boolean>(){
public Boolean apply(WebDriver driver)
{
Select select = new Select(driver.findElement(By.id("drop_down")));
return select.getOptions().size()>1;
}
});
//To select the first option
Select select = new Select(driver.findElement(By.id("drop_down")));
select.selectByVisibleText("Super Admin");
}catch(Throwable e){
System.out.println("Error found: "+e.getMessage());
}
答案 1 :(得分:1)
嗨,根据1月15日6:35的第一个评论bu Subh,我也修改了代码但得到了与Abhinav在1月15日6:53提到的相同的错误,之后Subh说&#34;我已编辑我上面的代码..看看它是否适合您,让我知道,请...&#34;但是在评论之后我没有看到任何修改后的代码,因此这没有帮助....最后我搜索了其他几个论坛,我尝试使用selectByIndex()
作为: -
WebElement toactTyp=driver1.findElement(By.name((<Name of the Element to access>)));
Select toactSel=new Select(toactTyp);
toactSel.selectByIndex(2);
它适用于上面的代码.....我请求分享修改后的代码或至少修改已完成的行,因为它对我这么多很有用