如何单击python selenium中web元素列表中的第二个元素?

Sho*_*tar 3 python selenium

el = driver.find_elements_by_xpath("//div[contains(@class,'statsprogramsgridmodal')]//div[contains(@class,'ui-grid-icon-ok')]")
Run Code Online (Sandbox Code Playgroud)

我已经在 xpath 上面写了找到 web 元素。它给了我三个结果。我想点击第二个网页元素。你能告诉我如何在 python selenium 中完成吗?

Flo*_* B. 6

使用 xpath 从所有结果中返回第二个匹配项:

el = driver.find_element_by_xpath(
  "(//div[contains(@class,'statsprogramsgridmodal')]//div[contains(@class,'ui-grid-icon-ok')])[2]")
Run Code Online (Sandbox Code Playgroud)

使用 xpath 从同一级别返回第二个孩子:

el = driver.find_element_by_xpath(
  "//div[contains(@class,'statsprogramsgridmodal')]//div[contains(@class,'ui-grid-icon-ok')][2]")
Run Code Online (Sandbox Code Playgroud)

或使用 xpath 返回多个元素:

el = driver.find_elements_by_xpath(
  "//div[contains(@class,'statsprogramsgridmodal')]//div[contains(@class,'ui-grid-icon-ok')]")[1]
Run Code Online (Sandbox Code Playgroud)

或使用 css 选择器返回多个元素:

el = driver.find_elements_by_css_selector(
  "div[class*='statsprogramsgridmodal'] div[class*='ui-grid-icon-ok']")[1]
Run Code Online (Sandbox Code Playgroud)