python使用break后程序还是没有直接退出,循环了好几次,为啥没有直接退出
import datetime
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Edge()
#driver.get("https://www.taobao.com/")
time.sleep(3)
#driver.maximize_window() #全屏展示
times = '2022-08-23 12:33:00'
#driver.find_element(By.LINK_TEXT,"登录").click()
#print(f"请扫码")
driver.get("https://cart.taobao.com/cart.htm")
time.sleep(20)
while 1==1:
if driver.find_element(By.ID,"J_SelectAll1"):
driver.find_element(By.ID, "J_SelectAll1").click()
break
while 1==1:
#获取电脑现在时间
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
#对比时间,时间到的话就点结算
#print(now)
#判断是不是到了秒杀时间?
if now > times:
#点击结算
while 1==1:
try:
if driver.find_element(By.ID, "J_Go"):
i = 1
#print("here")
driver.find_element(By.ID, "J_Go").click()
#print(f"结算提交成功,我已帮你抢到商品啦,请及时支付订单")
print(now)
# speaker.Speak(f"结算提交成功,我已帮你抢到商品啦,请及时支付订单")
#time.sleep(10)
if driver.find_element(By.LINK_TEXT,"提交订单"):
print(now)
driver.find_element(By.LINK_TEXT,"提交订单").click()
break
except:
pass
结果如下:
2022-08-23 11:58:00.012213
2022-08-23 11:58:00.012213
2022-08-23 11:58:00.012213
2022-08-23 11:58:00.012213
2022-08-23 11:58:00.012213
2022-08-23 11:58:00.012213
2022-08-23 11:58:00.012213
2022-08-23 11:58:00.012213
2022-08-23 11:58:00.012213
break之后应该直接退出内层循环,我想要只打印一次结算成功和结算的当前时间,希望浅帮个忙,看下为啥会使用break还会多次循环。