driver.get("Link of product site.")
while "Not available right now." in driver.page_source:
print("Not available right now, reloading site until it is available..")
driver.refresh()
sleep(45)
else:
print("It is available! Gonna order it now..")
这里的问题是它每 45 秒给我很多打印语句。它怎么可能只给出一次声明“现在不可用,重新加载站点直到可用..”直到 else 语句为真?
(用 Python、Selenium 编写)
感谢您的帮助!
答案 0 :(得分:0)
您只需要更改代码的顺序,不需要 if..else
语句。让它默认为“正在检查可用性...”,然后开始循环,每 45 秒刷新一次页面,直到您指定的文本从 driver.page_source
driver.get("Link of product site.")
print("Checking availability...")
while "Not available right now." in driver.page_source:
sleep(45)
driver.refresh()
print("It is available! Gonna order it now..")
如果它立即可用,它会立即将它们打印出来..
Checking availability...
It is available! Gonna order it now..
否则它们之间会有时间延迟。
如果你想添加一个时间戳,以便知道需要多长时间才能使用:
import datetime
current_time = datetime.datetime.now()
driver.get("Link of product site.")
print("Checking availability...")
print(current_time)
while "Not available right now." in driver.page_source:
sleep(45)
driver.refresh()
print("It is available! Gonna order it now..")
print(current_time)