问题描述
我现在正在为某些事情而苦苦挣扎,我不知道如何解决这个问题。
使用 Selenium 和 Helium,我正在一个网络应用上运行一些测试。
在某些时候,网络应用会打印屏幕拦截器。此屏幕锁出现和消失两次。
我必须等待第二个消失才能继续做其他事情。
我该怎么做?
我试过的代码:
while S(".loadingHeader").exists:
print ("loading")
我接受你的任何想法。
谢谢你,祝你有个美好的一天
解决方法
如果你想让它出现和消失,你可以用一个空白字符串替换第一个打印,然后在输入 time.sleep(2)
后打印第二个消息。在第二条消息之后,您可以执行相同的操作。
例如:
import time
msg = "loading"
print(msg)
# Set the amount of seconds you want to wait
time.sleep(2)
print(" " * len(msg))
,
感谢您的回答。
我最终这样做了:
wait_until (S(".loadingHeader").exists)
time_open = time.time()
while S(".loadingHeader").exists():
time.sleep(0.5)
print ("Loading")
if (lambda : not S(".loadingHeader").exists):
wait_until (S(".loadingHeader").exists)
print ("Loading Again")
while S(".loadingHeader").exists():
print ("Loading")
time.sleep(0.5)
tmp_time_open = (time.time() - time_open)
print ("Not Loading Anymore !!!")
print ("Opening in : " + str(tmp_time_open))
它就是这样工作的。 希望对其他人有用