如果语句不在 python 中循环,如何停止?

How stop if statement not loop in python?

我有一个问题:如果 'while' 开始并且第一个条件 'false' 它继续 'else' 即使 'if' 变成 'true',我需要留在循环中但停止 if 语句以开始循环所有 if 语句,我希望我以清楚的方式解释了这个问题,我尝试了 break()、pass() 和 continue(),它们都停止了循环。

CurrentTime = datetime.now().time()

Actual_Time = CurrentTime.strftime("%H:%M")
Static_Time = '15:54'
while True:
    print('Teeest Looop')
    if (Actual_Time == Static_Time) :
        print('Teeest')
        options = Options()
        options.add_argument("--user-data-dir=chrome-data")
        options.add_experimental_option("excludeSwitches", ["enable-automation"])
        options.add_experimental_option('useAutomationExtension', False)
        driver = webdriver.Chrome('C:\Users\hana\Downloads\chromedriver_win32\chromedriver.exe', options=options)
        driver.maximize_window()
        driver.get('https://web.whatsapp.com')
        time.sleep(20)
        driver.find_element_by_xpath("//*[@title='hana']").click()
        WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH,'//*[@id="main"]/footer/div[1]/div[2]/div/div[2]'))).send_keys('test sending')
        WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='_2Ujuu']"))).click()
        time.sleep(10)
        driver.close()       
    elif (Actual_Time != Static_Time) :
        print('Not lucky time') 

您设置的值在 while 循环外永远不会改变,然后您永远不会在循环内更新它们,因此基于它们的 if 条件永远不会计算出任何不同。

我想你想要这样的东西

from datetime import datetime

do_something_time = "15:54"

while True:
    current_time = datetime.now().strftime("%H:%M")
    if current_time == do_something_time:
        print("Doing something")  # this only prints at 15:54
    elif current_time == "00:00":
        break  # this exits the while loop at midnight
    else:
        print("Not this time!")