el = driver.find_elements_by_xpath("//div[contains(@class,'statsprogramsgridmodal')]//div[contains(@class,'ui-grid-icon-ok')]")
我在 xpath 上面写了找到 web 元素。它给了我三个结果。我想点击第二个网络元素。你能告诉我如何在 python selenium 中完成它吗?
最佳答案
使用 xpath 从所有结果中返回第二个匹配项:
el = driver.find_element_by_xpath(
"(//div[contains(@class,'statsprogramsgridmodal')]//div[contains(@class,'ui-grid-icon-ok')])[2]")
使用 xpath 从同一级别返回第二个 child :
el = driver.find_element_by_xpath(
"//div[contains(@class,'statsprogramsgridmodal')]//div[contains(@class,'ui-grid-icon-ok')][2]")
或者使用 xpath 返回多个元素:
el = driver.find_elements_by_xpath(
"//div[contains(@class,'statsprogramsgridmodal')]//div[contains(@class,'ui-grid-icon-ok')]")[1]
或者使用返回多个元素的 css 选择器:
el = driver.find_elements_by_css_selector(
"div[class*='statsprogramsgridmodal'] div[class*='ui-grid-icon-ok']")[1]
关于python - 如何单击 python selenium 中 web 元素列表中的第二个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46603310/