Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

The command driver.findElement(By.xpath("xpath"). click(); is not working in Web driver. Kindly check the below code written in selenium RC and webdriver.

Selenium RC :

public void courselibrary_click() throws Exception {

        selenium.open("/ksdlms/");
        //selenium.setSpeed(null);
         selenium.windowMaximize();
         selenium.windowFocus();

         selenium.type("name=userID", "asha");

            selenium.type("name=password", "welcome");
            selenium.click("id=loginbutton");
            //selenium.waitForPageToLoad("30000");
            Thread.sleep(30000);
            System.out.println("ok");

            selenium.click("xpath=html/body/table/tbody/tr/td[2]/table/tbody/tr[2]/td[1]/table/tbody/tr[283]/td[2]/a");
            System.out.println("ok ok");
}

Webdriver :

public void courselibrary_click() throws Exception {
          driver.get(baseurl);
        driver.manage().window().maximize();
        //driver.switchTo().window("KESDEE Learning Management System.");
        driver.findElement(By.name("userID")).sendKeys("asha");
        driver.findElement(By.name("password")).sendKeys("welcome");
        driver.findElement(By.id("loginbutton")).click();
        System.out.println("ok");
        Thread.sleep(3000);
        System.out.println("ok ok");
       // driver.implicitly_wait(300);
        //System.out.println("ok");
        **driver.findElement(By.xpath("html/body/table/tbody/tr/td[2]/table/tbody/tr[2]/td[1]/table/tbody/tr[283]/td[2]/a")).click();**
                                //selenium.click("xpath=html/body/table/tbody/tr/td[2]/table/tbody/tr[2]/td[1]/table/tbody/tr[6]/td[2]/a");
       //element.click();
        Thread.sleep(1000);
}

After login to the application, driver is unable to find an element and throwing exception:

FAILED: courselibrary_click
org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"html/body/table/tbody/tr/td[2]/table/tbody/tr[2]/td[1]/table/tbody/tr[283]/td[2]/a"}
Command duration or timeout: 44 milliseconds
share|improve this question
    
Do you mean it works in RC and doesn't in Webdriver? Add snippet of HTML –  olyv Jun 20 at 11:07
    
All Se experts recommend to use id > name > link text > class > xpath. Can you use other, more preferred way to locate your element? –  Peter Masiar Jun 20 at 14:00
add comment

1 Answer 1

XPath locator should begin with //.

So try

    driver.findElement(By.xpath("html/body/table/tbody/tr/td[2]/table/tbody/tr[2]/td[1]/table/tbody/tr[283]/td[2]/a")).click();*
share|improve this answer
1  
Tried with Xpath locator "//" also, but it was not working. After using the command driver.switchTo().frame(1); it started working. Thanks –  user2787080 Jun 20 at 12:07
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.