我的页面上有多个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是否有CSS等效项?
答案 0 :(得分:-1)
CSS选择器无法实现您想要的目标。
:nth-of-type()
会让您最接近,但只会在兄弟姐妹之间求值,而不会在各个级别中找到第n个项目。
您可以使用CSS选择器来识别该类中的所有元素,然后过滤选择第3个节点,但这效率不高,需要更多代码来维护。
如果您可以使用XPath (//span[@class='nav-label'])[3]
并且对您有用,那么请坚持使用该XPath表达式。