首页 > 解决方案 > 如何在 Selenium 中通过它们的 innerText 定位元素 - Python

问题描述

我正在尝试使用它们的“innerText”(在我的例子中:“Sprint 1”、“Sprint 2”和“Sprint 3”)找到并单击按钮

这是我的html的一部分:

<div class="show dropdown">
    <div class="dropdown-menu show">
        <a href="#" class="dropdown-item active" role="button">
            <div class="period-title">
                <span><span class="badge badge-success">active</span><span class="abc-name">Sprint 1</span></span>
            </div>
        </a>
        <a href="#" class="dropdown-item" role="button">
            <div class="period-title">
                <span><span class="badge badge-info">future</span><span class="abc-name">Sprint 2</span></span>
            </div>
        </a>
        <a href="#" class="dropdown-item" role="button">
            <div class="period-title">
                <span><span class="badge badge-info">future</span><span class="abc-name">Sprint 3</span></span>
            </div>
        </a>
    </div>
</div>

这是我失败的尝试之一:(错误消息:“...不是有效的 XPath 表达式)

driver.find_elements_by_xpath("//span[contains(text(), 'Sprint 1'")

标签: pythonseleniumselenium-webdriver

解决方案


由于语法错误,它失败了。

试试这个:

//span[contains(.,'Sprint 1')]

或者

//span/text()[contains(.,'Sprint 1')]

谢谢。


推荐阅读