首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >操作链-无法选择子菜单

问操作链-无法选择子菜单
EN

Stack Overflow用户
提问于 2014-02-14 17:05:37
回答 1查看 507关注 0票数 0

也许有人能帮我解决这个问题。我希望能够使用java和Selenium创建一系列操作。以下是网页的来源:

代码语言:javascript
复制
<li id="menu-item-14" class="menu-item menu-item-type-post_type menu-item-object-page   current-menu-item page_item page-item-5 current_page_item menu-item-has-children menu-item-14"><a href="http://www.somewebsite.com/about/">About</a>
<ul class="sub-menu" style="display: none; visibility: hidden;">
    <li id="menu-item-43" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-43"><a href="http://www.somewebsite.com/team/">Team</a></li>
</ul>
</li>

基本上,当您悬停在“关于”菜单上时,会出现一个子菜单名称团队,我希望能够选择该子菜单。这就是我的代码

代码语言:javascript
复制
WebElement aboutMenu = _driver.findElement(By.id("menu-item-14"));
Actions builder = new Actions(_driver);
Action seriesofactions = builder
.moveToElement(aboutMenu)
.moveToElement(_driver.findElement(By.id("menu-item-43")))
.click()
.build();
seriesofactions.perform();

如果我使用第二个moveToElement,代码就能正常工作。有什么想法会很感激的吗?

更新:使用Java代码

代码语言:javascript
复制
WebElement menuHoverLink = _driver.findElement(By.id("menu-item-14"));
        actions.moveToElement(menuHoverLink).perform();
try {
            ((JavascriptExecutor)    _driver).executeScript("document.getElementByid('menu-item-14')).style.display='block'");
        } catch (Exception e) {
e.printStackTrace(); 
}
_driver.findElement(By.id("menu-item-43")).click();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-14 18:02:57

当您悬停在菜单项-14上时,ul class=“子菜单”上的样式将更改为“style=”显示:块,并可能从样式元素中删除可见性,然后允许出现菜单项-43以供选择。

有关使用鼠标而不是悬浮在selenium中的更多信息,请参见本文。

How to do mouse hover using Selenium WebDriver in Firefox 19?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21785324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档