码迷,mamicode.com
首页 > 其他好文 > 详细

selenium的三种等待方式

时间:2019-12-04 22:26:44      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:对象   cond   imp   选择器   静态资源   class   oca   drive   加载   

一、强制等待:

  time.sleep(3)---->强制等待3秒

二、隐式等待: 

  driver.implicitly_wait(20)
  含义:设置的这个20秒表示最大等待时长,它等待到什么情况结束呢?--->它就相当于我们在浏览器中,加载一个页面,看到页面不在转圈圈,全部加载完成之后,才算等待结束。
  全部加载完成在浏览器其实包含以下内容:
    1.页面的html从服务器返回。
    2.页面的所有静态资源,js,css,img,广告,全部从服务器获取,在加载到页面中。

  隐式等待的弊端:
  一般我们在写程序的时候,这里使用等待,最主要的目的就是等待我们想要的数据能够出来就可以了。用隐式等待他是等到所有资源都加载的完成的,我们花了一部分时间,去等待我们不想要的资源,所以隐式等待并不常用。

三、显式等待:会设置一个条件,当页面满足该条件时,等待完成!

  调用模块

    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdrver.common.by import By

    创建一个等待对象

wait=WebDriverWait(driver"""等待作用的那个driver""",20"""最大等待时长,超过时长会报timeout异常""")
wait.until(
            EC.presence_of_element_located(
                    By.XPATH"""定位器的选择器名称。By.ID,By.CSS_SELECTOR""",//div[@class="recreit-list"] """定位器""",locator))

presence_of_element_located:等待条件。

 

selenium的三种等待方式

标签:对象   cond   imp   选择器   静态资源   class   oca   drive   加载   

原文地址:https://www.cnblogs.com/bug-king/p/11985799.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!