这是我的代码。
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)
答案 0 :(得分:1)
一方面,这是一个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);
答案 1 :(得分:0)
我认为你应该用0初始化我。
for (int i = 0; i <= tst.size(); i++)
此致
答案 2 :(得分:0)
列表为0索引,表示它从0运行到lst.size() - 1,从
更改for循环Form1
到
Show()
答案 3 :(得分:0)
谢谢你们。
for(int i=0;i<=tst.size()-1;i++)
它为我工作。
答案 4 :(得分:0)
请检查您的sysout是否有tst.size()。由于大小是10,我将你的循环改为for(int i = 0; i
根据Array概念,索引从0开始而不是1.因此上述修改应满足您的需要。