0

我无法获取下拉菜单的子菜单项,因为子菜单仅在主菜单项的 mouseOver 事件中可见。

我的代码:

主菜单项上的 mouseOver 事件

     IWebElement element = WebDriver.FindElement(By.Id(elementID));

     Actions action = new Actions(WebDriver);
     action.MoveToElement(element).Build().Perform();    

当我尝试获取菜单的子菜单项时,出现以下错误:“ ... OpenQA.Selenium.ElementNotVisibleException:无法单击元素”。

你建议我怎么做?

4

1 回答 1

0

我进行了谷歌搜索,发现一篇文章SELENIUM WEBDRIVER – 如何点击隐藏的链接或菜单,其中包含我的问题的解决方法。
这是这篇文章。

使用.mouseover()方法:

 js.ExecuteScript("return $(\"a:contains('Fruits')\").mouseover();"); // Mouse hove to main menu  
 webDriver.FindElement(By.LinkText("Banana")).Click();  

或使用.hover()方法:

 ((JavascriptExecutor)driver).executeScript("$('div#Fruits').hover();");  
  webDriver.FindElement(By.LinkText("Banana")).Click();  

或使用.mouseenter()方法:

((JavascriptExecutor)driver).executeScript("$('div#Fruits').mouseenter();")  
webDriver.FindElement(By.LinkText("Banana")).Click();  
于 2012-06-14T11:04:25.957 回答