Unable to locate element: {"method":"xpath","selector":"//li[@id="tablist1-tab3"]"} error using Selenium and Java

Viewed 202

I have received this error for several times:

Unable to locate element: {"method":"xpath","selector":"//li[@id="tablist1-tab3"]"}

Code that I have used is:

options.addArguments("--headless");
options.addArguments("window-size=1200x900");
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
WebElement tab = driver.findElement(By.xpath("//li[@id=\"tablist1-tab3\"]"));
tab.click();

Can someone help me with this error?

3 Answers

You need to use WebDriverWait for the elementToBeClickable() and you can use either of the following Locator Strategies:

  • cssSelector:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("li#tablist1-tab3"))).click();
    
  • xpath:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//li[@id=\"tablist1-tab3\"]"))).click();
    

WebElement tab = driver.findElement(By.xpath('//li[@id="tablist1-tab3"]')); try this

Make sure the element is not inside an iFrame. If it is, then you need to first find the iFrame element and use Selenium's switchTo(). After that you will be able to locate elements inside the iframe.

Related