java - xPath 元素位置 - selenium

标签 java selenium xpath location element

网页上有以下源代码,我想要的是单击类 fa fa-repeat 下的按钮。尝试使用xpath = "//*[@id=\"accountsList\"//following-sibling::i[@class='fa fa-repeat']"但它不起作用。有人可以帮助/解释我为什么吗?定位这些元素的最佳替代方案是什么(不需要通过 xpath,也可以是 css 选择器)...

我的HTML代码如下:

<li class="list-group-item">
    <div class="row account-item">
        <div class="col-xs-10">
            <span class="label label-danger account-status">O<br>F<br>F</span>
            <div><b>assssss</b></div>
            <div>company</div>
        </div>
        <div class="col-xs-2 text-right">
            <i data-account="ababa" class="fa fa-repeat"></i>
            <i class="account-options fa fa-ellipsis-v" data-toggle="dropdown"></i>
            <ul class="dropdown-menu" role="menu">
                <li>
                    <a data-account="fds" class="account-option toggle-active">
                        <i class="fa fa-play"></i> Start </a>
                </li>
            </ul>
        </div>
    </div>
</li>

最佳答案

目标 i 元素不是 *[@id='accountsList'] 的同级元素 但是 后代:

//*[@id='accountsList']//i[@class='fa fa-repeat']

或使用更具体的路径:

//*[@id='accountsList']/div/div/i[@class='fa fa-repeat']

关于java - xPath 元素位置 - selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32561500/

相关文章:

dom - 如何在 XPath 中使用 "not"?

java - XML - Java 中的 XPath DOM 解析器

java - 在 Selenium 测试中使用 XPath 通过文本获取 WebElement

java - 无法使用 Scala 从 Cassandra DB 的原始数据类型映射读取数据

java - 如何使用do-while循环获取五个数字的总和、平均值、最小值和最大值-java

java - 将 MySql 日期时间映射到 hibernate

python - 如果我有网页上按钮的 xpath,如何在该特定元素周围放置一个框?

java - 数组的随机快速排序方法

javascript - 错误 selenium.common.exceptions.JavascriptException : Message: ReferenceError: room is not defined

Python Selenium - FireFox 网络驱动程序配置文件首选项中可能的键是什么