在做一个App开发的时候,在测试中经常会因为找不到元素而报错的情况,这种情况下就要利用Python的等待操作,但是发现太多人不会用等待了,今天要给大家讲讲使用等待的必要性,下面这篇文章主要给大家介绍了关于Python有哪些等待元素的方式?python中3种等待元素出现的方法,需要的朋友可以参考下
文章插图
有时候我们对一个程序进行测试,通常会因为找不到元素而报错,报错的原因可能是因为元素没有被加载除了,程序首先执行的是代码,如果遇到这种情况,我们可以利用对元素的等待进行加载,执行完之后再去查找元素中的内容 。下面介绍三种元素等待的方法 。
1、强制等待
我们之前有学习过time模块,这个方法就是通过from time import sleep进行导入的 。举个例子:
Sleep(5) Driver.find_element_by_xpath(“xxxxxx”)【Python有哪些等待元素的方式?python中3种等待元素出现的方法】在这两行代码中,sleep(5)表示的就是强行等待5s再执行下一句代码 。这种方法设置了固定的等待时间,时间到了才会对下一条语句进行执行 。
2、隐性等待
这种等待方式是在一个规定的页面中,将所有的元素全部加载完再执行,举个例子:
Driver=webdriver.Chrome()Driver.implicitly_wait(5)Driver.get(“XXX”)这里设置了隐性等待,等待的时间是5秒,这种方法的缺点就是,可能你需要的元素已经被加载完了,但是你还要继续等待页面的加载时间,直到页面全部加载你才能执行下一步的操作 。
3、显示等待
这种等待方式,是三种等待方式中最好的,它可以设置一个指定是时间,它会根据你的这个时间去判断指定元素是否加载完成 。举个例子:
from selenium import webdriver from selenium.webdriver.support.wait importWebDriverWait from selenium.webdriver.support importexpected_conditions as EC from selenium.webdriver.common.by import Bylocator=(By.XPATH,”xxxxxxx”)d = webdriver.Chorme()d.get(“http://.......”)WebDriverWait(d,10,2).unitl(EC.presence_of_element_located(locator))Print(“XXX”)在这段代码中,我们设置的等待时间是10秒,还设置了一个间隔时间2秒,这样方便它每隔两秒钟就会去对元素进行检查,判断元素是否有出现,如果出现了就会对下一步操作进行执行,知道等待时间结束,还没有出现元素,它就会抛出一个异常 。
有关Python有哪些等待元素的方式?python中3种等待元素出现的方法内容就介绍到这里了,希望以上内容对大家的学习能够带来一定的帮助 。
推荐阅读
- Python爬虫如何对网页元素进行定位?Python爬虫网页元素定位的方法
- python爬虫中xpath插件如何使用?python爬虫lxml库如何解析xpath网页?
- pm2.5和甲醛有关系吗
- 八牌二图具体是指哪些
- 白鹭主要分布在哪些地区
- 淘宝补单精准标签的工具有吗?怎样打标签?
- 淘宝试用领取是真的吗?有什么要求?
- 天猫618必买榜单有哪些?官方购物指南
- 淘宝补单评价怎么不显示?淘宝怎么补单有效?
- 淘宝新店可以找人运营吗?找人运营有用吗?