【问题标题】:XPath selector for list item inside divdiv 内列表项的 XPath 选择器
【发布时间】:2015-12-05 05:50:15
【问题描述】:

我正在使用 selenium 来测试网站。我正在使用 XPath 选择器来获取一个项目。这是 HTML 的外观:

<div id="boundlist-1051" class="x-boundlist list_cfg_cls x-boundlist-floating x-layer x-boundlist-default" tabindex="-1" style="left: 1096px; top: 318px; width: 370px; z-index: 29001; height: auto;">
    <div id="boundlist-1051-listEl" class="x-boundlist-list-ct" style="overflow: auto; height: auto;">
        <ul>
            <li role="option" class="x-boundlist-item">User name</li>
        </ul>

    </div>
</div>

从包含名称为list_cfg_cls 的类的最上面的 div 开始,我需要导航到 &gt; div &gt; ui &gt; li.

这是我正在使用的,但出现了一些错误:

 driver.FindElement(By.XPath("//div[contains(@class='list_cfg_cls')]/div/ul/li")).Click();

我正在使用 XPath 选择器:“//div[contains(@class='list_cfg_cls')]/div/ul/li

列表下只有一项。

【问题讨论】:

    标签: javascript jquery selenium xpath css-selectors


    【解决方案1】:

    使用 XPath contains() 函数的正确方法是传递 2 个参数,如下所示:

    //div[contains(@class, 'list_cfg_cls')]/div/ul/li
    

    【讨论】:

    • 谢谢你的回答,我试过这个By.XPath("//div[contains(@class, 'list_cfg_cls')]/div/ul/li") 但我仍然无法产生想要的结果。
    • 那么问题出在其他地方,也许是硒特定的东西(不幸的是我不熟悉硒)。至于针对有问题发布的 HTML 的 xpath,它应该可以正常工作。在此处查看演示:xpathtester.com/xpath/4f6d37c6c1226d95959fce0473952896
    • @SharpCoder driver.FindElement(By.XPath("//div[contains(@class,'list_cfg_cls')]/div/ul/li")) 返回一个 WebElement(非空)?如果是,则问题不在于查找元素,而在于单击它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-05
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 2011-04-21
    • 2019-11-30
    • 2012-07-28
    相关资源
    最近更新 更多