selenium的三种等待方式

1、强制等待:css

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

2、隐式等待: web

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

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

3、显式等待:会设置一个条件,当页面知足该条件时,等待完成!服务器

  调用模块spa

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

    建立一个等待对象code

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:等待条件。htm

相关文章
相关标签/搜索