<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/