与selenium中的下拉列表交互时出错

q3qa4bjr  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(169)

这个问题在这里已经有答案了

什么是indexoutofboundsexception?我该怎么修[重复](1个答案)
为什么会抛出indexoutofboundsexception(2个答案)
27天前关门了。
请引导我通过这个。。。提前谢谢。
在这里,我试图打印“发现”消息,如果我从产品的下拉列表中得到“m”大小,但当我运行此程序时,它会打开浏览器,加载url,单击产品并打开产品的下拉列表,然后我会得到indexoutofboundexception,如下所示:
注意:我不想在下拉列表中使用select类。所以,我使用click()方法打开下拉列表。
我的代码:

import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class DropDownAutomate {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver", "../HOMEWORKAUTOMATION/Driver/chromedriver.exe");
        WebDriver  driver = new ChromeDriver();

        driver.manage().window().maximize(); //Maximize the window of browser.
        driver.get("http://automationpractice.com/index.php"); // Loads URL in browser.

        driver.findElement(By.linkText("Printed Dress")).click(); // Clicks on the image tile of the product.

        driver.findElement(By.id("group_1")).click(); // Opens drop-down by matching the ID.

        List<WebElement> lstSize = driver.findElements(By.id("group_1"));

        for (int i=1; i<=lstSize.size(); i++)
        {
            String ddText = lstSize.get(i).toString(); // Gets value of drop-down by its index.

            if (ddText.equals("M"))
            {
                System.out.println("Found");
            }

        }
    }

}

控制台出错:

INFO: Detected dialect: W3C
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
    at java.util.ArrayList.rangeCheck(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
    at DropDownAutomate.main(DropDownAutomate.java:27)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题