当一个网络元素显示和消失两次时采用的逻辑

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

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