使用硒获得父元素的更好方法

问题描述 投票:-1回答:1

有这个按钮,当我尝试单击时,他有点移动并打开一个子菜单。解决方案很简单,只需单击位于他上方几级的div(仍然是按钮)即可。但是他总是在改变班级名称。

我想使用这种像差//div[@style]/span[@aria-label]/../../../../../..来做到这一点。

我也尝试使用//div[@style]/span[@aria-label]/parent::div[@role="option"],但是它不起作用,我也不知道为什么。

有人对它变得更体面有任何建议吗?我确信“ ../”并不是要在那么多级别上使用...

[此外,我试图在整个项目中使用CSS选择器,但是花了几个小时查看StackOverflow的答案之后,解决方案似乎是使用XPATH。如果有一种使用CSS选择器执行此操作的方法,我将非常感兴趣。

selenium xpath css-selectors
1个回答
0
投票

您可以使用:]缩短XPath表达式并使之更具可读性:>

//div[@style]/span[@aria-label]/ancestor::*[5]

ancestor::*[5]代替/../../../../../..的地方。

© www.soinside.com 2019 - 2024. All rights reserved.