• 技术文章 >常见问题 >Python常见问题

    python中等待怎么表示

    silencementsilencement2020-02-04 18:29:49原创4563

    Python里有三种等待的方式:

    一、 强制等待

    Sleep(54)

    这个方法在time模块,使用时通过from time import sleep导入

    比如:

    Sleep(10) #表示强行等待10s再执行下一句代码

    Driver.find_element_by_xpath(“xxxxxx”)

    这种等待方式时间到了就执行下个语句,但比较死板,不能保证在等待的时间内元素真正被加载了出来。

    二、 隐性等待

    Implicitly_wait(xxx)

    这个等待表示在规定的时间内页面的所有元素都加载完了就执行下一步,否则一直等到时间截止,然后再继续下一步。

    Driver=webdriver.Chrome()

    Driver.implicitly_wait(10)#等待10s

    Driver.get(“XXX”)

    这个方法的缺点是你需要的元素已经加载出来了,但页面还没有加载完,再需要继续等待页面加载完才能执行下一步操作。

    看看第三种方法,比较灵活

    三、 显性等待

    WebDriverWait,配合该类的until()和until_not()方法,表示程序每隔x秒去判断一下指定的元素是否加载完,加载完了就执行下一步,

    否则继续每隔x秒去判断,指定时间截止。如果超时就会抛出异常。

    from selenium import webdriver  
    from selenium.webdriver.support.wait import WebDriverWait  
    from selenium.webdriver.support import expected_conditions as EC  
    from selenium.webdriver.common.by import By
    locator=(By.XPATH,”xxxxxxx”)
    d = webdriver.Chorme()
    d.get(“http://www.sina.com”)
    WebDriverWait(d,10,1).unitl(EC.presence_of_element_located(locator))
    Print(“”XXX“”)

    这里表示等待10s,每隔1s去检查一次元素是否出现,出现了就执行下一步,直到10s结束后还没有出现就会抛出异常。

    推荐学习《Python教程》!

    专题推荐:time
    上一篇:python中怎么定位元素 下一篇:python中如何保存结果

    相关文章推荐

    • Python time模块详解• python中time模块怎么用• python的time怎么使用

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网