美文网首页python selenium web自动化测试
(9)selenium 显示等待和隐式等待

(9)selenium 显示等待和隐式等待

作者: JP0001 | 来源:发表于2019-04-11 20:44 被阅读0次

    为什么需要等待的呢?页面的加载需要一个过程,很多时候,网页加载还没有完全的话,我们就点击是识别到元素,这样就容易导致用例的失败,所以才有了等

    1.显示等待

    我们可以自己设置条件,等待某个特定的元素出现了,我们在操作。
    默认每 500 毫秒调用一次。

    from selenium import webdriver
    import time
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    
    driver = webdriver.Chrome()
    driver.get("https://mail.qq.com/cgi-bin/loginpage")
    try:
        # 最多等待10s,等ID 元素出现
        WebDriverWait(driver,10).until(EC.presence_of_element_located(By.ID,"填写ID"))
    except:
        # 如果异常就退出
        driver.quit()
    
    

    2.Implicit Waits(隐式等待)

    全局定义一个时间,等待固定的时间之后,在操作,隐式等待定义的全局效果。

    from selenium import webdriver
    import time
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    driver = webdriver.Chrome()
    #等待10s时间
    driver.implicitly_wait(10)
    

    3.直接time等待

    有些页面设计的不是很完善,time.sleep(10)有时候也是会用到

    from selenium import webdriver
    import time
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    #直接的等待时间
    driver = webdriver.Chrome()
    time.sleep(10)
    
    

    相关文章

      网友评论

        本文标题:(9)selenium 显示等待和隐式等待

        本文链接:https://www.haomeiwen.com/subject/spoxwqtx.html