在网页上,
有很多具有相同名称的文本
示例
- 探索
- 探索
- 探索
- 探索
- 探索
我想单击第五或第四个
注意:当我重新加载网页
时,计数每次都不同- 探索
- 探索
- 探索
- 探索
- 探索
- 探索
- 探索
我想单击第六或第七文本。
请提供解决方案:
使用以下语法:不工作driver.find_elements_by_xpath("//*[contains(text((,'explore'(]"(
尝试通过CSS选择此元素 - 例如,如果您的'explore'元素是段落:
:locator = (By.CSS_SELECTOR,'p *:last-child')
# Alternative
# locator = (By.CSS_SELECTOR,'p:last-child')
# Alternative
# locator = (By.XPATH,"//p[contains(text(),'Explore')][last()]")
def click_button(self, *locator):
button = self.driver.find_element(*locator)
button.click()
如果您想单击前last元素:
locator = (By.CSS_SELECTOR,'p:nth-last-child(2)')
我希望它会有所帮助。
您可以使用python slice功能,获取最后两个探索,并获得唯一的探索,如果只有一个探索
eles = driver.find_elements_by_xpath("//*[contains(., 'Explore')]")
for ele in eles[-2:]:
ele.click()