Python 使用第n个类型或第n个子元素选择n个元素

Python 使用第n个类型或第n个子元素选择n个元素,python,python-3.x,selenium,selenium-webdriver,selenium-chromedriver,Python,Python 3.x,Selenium,Selenium Webdriver,Selenium Chromedriver,我可以使用什么XPath或CSS选择器来选择第二个? 我曾尝试使用XPath//div[@class=“checkbox”][2]或CSS选择器div.checkbox:n子(2)它们都不起作用 在chrome开发工具上 使用$x('//div[@class=“checkbox”]”),我可以看到三个元素,我可以使用$x('//div[@class=“checkbox”]”)[0]指定第一个div class=checkbox,使用$x('//div[@class=“checkbox”]”)指定

我可以使用什么XPath或CSS选择器来选择第二个
? 我曾尝试使用XPath
//div[@class=“checkbox”][2]
或CSS选择器
div.checkbox:n子(2)
它们都不起作用 在chrome开发工具上

使用
$x('//div[@class=“checkbox”]”)
,我可以看到三个元素,我可以使用
$x('//div[@class=“checkbox”]”)[0]
指定第一个div class=checkbox,使用
$x('//div[@class=“checkbox”]”)指定第二个


A.
B
C

您需要结果中的第二个元素。这可以通过使用下面的

(//div[@class="checkbox"])[2]

我认为CSS不允许从结果中选择这样的内容

您需要从结果中选择第二个元素。这可以通过使用下面的

(//div[@class="checkbox"])[2]

我认为CSS不允许从结果中选择这样的内容,而不是尝试通过索引查找第二个元素,另一种可能是通过输入值或该DIV中包含的标签中的文本来获取它

//div[@class='checkbox'][./input[@value='B']]
//div[@class='checkbox'][./label[.='B']]

与试图通过索引查找第二个元素不同,另一种可能是通过输入上的值或该DIV中包含的标签中的文本来获取第二个元素

//div[@class='checkbox'][./input[@value='B']]
//div[@class='checkbox'][./label[.='B']]
既然已经提出了XPath方法,我想建议一种不同的方法

在CSS中,可以使用选择器选择第二个
,并从中获取嵌套的div。(
可以省略)

类似地,以下内容也适用于XPath:

//div[@class='f'][2]/div[@class='checkbox']
可以使用CSS选择器根据属性值选择元素,但不幸的是,不能选择父元素。

由于已经提出了XPath方法,我想建议一种不同的方法

在CSS中,可以使用选择器选择第二个
,并从中获取嵌套的div。(
可以省略)

类似地,以下内容也适用于XPath:

//div[@class='f'][2]/div[@class='checkbox']

您可以使用CSS选择器根据属性值选择元素,但不幸的是,您不能选择父元素。

因此,我不能直接使用类复选框选择第二个div?@jacobcan118,如果您只想使用CSS选择器直接选择元素,您不能直接选择第二个
。但是,由于您使用的是Selenium,因此可以使用
driver.findElement*s*(By.Css(“div.checkbox”)
获取所有
,然后选择所需的div。但是,我不确定当您使用
driver.findElements
时,列表中元素的顺序是否正确。@jacobcan118,如果您还有其他问题,请告诉我。如果我的答案有帮助,请投票/选择作为答案。谢谢所以我不能直接用class复选框选择第二个div?@jacobcan118,如果你只想使用CSS选择器,直接选择元素,你不能直接选择第二个
。但是,由于您使用的是Selenium,因此可以使用
driver.findElement*s*(By.Css(“div.checkbox”)
获取所有
,然后选择所需的div。但是,我不确定当您使用
driver.findElements
时,列表中元素的顺序是否正确。@jacobcan118,如果您还有其他问题,请告诉我。如果我的答案有帮助,请投票/选择作为答案。谢谢