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

相關文章
相關標籤/搜索