• selenium-三种等待方式


    一、强制等待

    强制等待就是前一步执行完成后必须等待5秒才能执行下一步,不灵活,影响代码执行的整体速度。

    from selenium import webdriver
    import time
    
    driver=webdriver.Chrome()
    driver.get('https://www.baidu.com')
    
    time.sleep(5)   #强制等待5秒
    
    driver.find_element_by_id('kw').send_keys('软件测试')
    driver.find_element_by_id('su').click()
    

      

     

    二、隐性等待

    隐性等待是在规定时间内等待浏览器加载完成,对整个driver起作用,所以只需要设置一次即可。当页面有弹出框时,隐性等待对弹出框的等待不起作用,它只针对页面刷新起作用。若最长等待时间完后为加载成功,直接抛出异常。

    from selenium import webdriver
    
    driver=webdriver.Chrome()
    driver.get('https://www.baidu.com')
    
    driver.implicitly_wait(5)   #最长等待5秒
    
    driver.find_element_by_id('kw').send_keys('软件测试')
    driver.find_element_by_id('su').click()

    三、显性等待

    显性等待是在规定等待时间内,每隔多少秒判断一次,看是否达到条件。若达到条件,则执行下一步,否则继续等待,直到超过设置的最长时间,抛出TimeoutException。

    #!usr/bin/env python
    #-*- coding:utf-8 -*-
    
    from selenium import webdriver
    from selenium.webdriver.support import expected_conditions
    from selenium.webdriver.support.wait import WebDriverWait
    
    driver=webdriver.Chrome()
    driver.get('https://www.baidu.com')
    
    WebDriverWait(driver,10,0.5).until(expected_conditions.alert_is_present())   #在10秒内没0.5秒判断一次弹出框是否出现,出现后执行下一步
    
    

      参考:https://blog.csdn.net/huilan_same/article/details/52544521

  • 相关阅读:
    JS+CSS自动切换选项卡
    漂亮的透明css菜单 下拉效果
    HTML下的默认样式属性
    测测你是否近视!
    CDATA C#操作XML(无命名空间),添加/删除/编辑节点
    JS 键盘事件
    JS获取Cookie值
    解决windows7下不能以管理员身份安装msi的问题
    引用Interop.SQLDMO.dll后的注意事项。
    c#正则表达式用法大全
  • 原文地址:https://www.cnblogs.com/duyaya/p/10970559.html
Copyright © 2020-2023  润新知