Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我想不出正确的循环_Python_Selenium - Fatal编程技术网

Python 我想不出正确的循环

Python 我想不出正确的循环,python,selenium,Python,Selenium,当它没有发生时,我需要帮助重申这一点,并让它循环直到它发生。我需要它来做这个 driver.find_elements_by_xpath(“driver.find_elements_by_xpath(//article[.//a[contains(,'Red')]][.//a[.//a[.='深绿色']]//a”) 如果它没有发生,那么我需要它再次发生,直到它发生 driver.get("https://www.supremenewyork.com/shop/all/sweatshirts")

当它没有发生时,我需要帮助重申这一点,并让它循环直到它发生。我需要它来做这个

driver.find_elements_by_xpath(“driver.find_elements_by_xpath(//article[.//a[contains(,'Red')]][.//a[.//a[.='深绿色']]//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")

在selenium中,我将使用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'))

文件()也可能非常有用。

您的场景是什么?您能描述一下您想要执行的操作的顺序吗?我需要它在页面上查找特定的项目,当找到该项目时,我需要它来单击该项目。如果项目不在那里,我需要它在设置的时间量后以及每次刷新t时刷新页面页面中,我需要它来查找同一项。@Anderson请正确地转录缩进。这在python中很重要。您发布的代码将不会以当前形式运行。因此,您希望脚本不断搜索同一元素,直到找到为止?确切地说是哪个元素?此元素中的元素为红色和深绿色@Anderson此可能有用,但当该元素出现时,我需要它来单击该项。@darshvader