Selenium XPath for WebTable 使用父级和兄弟级



我试图在demoqa网站https://demoqa.com/webtables上自动化web表,我的目标是单击特定用户的编辑和删除按钮。请查收附件截图,以供参考。

截图我正在尝试单击用户'Cierra'的编辑和删除按钮,因此我创建了自定义XPath '//div[contains(text(),'cierra@example.com')]//以下::div[text()='Insurance']//以下::div//div//span[@title=' edit ']'

尝试使用包含电子邮件'cierra@example.com'的文本单击编辑和删除按钮,但我看到四个结果,即使我使用唯一的用户名。有人能帮我一下吗?

(//div[contains(text(),'cierra@example.com')]//following::div[text()='Insurance']//following::div//div//span[@title='Edit'])[1]

您可以将结果括在括号中并调用[1],以获得第一个:

但是你不需要把它弄得太复杂,只需要获取email然后返回到parent然后在父元素下获取span:

//div[contains(text(),'cierra@example.com')]/..//span[@title="Edit"]

如果您仍然想使用花哨的xpath定位器,那么使用:

//div[contains(text(),'cierra@example.com')]/following-sibling::div[contains(text(),'Insurance')]/following-sibling::div//span[@title='Edit']

最新更新