Selenium WebDriver - 无法单击仅在主菜单的单击和释放时出现的SubMenu

时间:2015-05-08 11:10:50

标签: selenium

我无法点击鼠标点击和释放时出现的子菜单。

html代码:

    <div class="ToolbarSubMenu" id="presentations" onmouseout="actionToolbarMenuSubMenuExit('presentations');" align="left" style="text-align: left; left: 0px; top: 0px; z-index: 1000; visibility: hidden;" parent="presentations_parent">
    <a id="hypothetical" class="ToolbarMenu" href="" onclick="onSelectMenuItem(201);;return false;">Hypothetical</a>
    <br><a id="profile" class="ToolbarMenu" href="" onclick="onSelectMenuItem(200);;return false;">Profile</a>
    <br><a id="rollingPeriods" class="ToolbarMenu" href="" onclick="onSelectMenuItem(542);;return false;">Rolling Periods</a>
    <br><a id="hiLo" class="ToolbarMenu" href="" onclick="onSelectMenuItem(540);;return false;">Hi / Lo</a>
    <br><a id="priceDistributions" class="ToolbarMenu" href="" onclick="onSelectMenuItem(541);;return false;">Price &amp; Distributions</a>
    <br><a id="exposureReport" class="ToolbarMenu" href="" onclick="onSelectMenuItem(204);;return false;">Exposure Report</a>
    <br>
</div>
<a id="presentations_parent" href="" class="ToolbarMenu" onclick="actionToolbarMenuClick('presentations');return false;">Presentations</a>

Selenium代码:

Actions act =new Actions(driver);

act.moveToElement(main).click().build().perform();   
act.release(main).build().perform();

 try {
    Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
    e.printStackTrace();
}

WebElement hyp=driver.findElement(By.linkText("Hypothetical"));
hyp.click();

1 个答案:

答案 0 :(得分:0)

我有时会遇到移动到元素的问题,即拖放功能有点像moveToElement。

我建议不要点击你期望的元素。

尝试按标签/ ID等查找元素,然后单击菜单和子菜单项。

此外,如果发生动画,您需要允许一个小延迟或使用waituntil功能来获取子菜单元素。