繁体   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