知行编程网知行编程网  2022-10-30 02:00 知行编程网 隐藏边栏  337 
文章评分 1 次,平均分 5.0
导语: 本文主要介绍了关于python中等待怎么表示的相关知识,希望可以帮到处于编程学习途中的小伙伴

如何在python中表达等待

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

结束后还没有出现就会抛出异常。

推荐学习《
》!

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享