web頁面加載或跳轉(zhuǎn)時需要執(zhí)行等待的幾種方法:
- 強制等待渠脉;
- 隱式等待;
- ‘智能’登場(常用)档叔;
具體實現(xiàn)桌粉,如下:
# -*- coding:utf-8 -*-
from selenium import webdriver
import time
# 等待
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
# `智能`等待
def wait_test(driver):
# 等待條件說明
locator = (By.CSS_SELECTOR, '#xfptxq_B10_01_03 > a > div.layout_img > img')
# 點擊事件
element = WebDriverWait(driver, 20, 0.5).until(EC.presence_of_element_located(locator))
element.click()
if __name__ == '__main__':
# 驅(qū)動Chrome瀏覽器
driver = webdriver.Chrome('/Users/****/Desktop/git/AI_Lesson/chromedriver')
driver.maximize_window()
driver.get('https://feicuitianyuhqc.fang.com/?ctm=1.nanjing.xf_search.lplist.1')
# 1 強制等待
# time.sleep(10) # 設(shè)置等待時間:10s
# 2 隱式等待
# driver.implicitly_wait(10) # 設(shè)置最長等待時間:10s
# 3 `智能`等待
wait_test(driver)
# 強制等待
time.sleep(5)
# 關(guān)閉瀏覽器
driver.quit()