Python Selenium 如何单击特定文本旁边的按钮?

标签 python selenium selenium-webdriver

<div class = "Repo List">
    <div class = "Repo">
        <div class = "Text">
            <span class = "Display Text">Repo1</span>
        </div>
        <div class = "Button">
            <div class = "Click Button">Delete</div>
        </div>
    </div>

    <div class = "Repo">
        <div class = "Text">
            <span class = "Display Text">Repo2</span>
        </div>
        <div class = "Button">
            <div class = "Click Button">Delete</div>
        </div>
    </div>

    <div class = "Repo">
        <div class = "Text">
            <span class = "Display Text">Repo3</span>
        </div>
        <div class = "Button">
            <div class = "Click Button">Delete</div>
        </div>
    </div>
</div>

上面的代码中我想点击删除按钮,问题是每次添加一个Repo时,该repo的类名、显示文本的类名、删除按钮的类名是除了存储库显示名称之外,所有存储库都相同。

我想做的就是单击特定存储库名称旁边的删除按钮。 我尝试了 .//span[text() = "RepoName"] 但这仅检测到存储库名称,而不检测到它旁边的按钮。

我对 Selenium 还很陌生,我对如何去做感到困惑。

最佳答案

如果您想要某个 RepoX 之后的按钮 div,请找到跨度并使用 Button 类获取以下 div:

.xpath("//span[text()='Repo3']/following::div[@class='Button']")

如果您不知道类名,但知道它是下一个 div:

 .xpath("//span[text()='Repo3']/following::div[1]")

关于Python Selenium 如何单击特定文本旁边的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36186328/

相关文章:

python - 如何同时运行多个 Selenium Firefox 浏览器?

grails - 从Geb测试访问Spring bean

java - 如何让 Selenium-WebDriver 在 Java 中等待几秒钟?

java - 在 selenium 中使用 FindBy 时出错。报错信息空点异常

windows - 30000 毫秒后 Protractor 超时

python - 查询以获取具有某些标签 y 的 x 问题

python - 用 Pandas 替换数据框中的值

python - 为什么我的最短哈密顿路径算法不是最优的?

python - pandas 中具有任意数量分组变量的用户定义函数

jsf - JSF 生成的 ID 是否保证在不同版本和实现中相同?