我在这里编写了一个小的python脚本,我在Windows 7专业版(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代码是垃圾......
答案 0 :(得分:2)
很可能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")