当一个网络元素显示和消失两次时采用的逻辑
Logic to adopt when an webelement is showing and desapearring two times
我现在正在为一些事情苦苦挣扎,我不知道如何解决这个问题。
使用 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))
它就是这样工作的。
希望对其他人有用
我现在正在为一些事情苦苦挣扎,我不知道如何解决这个问题。
使用 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))
它就是这样工作的。 希望对其他人有用