【发布时间】:2021-11-24 07:12:16
【问题描述】:
我几乎可以肯定,对此几乎没有简单的解决方案,但是..
我正在单击网页的一个元素,之后会出现超过 2 个不同页面中的一个。
比我需要单击每种结果页面的特定元素之一。
如果我有 2 个变体,我可以使用 TRY 和 EXCEPT + WebDriverWait.until 结构。
lesson = driver.find_element_by_xpath('//input[@class = "playButton"]')
lesson.click()
try:
WebDriverWait(driver, 3).until(EC.element_to_be_clickable((By.XPATH, '//div[@class = "cursor-hover"]')))
start_b = driver.find_element_by_xpath('//div[@class = "cursor-hover"]')
start_b.click()
except:
WebDriverWait(driver, 2).until(EC.element_to_be_clickable((By.XPATH, '//div[@class = "cursor-hover2"]')))
start_g = driver.find_element_by_xpath('//div[@class = "cursor-hover2"]')
start_g.click()
这个结构很完美。如果没有第一个元素 - 单击第二个元素。那么我可以使用什么来成功识别 5 或更多的唯一元素?
【问题讨论】:
-
也许把try-exception放在一个循环中,成功就中断?
标签: python selenium webdriverwait multiple-conditions