Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取下拉菜单中列出的第一个和最后一个选项的索引号_Java_Selenium_Selenium Webdriver - Fatal编程技术网

Java 获取下拉菜单中列出的第一个和最后一个选项的索引号

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

我必须使用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> 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;i
    Select 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;
        }
    }