0

我现在正在为某些事情而苦苦挣扎,我不知道如何解决这个问题。

使用 Selenium 和 Helium,我正在 Web 应用程序上运行一些测试。

在某些时候,Web 应用程序会打印一个屏幕拦截器。此屏幕锁出现和消失两次。

我必须等待第二个消失才能继续做其他事情。

我怎样才能做到这一点?

我试过的代码:

while S(".loadingHeader").exists:
    print ("loading")

这段代码第一次出现屏幕拦截器时有效

我接受你的任何想法。

谢谢你,祝你有美好的一天

4

2 回答 2

1

如果您希望它只是出现和消失,您可以将第一个 print 替换为空白字符串,然后在放置time.sleep(2). 在第二条消息之后,您可以执行相同的操作。

这里例如:

import time
msg = "loading"
print(msg)
# Set the amount of seconds you want to wait
time.sleep(2)
print(" " * len(msg))
于 2021-04-22T11:29:13.167 回答
0

谢谢您的回答。

我最终这样做了:

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))

它就是这样工作的。希望对其他人有用

于 2021-04-22T11:46:29.057 回答