51Testing软件测试论坛

标题: selenium 如何定位隐藏的选项。 [打印本页]

作者: culetstudio    时间: 2016-1-21 15:39
标题: selenium 如何定位隐藏的选项。
<div class="main-container-inner">
        <a href="#" id="menu-toggler" class="menu-toggler">
            <span class="menu-text"></span>
        </a>

        <a href="#" id="menu-toggler" class="menu-toggler">
    <span class="menu-text"></span>
</a>

<div id="sidebar" class="sidebar">
    <script type="text/javascript">
        try{ace.settings.check('sidebar' , 'fixed')}catch(e){}
    </script>

    <ul class="nav nav-list">
                        <li class="">
            <a class="dropdown-toggle" href="#">
                <i class="icon-inbox"></i>
                <span class="menu-text">用户管理</span>
                <b class="arrow icon-angle-down"></b>
            </a>
            <!-- 二级 -->
                        <ul class="submenu" style="display: none;">
                                <li>
                    <a href="/doctor/index">
                        <i class="icon-double-angle-right"></i>
                                                       用户列表                              
                                                <span style="" class="badge badge-danger" id="dr_num">144</span>
                        <audio style="visibility:hidden;" src="/assets/images/ring.wav" id="dr_ring"></audio>
                    </a>
                </li>
                            </ul>
                        <!-- /.二级 -->

用户列表需要点击用户管理后才会出现。
我写的先定位点击用户管理再点击用户列表,提示无法定位用户列表:
    driver.find_element_by_xpath("//span[contains(text(),'用户管理')]").click()
    driver.find_element_by_xpath("//a/[contains(text(),'用户列表')]").click()*这句是错的
    driver.find_element_by_xpath("//a[contains(@href,doctor]").click()*这句也是错的

请指点。谢谢。

作者: culetstudio    时间: 2016-1-21 15:52
这个应该属于联动菜单,不能直接find.click到二级菜单,有没有好的解决方法呢?
这种联动菜单比较多,还会频繁涉及到要点击其他的一级/二级菜单,比较麻烦?
作者: zzhengjian    时间: 2016-1-21 21:47
你这就是鼠标悬停然后弹出子菜单的问题,参考下这个链接里的方法吧。http://www.webdriver.org/article-15-1.html
作者: joykao    时间: 2016-1-22 08:28
可以在运行时去set元素的display属性设置成block就好了
作者: culetstudio    时间: 2016-1-23 15:20
多谢各位,已找到原因。不是没有找到那个二级菜单,而是完全没想到点开一个二级菜单,也要加入等待时间。。。。。。无语了。
作者: culetstudio    时间: 2016-1-23 15:21
多谢各位,已找到原因。不是没有找到那个二级菜单,而是完全没想到点开一个二级菜单,也要加入等待时间。。。。。。无语了。
作者: culetstudio    时间: 2016-1-23 15:21
多谢各位,已找到原因。不是没有找到那个二级菜单,而是完全没想到点开一个二级菜单,也要加入等待时间。。。。。。无语了。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2