Selenium webdriver “线程中的异常”;“主要”;java.lang.IndexOutOfBoundsException:索引:23,大小:23
我想显示链接总数和链接名称,我有我的代码,但它有IndexOutOfBoundsException错误Selenium webdriver “线程中的异常”;“主要”;java.lang.IndexOutOfBoundsException:索引:23,大小:23,selenium-webdriver,Selenium Webdriver,我想显示链接总数和链接名称,我有我的代码,但它有IndexOutOfBoundsException错误 String BaseURL = "http://istp.in/changathionlinebeta/index.php"; WebDriver wd = new FirefoxDriver(); wd.get(BaseURL); // get size java.util.List<WebElement> links = wd.fin
String BaseURL = "http://istp.in/changathionlinebeta/index.php";
WebDriver wd = new FirefoxDriver();
wd.get(BaseURL);
// get size
java.util.List<WebElement> links = wd.findElements(By.tagName("a"));
System.out.println("Total Number Of Links: " + links.size());
// display links
for (int i = 0; i <= links.size(); i++) {
System.out.println(links.get(i).getText());
links.get(i).click();
wd.navigate().back();
}
String BaseURL=”http://istp.in/changathionlinebeta/index.php";
WebDriver wd=新的FirefoxDriver();
get(BaseURL);
//变大
java.util.List links=wd.findElements(按.tagName(“a”));
System.out.println(“链接总数:+Links.size());
//显示链接
for(int i=0;ifor(int i=0;i
替换(int i=0;i{
...
}
替换使用
您的代码将向您显示一个错误。请尝试下面的方法
String BaseURL = "http://istp.in/changathionlinebeta/index.php";
WebDriver wd = new FirefoxDriver();
wd.get(BaseURL);
// get size
java.util.List<WebElement> links = wd.findElements(By.tagName("a"));
System.out.println("Total Number Of Links: " + links.size());
int size = links.size();
// display links
for (int i = 0; i < size; i++) {
java.util.List<WebElement> linksloop = wd.findElements(By.tagName("a"));
System.out.println(linksloop.get(i).getText());
linksloop.get(i).click();
wd.navigate().back();
Thread.sleep(3000);
}
String BaseURL=”http://istp.in/changathionlinebeta/index.php";
WebDriver wd=新的FirefoxDriver();
get(BaseURL);
//变大
java.util.List links=wd.findElements(按.tagName(“a”));
System.out.println(“链接总数:+Links.size());
int size=links.size();
//显示链接
对于(int i=0;i
使用
您的代码将向您显示一个错误。请尝试下面的方法
String BaseURL = "http://istp.in/changathionlinebeta/index.php";
WebDriver wd = new FirefoxDriver();
wd.get(BaseURL);
// get size
java.util.List<WebElement> links = wd.findElements(By.tagName("a"));
System.out.println("Total Number Of Links: " + links.size());
int size = links.size();
// display links
for (int i = 0; i < size; i++) {
java.util.List<WebElement> linksloop = wd.findElements(By.tagName("a"));
System.out.println(linksloop.get(i).getText());
linksloop.get(i).click();
wd.navigate().back();
Thread.sleep(3000);
}
String BaseURL=”http://istp.in/changathionlinebeta/index.php";
WebDriver wd=新的FirefoxDriver();
get(BaseURL);
//变大
java.util.List links=wd.findElements(按.tagName(“a”));
System.out.println(“链接总数:+Links.size());
int size=links.size();
//显示链接
对于(int i=0;i
每次for循环运行时创建linksLoop
不是不对吗。它应该在循环外部定义。@rupinderjeet47否…当他返回时,驱动程序将找不到上一个dom元素并显示错误…这就是为什么我每次建议他创建linksLoopjava.util.List linksLoop;
然后>for循环
,然后在for循环
中初始化linksLoop
,作为linksLoop=wd.findElements(按.tagName(“a”))
此代码中分离声明和初始化是否错误?@rupinderjeet47首先在您的机器中运行acmsadik代码,然后查看发生了什么,并给出如何修复该错误的建议……我认为您不熟悉该错误是的,它不起作用,或者IndexOutOfBoundsException错误已被删除,但还有另一个问题em::线程“main”中的异常org.openqa.selenium.ElementNotVisibleException:元素当前不可见,因此可能无法与命令持续时间或超时进行交互:28毫秒每次for循环运行时创建linksLop
没有错。它应该在循环外定义。@rupinderjeet47否…当驱动程序返回时,将找不到pr前一个dom元素并将显示一个错误…这就是为什么我每次建议他创建linksloopjava.util.List linksloop;
,然后创建for loop
,然后在for loop
中初始化linksloop
作为linksloop=wd.findElements(按.tagName(“a”))
此代码中分离声明和初始化是否错误?@rupinderjeet47首先在您的机器中运行acmsadik代码,然后查看发生了什么,并给出如何修复该错误的建议……我认为您不熟悉该错误是的,它不起作用,或者IndexOutOfBoundsException错误已被删除,但还有另一个问题em::线程“main”org.openqa.selenium.ElementNotVisibleException中的异常:元素当前不可见,因此可能无法与命令持续时间或超时进行交互:28毫秒
i <= links.size() because size return 23 but index start from 0 that means the last(23rd) element index is 22
wd.navigate().back();
String BaseURL = "http://istp.in/changathionlinebeta/index.php";
WebDriver wd = new FirefoxDriver();
wd.get(BaseURL);
// get size
java.util.List<WebElement> links = wd.findElements(By.tagName("a"));
System.out.println("Total Number Of Links: " + links.size());
int size = links.size();
// display links
for (int i = 0; i < size; i++) {
java.util.List<WebElement> linksloop = wd.findElements(By.tagName("a"));
System.out.println(linksloop.get(i).getText());
linksloop.get(i).click();
wd.navigate().back();
Thread.sleep(3000);
}