2

I am using the below code to click on navigation links one by one till it reaches end by using WebDriver but it throw NullPointerException, confused as I have already initialized and still facing this issue, please help.

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;
    }
}
0

1 Answer 1

12

Your issue starts here, I believe:

static WebDriver driver;
public static void main(String[] args) {
    WebDriver driver=new FirefoxDriver();

You've declared driver twice. Then you use the uninitialized driver in isElementPresent.

I think you can fix this as follows:

static WebDriver driver;
public static void main(String[] args) {
    driver=new FirefoxDriver();
Sign up to request clarification or add additional context in comments.

1 Comment

Thanks, it really helped...i didnt relize that it is the cause of Null pointer exception.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.