簡體   English   中英

Python Sleep即將結束

[英]Python Sleep is way off

我在這里寫了一個小python腳本,並且正在Windows 7 Pro(64位)上的dos提示符下運行它。 問題是我正在調用time.sleep(1)及其平均睡眠30秒。 現在,我可以容忍毫秒級的差異,但是30倍? 那有點太難處理了。 這是我正在做的事情的一個摘要:

for i in range(10):
    print("start loop at " + str(i))
    try:
        if self.driver.find_element_by_link_text(text).is_displayed():
            break
    except:
        print("pass")
        pass
    time.sleep(1)
else:
    print("failing on timeout")
    self.fail("time out")

所有這些(您可能會猜到)都包裝在一個由unittest運行的類中。 我什至不知道從哪里開始進行故障排除。

編輯:從Selenium IDE生成的python代碼是垃圾...

最有可能的time.sleep不是元凶,而是函數:

self.driver.find_element_by_link_text(text).is_displayed():

如果10秒超時更重要,則調用函數10x可以在運行循環之前進行時間戳記,然后查看是否已過去10秒。

import time

timestamp = time.time()
while time.time() < timestamp + 10:
    print("start loop at " + str(i))
    try:
        if self.driver.find_element_by_link_text(text).is_displayed():
            break
    except:
        print("pass")
        pass
else:
    print("failing on timeout")
    self.fail("time out")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM