el = driver.find_elements_by_xpath("//div[contains(@class,'statsprogramsgridmodal')]//div[contains(@class,'ui-grid-icon-ok')]")
我在xpath上面写了一下找到web元素。它给了我三个结果。我想点击第二个网络元素。你能告诉我如何在python selenium中完成它吗?
答案 0 :(得分:2)
使用xpath从所有结果返回第二个匹配:
el = driver.find_element_by_xpath(
"(//div[contains(@class,'statsprogramsgridmodal')]//div[contains(@class,'ui-grid-icon-ok')])[2]")
使用xpath从同一级别返回第二个子节点:
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]
答案 1 :(得分:0)
你可以尝试:
driver.find_element_by_xpath('//yourXpath/following-sibling::node()').click()
或
driver.find_element_by_xpath('//yourXpath/following-sibling::theTag').click()
theTag是你想要的任何东西:div,tr,ul,......