How to select an item from a menu using Webdriver Selenium? A popup menu appears on Mouse Over?

How to select an item from a menu using Webdriver Selenium ? Mouse ? Is displayed in the drop-down menu

+4
source share
4 answers

You can check this in two ways: 1) the first way is to use the action constructor

WebElement mnuElement; WebElement submnuElement; mnEle = driver.findElement(By.Id("mnEle")).Click(); sbEle = driver.findElement(By.Id("sbEle")).Click(); Actions builder = new Actions(driver); // Move cursor to the Main Menu Element builder.MoveToElement(mnEle).Perform(); // Giving 5 Secs for submenu to be displayed Thread.sleep(5000L); // Clicking on the Hidden SubMenu driver.findElement(By.Id("sbEle")).Click(); 

Look here

2) another approach is to click directly on the required element using jscript without simulating a mouseover event:

 String cssLocatorOfTheElement=....//locator of the element to click on JavascriptExecutor js = (JavascriptExecutor) driver; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("var x = $(\'"+cssLocatorOfTheElement+"\');"); stringBuilder.append("x.click();"); js.executeScript(stringBuilder.toString()); 

hope this works for you)

+7
source

Simulate a mouseOver event, and then select an element that you might like:

 var elementToShowMenu = Driver.FindElement(Byl.Id("some id")); new Actions(Driver).MoveToElement(elementToShowMenu).Release(elementToShowMenu).Build().Perform(); var menuElement = Driver.FindElement(Byl.Id("your menu id")); 
0
source

Here's how I click on an invisible anchor on a tag: a link that is dynamically generated by Javascript:

 public static void mouseClickByLocator( String cssLocator ) { String locator = cssLocator; WebElement el = driver.findElement( By.cssSelector( locator ) ); Actions builder = new Actions(driver); builder.moveToElement( el ).click( el ); builder.perform(); } 
0
source
 WebElement mnuElement; WebElement submnuElement; mnuElement = driver.findElement(By.cssSelector("insert selector here")); submnuElement = driver.findElement(By.cssSelector("insert selector here")); Actions builder = new Actions(driver); // Move cursor to the Main Menu Element builder.moveToElement(mnuElement).perform(); // Pause 2 Seconds for submenu to be displayed TimeUnit.SECONDS.sleep(2); //Pause 2 seconds // Clicking on the Hidden submnuElement submnuElement.click(); 
0
source

Source: https://habr.com/ru/post/1432414/


All Articles