Java 当每个选项打开新链接时,如何循环浏览下拉选项

Java 当每个选项打开新链接时,如何循环浏览下拉选项,java,selenium,Java,Selenium,如何循环浏览下拉列表中的每个选项,当每个选项在计算机上打开一个新链接时,在使用完当前选项后,我需要转到下拉列表的下一个选项。现在,为了进入下一个选项,我回到窗口,在那里有一个下拉列表,我从那里点击下一个选项。那么,有没有可能在我完成当前选项的工作后立即进入下一个选项 选择选项后,链接文档将在父框架中打开,这意味着链接将在同一页面中打开。它有父标记,其行为与 Nike.com 暗黑破坏神 您可以尝试以下代码: 更新: Select select=new Select(d

如何循环浏览下拉列表中的每个选项,当每个选项在计算机上打开一个新链接时,在使用完当前选项后,我需要转到下拉列表的下一个选项。现在,为了进入下一个选项,我回到窗口,在那里有一个下拉列表,我从那里点击下一个选项。那么,有没有可能在我完成当前选项的工作后立即进入下一个选项

选择选项后,链接文档将在父框架中打开,这意味着链接将在同一页面中打开。它有父标记,其行为与


Nike.com
暗黑破坏神

您可以尝试以下代码:

更新:

            Select select=new Select(driver.findElement(By.id("ab")));
            for(int i =0; i<select.getOptions().size();i++){
                select = new Select(driver.findElement(By.id("ab")));

                //selecting options
                select.selectByIndex(i);



                /*you can do nour work here depending upon option selected
                 * .
                 * .
                 * .
                 */


                driver.navigate().back();
            }
Select=newselect(driver.findElement(By.id(“ab”));

对于(int i=0;i“当每个选项在计算机上打开一个新链接时”是什么意思?这是否意味着打开一个新窗口?好的,这可以处理检查我下面的答案我尝试了你的代码,但它给出了错误:java.lang.NullPointerException:entry中的null值:name=null。在你的代码中,我插入了以下部分:
driver.switchTo().window(newWindowHandle);driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);driver.switch to().frame(“足球运动员详细信息”frame);findFootballer();
你能分享你的URL吗?很抱歉,我无法分享链接。我自己试图解决这个问题,用谷歌搜索了一下,似乎问题出在窗口处理。driver.switchTo().window(newWindowHandle);请在这个语句之前打印newWindowHandle并分享输出;在这个语句之前打开新的选项卡也是一样。
            Select select=new Select(driver.findElement(By.id("ab")));
            for(int i =0; i<select.getOptions().size();i++){
                select = new Select(driver.findElement(By.id("ab")));

                //selecting options
                select.selectByIndex(i);



                /*you can do nour work here depending upon option selected
                 * .
                 * .
                 * .
                 */


                driver.navigate().back();
            }