Reputation: 57
How can i select and click SubMenu2 on mouse over MainMenu in the menu given below?
I try with code given below but unable to select submenu2.Please help with your clues
Actions actions = new Actions(driver);
WebElement menuHoverLink = driver.findElement(By.cssSelector("#access > ul > li > a"));
actions.moveToElement(menuHoverLink);
WebElement subLink = driver.findElement(By.cssSelector("#access > ul > li > ul > li > a"));
actions.moveToElement(subLink);
actions.click();
actions.perform();
Upvotes: 0
Views: 3536
Reputation: 57
I got the solutions as:
Actions actions = new Actions(driver);
WebElement menuHoverLink = driver.findElement(By.cssSelector("#access > ul > li:first-child> a"));
actions.moveToElement(menuHoverLink).build().perform();
By submenucss= By.cssSelector(("#access> ul> li:first-child > ul> li:last-child a"));
WebDriverWait wait1 = new WebDriverWait(driver, 10);
wait1.until(ExpectedConditions.presenceOfElementLocated(submenucss));
WebElement submenu= driver.findElement(submenucss);
submenu.click();
Upvotes: 1
Reputation: 3235
see your main menu is getting opened using mousehover function and for submenu you just need to click on the required link, so you don't need to perform mouseHover on submenu link.. .you can do something like below:
Actions actions = new Actions(driver); WebElement menuHoverLink = driver.findElement(By.cssSelector("#access > ul > li > a")); actions.moveToElement(menuHoverLink).build().perform(); WebElement subLink = driver.findElement(By.cssSelector("#access > ul > li > ul > li > a")); subLink.click();
This will solve your purpose.
Upvotes: 1