重复if直到true[python]

重复if直到true[python],python,selenium,Python,Selenium,我希望if搜索CSS选择器,如果找到了,则进一步执行脚本,如果未找到CSS选择器,则应重复if函数,直到其为真 这是我的密码: if driver.find_elements_by_css_selector('#buyTools > div.prl6-sm.prl0-lg > fieldset > div > div:nth-child(7) > label'): driver.find_element_by_xpath('//*[@id="buyTool

我希望
if
搜索CSS选择器,如果找到了,则进一步执行脚本,如果未找到CSS选择器,则应重复
if函数
,直到其为真

这是我的密码:

if driver.find_elements_by_css_selector('#buyTools > div.prl6-sm.prl0-lg > fieldset > div > div:nth-child(7) > label'):
driver.find_element_by_xpath('//*[@id="buyTools"]/div[1]/fieldset/div/div[7]/label').click()
else:

谢谢你的帮助

您可以使用带有任意等待的while循环来完成以下操作:

from time import sleep

while not driver.find_elements_by_css_selector('#buyTools > div.prl6-sm.prl0-lg > fieldset > div > div:nth-child(7) > label'):
    sleep(1)

driver.find_element_by_xpath('//*[@id="buyTools"]/div[1]/fieldset/div/div[7]/label').click()

使用内置webdriverwait进行此等待,以使用不同的代码重新发明控制盘

,因此您希望在不为真的情况下重复它您可能不想添加
时间。睡眠
,因为
驱动程序。通过
运行也需要一些时间。您可以调整睡眠以满足您的需要,或者完全删除睡眠,如果是这样,只需使用
传递
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC


WebDriverWait(driver,5000).until(EC.presence_of_element_located(
    (By.CSS_SELECTOR, "#buyTools > div.prl6-sm.prl0-lg > fieldset > div > div:nth-child(7) > label")))