课程中的代码中多次使用了休眠0.01秒,这样极短的等待时间是否有意义?
来源:9-4 等待页面完全加载完成的封装:页面什么时候才算加载完成?

爱琳妹妹
2022-08-05
0.1秒可能还好,但0.01秒0.03秒是否有实际意义呢?
for x in range(int(timeout * 10)):
try:
# 获取页面的状态
ready_state = driver.execute_script("return document.readyState")
except WebDriverException:
# 如果有driver的错误,执行js会失败,就直接跳过
time.sleep(0.03)
return True
# 如果页面元素全部加载完成,返回True
if ready_state == 'complete':
time.sleep(0.01)
return True
else:
now_ms = time.time() * 1000
# 如果超时了就break
if now_ms >= stop_ms:
break
time.sleep(0.1)
写回答
1回答
-
这个问题特别好。最直接的就是在多个并发的情况下减少cpu的负载。chrome浏览器特别占内存和cpu,如果使用pytest-xdist同时并发跑多个用例,比如cpu是10核,我们跑用例的时候直接上10个并发,那服务器资源就会很快占满,这样浏览器特别容易崩溃,导致用例失败。所以适当的sleep一点点,哪怕0.01秒也是对资源的合理处理。212022-08-05
相似问题