我正在使用下面的代码通过使用 WebDriver 逐一单击导航链接,直到到达末尾,但它抛出 NullPointerException
,因为我已经初始化并且仍然面临这个问题,所以很困惑,请帮助。
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Exercise_dice {
static WebDriver driver;
public static void main(String[] args) {
WebDriver driver=new FirefoxDriver();
driver.get("http://www.dice.com");
driver.findElement(By.xpath("//*[@id='FREE_TEXT']")).sendKeys("selenium");
driver.findElement(By.xpath("//*[@id='searchSubmit']")).click();
String part1= "//*[@id='yui-main']/div/div[1]/div[1]/div[1]/a[";
String part2= "]";
int i=1;
while(isElementPresent(part1+i+part2)){
String text= driver.findElement(By.xpath(part1+i+part2)).getText();
System.out.println(text);
driver.findElement(By.xpath(part1+i+part2)).click();
i++;
}
}
public static boolean isElementPresent(String element_xpath){
int count=driver.findElements(By.xpath(element_xpath)).size();
if (count == 0)
return false;
else
return true;
}
}
最佳答案
我相信你的问题从这里开始:
static WebDriver driver;
public static void main(String[] args) {
WebDriver driver=new FirefoxDriver();
您已声明 driver
两次。然后,您在 isElementPresent
中使用未初始化的driver
。
我认为您可以按如下方式解决此问题:
static WebDriver driver;
public static void main(String[] args) {
driver=new FirefoxDriver();
关于selenium - Selenium WebDriver 中的空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23123963/