web自动化测试,元素等待

一、元素等待

等待的原因,页面跑不过代码

1、sleep - 强制 辅助的作用(在显性等待的基础上,在sleep下)
2、智能等待:最多愿意等待15秒。但是呢,如果在15内,任何一个时候元素出现了,那就继续下一行代码。
             超时了,报超时异常  TimeoutException、 NosuchElementExption
 
   隐性等待:2种场景  1个元素被找到-元素存在/1条命令执行完成-api的执行
             每一个会话当中,只需要被调用一次。
             会话:从你打开浏览器,到quit关闭整个过程。 --- sessionId
 
通过driver对象给所有的元素设置的全局等待,在设置的时间范围内一直不断去找元素,如果超时则会抛出异常。
 
   显性等待:明确了要进行等待,等待元素可见?等待url变更为XXX?? 等待新的窗口出现??等待元素可用??
   在你需要的地方,直接用显性等待。  条件+等待
   等待:等待上限 - 15秒   轮询周期 - 多少秒去确认一下条件是否成立。默认是0.5.  WebDriverWait类
   WebDriverWait(driver,15,0.5).until/not_until(条件) 等待后还没出现,就会抛异常
   条件:有一个专门的条件模块。Expected_condition
 
针对元素设置的等待时间,并且只对该元素有效,用来等待某个条件满足。默认会每间隔0.5秒去找元素,检查元素是否满足等待的条件,超时则会抛出异常。
 
 
原文地址:https://www.cnblogs.com/hherbk/p/14606456.html