Selenium如何访问嵌套元素(CSS BootStrap)

时间:2018-07-10 14:10:29

标签: selenium selenium-webdriver

伙计们,我有一个在引导程序中设计的网页,想要访问下拉菜单中的元素,并且还可以单击进入下一页的elemnets。我一直在使用Firefox Selenium IDE来获取xpath,我确认路径存在。我为true,但是当我尝试获得点击时,我得到一个错误

    org.openqa.selenium.NoSuchElementException: Unable to locate element:

这是我的代码,我想进入下拉列表并单击可用的链接,感谢任何帮助

    <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse pull-left" id="navbar-collapse">
                <ul class="nav navbar-nav">
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle  hidden-xs" data-toggle="dropdown"><i class="glyphicons glyphicons-bed-alt"></i> Management<span class="caret"></span></a>

                        <ul class="dropdown-menu" role="menu">
                            <li class="  hidden-xs">
                                <a href="/Occupancy" onclick="clearStorage(); return true;"><span><i class="glyphicons glyphicons-bed-alt"></i> Occupancy</span></a>
                            </li>
                            <li class="  hidden-xs">
                                <a href="/List"><span><i class="glyphicons glyphicons-bed-alt"></i> Ward Occupancy</span></a>
                            </li>


                        </ul>
                    </li>


                </ul>

            </div>

我希望能够先找到管理元素,然后再单击下拉菜单,谢谢

1 个答案:

答案 0 :(得分:0)

我在玩耍,终于从http://learn-automation.com/handle-bootstrap-dropdown-in-selenium-webdriver/得到了答案。在Bootstrap下拉列表中,您需要转到元素,请打开元素,然后单击其上的链接

    driver.findElement(By.xpath("//a[contains(text(),'Management')]")).click();

    Thread.sleep(2000);

       driver.findElement(By.xpath("//div[@id='navbar-collapse']/ul/li/ul/li/a/span")).click();