Reputation: 11
WebElement Find=null;
Find=driver.findElement(By.xpath("//*[@id='headerapp']/div/div/ul/li[2]/a"));
if(Find!=null && Find.isDisplayed()){
Actions action=new Actions(driver);
action.moveToElement(Find).build().perform();
driver.findElement(By.xpath("//*[@id='headerapp']/div/div/ul/li[2]/ul/li[1]/a")).click();
driver.manage().timeouts().implicitlyWait(15000, TimeUnit.SECONDS);
}
Thread.sleep(2000);
WebElement mybuyers=null;
try{
mybuyers=driver.findElement(By.xpath("//a[contains(., 'My Buyers')]"));
if(mybuyers!=null && mybuyers.isDisplayed()){
Actions action=new Actions(driver);
action.moveToElement(mybuyers).build().perform();
mybuyers.click();
driver.manage().timeouts().implicitlyWait(15000, TimeUnit.SECONDS);
}
}catch(Exception e){
System.out.println("My Buyers link is not displayed");
}
finally{
driver.manage().timeouts().implicitlyWait(15000, TimeUnit.SECONDS);
}
Thread.sleep(2000);
WebElement mylisting=null;
try{
mylisting=driver.findElement(By.xpath("//a[contains(., 'My Listing')]"));
if(mylisting!=null && mylisting.isDisplayed()){
Actions action=new Actions(driver);
action.moveToElement(mylisting).build().perform();
mybuyers.click();
driver.manage().timeouts().implicitlyWait(15000, TimeUnit.SECONDS);
}
}catch(Exception e){
System.out.println("My Listing link is not displayed");
}
finally{
driver.manage().timeouts().implicitlyWait(15000, TimeUnit.SECONDS);
}
Upvotes: 0
Views: 1061
Reputation: 2267
Use FindElements instead of FindElement like this:
Boolean isMyBuyersPresent = driver.findElements(By.yourLocator).size() > 0
And
if(isMyBuyersPresent)
{
//You can re-find as below, or refactor the code and
//create a list in the above snippet and grab the first element here
mybuyers= driver.findElements(By.yourLocator)
}
Upvotes: 1