在单击该元素之前,我正在使用等待元素功能的可见性。但是,HTML 中有多个元素可以满足我对元素使用的搜索,这就是我想要的。如何使用等待可见性来等待多个元素中的第 N 个元素变得可见?
例如,这是我的代码的一部分,其结果是等待多个元素中的第一个元素的可见性,然后单击它:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By
driver = webdriver.Firefox()
wait = WebDriverWait(driver, 10)
Start_Element = wait.until(expected_conditions.visibility_of_element_located((By.XPATH, "//*[@class='start' and starts-with(text(), '7')]")))
Start_Element.click()
我希望能够等待第一个、第二个、第三个等 Start_Element 可见,然后单击它。
我知道如果我只想点击第 N 个元素,我可以做这样的事情,最后的 [n] 决定我点击哪个元素:
driver.find_elements_by_xpath("//*[@class='start' and starts-with(text(), '7')]")[0].click()
但是,我想不通的是如何将其合并到等待可见性功能中,以等待第 n 个元素的可见性,然后再单击它。
谢谢!