当它没有发生时,我需要帮助来重申这一点,并使它循环直到它发生。我需要这样做
driver.find_elements_by_xpath("driver.find_elements_by_xpath("//article[.//a[contains(.,'Red')]][.//a[.='Dark Green']]//a")
如果没有发生,那么我需要再次执行直到发生。
driver.get("https://www.supremenewyork.com/shop/all/sweatshirts")
items = driver.find_elements_by_xpath("//article[.//a[contains(.,'Red')]]
[.//a[.='Dark Green']]//a")
while True:
time.sleep(1.2)
if items:
items[0].click()
break
else:
driver.get("https://www.supremenewyork.com/shop/all/sweatshirts")
答案 0 :(得分:0)
在硒中,我将使用WebDriverWait.until等待元素加载,而不是反复检查:
from selenium.webdriver.support.ui import WebDriverWait
wait = WebDriverWait(driver, 10)
elements = wait.until(lambda driver: driver.find_elements_by_xpath('the_xpath'))
文档(https://selenium-python.readthedocs.io/waits.html)可能也很有帮助。