如何从多个具有相同CSS的元素中进行选择?

时间:2019-01-13 17:36:48

标签: css selenium xpath

我的页面上有多个Web元素,它们的跨度标记和类名称为“ nav-label”。我正在使用Selenium Webdriver来自动化我的应用程序,我需要使用cssSelector定位器检查第3个此类元素。我可以通过创建XPath轻松地做到这一点。我想知道是否可以使用CSS等效选择器。

网络元素:

<span class="nav-label">sometext</span>

当我将CSS编写为css=.nav-label时,检查器显示有3个这样的元素。现在我要选择第三个。如何使用CSS做到这一点?

我可以通过将xpath写为(//span[@class='nav-label'])[3]

来使用xpath轻松完成此操作

上面的XPath是否有CSS等效项?

1 个答案:

答案 0 :(得分:-1)

CSS选择器无法实现您想要的目标。

:nth-of-type()会让您最接近,但只会在兄弟姐妹之间求值,而不会在各个级别中找到第n个项目。

您可以使用CSS选择器来识别该类中的所有元素,然后过滤选择第3个节点,但这效率不高,需要更多代码来维护。

如果您可以使用XPath (//span[@class='nav-label'])[3]并且对您有用,那么请坚持使用该XPath表达式。