如何使用Webdriver Selenium从菜单中选择元素?鼠标悬停时,菜单下拉显示?

时间:2012-09-05 06:06:49

标签: selenium selenium-rc selenium-webdriver

如何使用 Webdriver Selenium 从菜单中选择元素? 鼠标悬停上显示菜单下拉

4 个答案:

答案 0 :(得分:7)

您可以通过两种方式查看: 1)第一种方法是使用动作构建器

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();

请参阅here

2)另一种方法是使用jscript直接点击所需的元素,而不模拟鼠标悬停事件:

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());

希望这适合你)

答案 1 :(得分:0)

模拟mouseOver事件,然后选择您喜欢的元素:

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"));

答案 2 :(得分:0)

以下是我点击标记上不可见锚点链接的方法:由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();
}

答案 3 :(得分:0)

test2.py