Could not find item with Xpath

I am trying to figure out the xpath element for a resource control when I tried with this code, driver.findElement(By.xpath("Resource Manager xpath")).click() , I found an error with an element missing message.

 <div class="os-titlebar navbar navbar-inverse"> <div class="navbar-inner"> <div class="container"> <ul class="nav menu-primary os-navbar-icon"> <ul class="nav context-menu" style=""> <ul class="nav os-navbar-icon os-titlebar-shortcuts pull-right os_shortcuts"> <li class="os-navbar-icon-home selected"> <li class="os-navbar-icon-quicklaunch os_quick_start"> <li class="os-navbar-icon-resourcemanager"> <li class="os-navbar-icon-apptray"> <li class="os-navbar-icon-notifications"> <li class="os-navbar-icon-minimise-close"> </ul> <form class="navbar-search pull-right ui-os-search-form" action=""> <ul class="nav os-navbar-icon os-desktop-navigation" style="left: 407.5px;"> </div> 
0
source share
3 answers

Resource Manager xpath not a valid xpath expression.

This should work:

 driver.findElement(By.xpath("//li[@class='os-navbar-icon-resourcemanager']")).click() 
+3
source

Use the css selector instead of xpath. Also an example of WebDriverWait

 WebDriverWait wait = new WebDriverWait(driver,300/*timeout in seconds*/); By findBy = By.cssSelector("li.os-navbar-icon-resourcemanager"); wait.until(ExpectedConditions.elementToBeClickable(findBy)).click(); 
+2
source

You may encounter "Unable to find item" in only two cases.

  1.The Element is yet to Load - Put some wait here. 2. You may try to locate the element wrongly . - Double Check your Xpath/ID(what ever) - Make sure you are in the same frame where the element is present.If not, switch to the frame then. 
+1
source

All Articles