这是我的代码。
List<WebElement> tst = driver.findElements(By.xpath(".//*@id='container']/div/div[2]/div/div/div"));
System.out.println(tst.size());
Thread.sleep(2000);
for (int i = 1; i<=tst.size(); i=i+1)
{
System.out.println(tst.get(i).getText());
Thread.sleep(1000);
但低于错误。请帮我解决
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 10, Size: 10
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Samples.sample2.main(sample2.java:42)
一方面,这是一个java代码,而不是一个javascript代码。另一方面,您尝试访问索引为10的元素,但此列表的最后一个元素的索引为9,因为java列表中的索引从0开始(0到9)。你必须从0循环到tst.size() - 1:
List<WebElement> tst = driver.findElements(By.xpath(".//*@id='container']/div/div[2]/div/div/div"));
System.out.println(tst.size());
Thread.sleep(2000);
for(int i=0;i<=tst.size()-1;i++)
{
System.out.println(tst.get(i).getText());
Thread.sleep(1000);
我想你应该用0初始化我。
for (int i = 0; i <= tst.size(); i++)
问候
该列表为0索引,这意味着它从0运行到lst.size() - 1,从中更改for循环
for (int i = 1; i<=tst.size(); i=i+1) //In your case, runs from 1 to 10(included)
至
for (int i = 0; i<tst.size(); i=i+1) //For your case, this runs from 0 to 9(included)
请检查您的sysout以获取tst.size()。由于大小是10,我将你的循环改为for(int i = 0; i
根据Array概念,索引从0开始而不是1.因此上述修改应满足您的需要。
多谢你们。
for(int i=0;i<=tst.size()-1;i++)
它为我工作。