Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当一个webelement显示和消隐两次时采用的逻辑_Python_Selenium_While Loop_Helium - Fatal编程技术网

Python 当一个webelement显示和消隐两次时采用的逻辑

Python 当一个webelement显示和消隐两次时采用的逻辑,python,selenium,while-loop,helium,Python,Selenium,While Loop,Helium,我现在正在努力解决一些问题,我不知道如何解决这个问题 使用硒和氦,我正在一个web应用程序上运行一些测试 在某些时候,web应用程序会打印一个屏幕拦截器。此屏幕锁定器出现和消失两次 我必须等待第二个消失,才能继续做其他事情 我该怎么做 我尝试过的代码: while S(".loadingHeader").exists: print ("loading") 这段代码是屏幕拦截器第一次出现时起作用的 我接受你的任何想法 谢谢您,祝您度过愉快的一天如果

我现在正在努力解决一些问题,我不知道如何解决这个问题

使用硒和氦,我正在一个web应用程序上运行一些测试

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

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

我该怎么做

我尝试过的代码:

while S(".loadingHeader").exists:
    print ("loading")
这段代码是屏幕拦截器第一次出现时起作用的

我接受你的任何想法


谢谢您,祝您度过愉快的一天

如果您希望它只是出现和消失,您可以用一个空白字符串替换第一次打印,然后在放置
时间后打印第二条消息。睡眠(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))
它是这样工作的。 希望对其他人有用