Java 获取下拉菜单中列出的第一个和最后一个选项的索引号
我必须使用SeleniumWebDriver在下拉菜单中找到第一个和最后一个列出的选项Java 获取下拉菜单中列出的第一个和最后一个选项的索引号,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我必须使用SeleniumWebDriver在下拉菜单中找到第一个和最后一个列出的选项 li class="dropdown location" ul class="select" <li> class="dropdown location" <ul> class="select" <li> data-site="http://www.example.com" value="ES">Europe</li> <li> d
li class="dropdown location"
ul class="select"
<li> class="dropdown location"
<ul> class="select"
<li> data-site="http://www.example.com" value="ES">Europe</li>
<li> data-site ="http://www.example.com" value="SG">Singapore</li>
li class=“下拉位置”
ul class=“选择”
class=“下拉位置”
class=“选择”
- 数据站点=”http://www.example.com“value=”ES“>欧洲
- 数据站点=”http://www.example.com“value=”SG“>新加坡
有50多种选择。我想找到
新加坡。有没有办法在Webdriver中找到它?是的,有办法找到具有特定值的索引 获取列表的所有选项。
将列表中每个元素的文本与可描述文本进行比较,见下文
Select sel = new Select(driver.findElement(By.cssSelector("select[title='Sort By']")));
List<WebElement> list = sel.getOptions();
for(int i=0;i<list.size();i++){
if(list.get(i).getText().equals("Price")){
System.out.println("The index of the selected option is: "+i);
break;
}
}
Select sel=new Select(driver.findElement(By.cssSelector)(“Select[title='Sort By']));
List=sel.getOptions();
对于(int i=0;iSelect sel=new Select(driver.findelelement(By.cssSelector)(“Select[title='Sort By']));
List=sel.getOptions();
int指数=0;
foreach(WebElement选项:列表)
{
if(option.getText().equals(“price”))
{
index=list.indexOf(选项);
打破
}
}
当然!您尝试过众多方法中的哪一种?什么对您不起作用?我尝试了列表方法来获取所有50多个选项并在控制台中打印它们。但我发现在获取第n个菜单的索引时遇到了困难。50个选项意味着列出了50多个国家/地区的选项,而不是方法。请仔细阅读阅读并编辑你的帖子,添加你的代码,并解释你到底遇到了什么问题。
Select sel = new Select(driver.findElement(By.cssSelector("select[title='Sort By']")));
List<WebElement> list = sel.getOptions();
int index = 0;
foreach(WebElement option : list)
{
if(option.getText().equals("price"))
{
index = list.indexOf(option);
break;
}
}