1. 簡介
Selenium是一個用於Web應用程序測試的工具。
Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Chrome,Opera等。
這個工具的主要功能包括:測試與瀏覽器的兼容性——測試你的應用程序看是否能夠很好得工作在不同瀏覽器和操作系統之上。測試系統功能——創建迴歸測試檢驗軟件功能和用戶需求。
而用在爬蟲上則是模擬正常用戶訪問網頁並獲取數據。
2. 安裝
使用selenium驅動chrome瀏覽器需要下載chromedriver,而且chromedriver版本需要與chrome的版本對應,版本錯誤的話則會運行報錯。
Chromedriver下載地址:https://chromedriver.storage.googleapis.com/index.html
Chromedriver與Chrome版本映射表:
chromedriver版本 | 支持的Chrome版本 |
---|---|
v2.37 | v64-66 |
v2.36 | v63-65 |
v2.35 | v62-64 |
v2.34 | v61-63 |
v2.33 | v60-62 |
v2.32 | v59-61 |
v2.31 | v58-60 |
v2.30 | v58-60 |
v2.29 | v56-58 |
v2.28 | v55-57 |
v2.27 | v54-56 |
v2.26 | v53-55 |
v2.25 | v53-55 |
v2.24 | v52-54 |
v2.23 | v51-53 |
下載完成解壓後,將文件移動到一個配置了環境變量的文件夾中,例如你的Python安裝文件夾。
pip install selenium
3. Selenium簡單例子
import time
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
def test():
# 打開一個chrome瀏覽器
browser = webdriver.Chrome()
browser.get('http://www.baidu.com')
# 設置最大等待時間
wait = WebDriverWait(browser, 10)
options = Options()
options.add_argument('--window-size=1366,768')
# 輸入框
input = wait.until(EC.presence_of_element_located((By.ID, 'kw')))
input.send_keys('python')
# 確認按鈕
button = wait.until(EC.presence_of_element_located((By.ID, 'su')))
button.click()
time.sleep(5)
browser.close()
test()