XPath选择下拉列表中的第一个元素

时间:2016-08-15 10:12:51

标签: xml xpath selenium-webdriver

我正在处理的下拉列表中的列表不是静态的。当前下拉列表中的值为:Lock1,Lock2,Lock3,Lock4。 由于这些是动态值,我想根据其在下拉列表中的位置编写我自己的xpath。 我想选择Lock1。

<div class="dropdown open">
    <button class="btn btn-white dropdown-toggle btn-block" type="button">
        <!-- react-text: 62 -->
        Lock1
        <!-- /react-text -->
        <span class="glyphicon glyphicon-chevron-up"/>
    </button>
    <div class="dropdown-menu">
        <div class="m-l-xs m-r-xs">
            <div class="search">
                <input type="text" placeholder="search"/>
                <i class="icon icon-search"/>
            </div>
        </div>
        <ul class="dropdown-list">
            <li class="active">
                <a title="Lock1">Lock1</a>
            </li>
            <li class="">
                <a title="Lock2">Lock2</a>
            </li>
            <li class="">
                <a title="Lock3">Lock3</a>
            </li>
            <li class="">
                <a title="Lock4">Lock4</a>
            </li>
        </ul>
    </div>
</div>

2 个答案:

答案 0 :(得分:3)

(//ul[@class='dropdown-list']/li[@class='active']/a)[1]

(//div[@class='dropdown-menu']/ul[@class='dropdown-list']/li[@class='active']/a)[1]

参考文献:

XPath Get first element of subset

XPath: Select first element with a specific attribute

答案 1 :(得分:0)

//ul/li[1]会返回Lock1,这就是您之后的目标吗?

您可能希望对ulli课程更加具体,但我会将此留给您。

PS:下次你要求某人为你写一个XPath表达式时,请确保你的输入有效(你错过了结束</div>)。