Selenium介紹和Selenium WebDriver安裝
前言:本來是打算在完成一階段爬蟲學習的時候再對此章節進行總結,但是因爲在使用selenium模塊的時候遇到了瀏覽器類型和webdriver的兼容性問題,在經過近1天的排列組合搭配後終將此問題解決,於是決定對selenium模塊進行一次總結。
前置知識:
- Python爬蟲
1. selenium是什麼
- selenium中文網
- selenium 是
web自動化測試工具集
,包括IDE、Grid、RC(selenium 1.0)、WebDriver(selenium 2.0)等,其中就有包括模擬用戶訪問瀏覽器對web網站進行訪問的模塊,而在python中可以通過調用webdriver實現。不僅僅是python,也同時支持多種編程語言。而在python中可以利用selenium中的webdriver對瀏覽器進行交互,從而實現瀏覽器爬取網頁內容的過程。
- selenium IDE 是是firefox瀏覽器的一個插件。提供簡單的腳本錄製、編輯與回放功能。如果有需要的話可以自行下載Selenium IDE
- WebDriver 這裏可以理解爲一套規範,在這套規範裏定義客戶端腳步與瀏覽器交互的協議。(例如下面通過webdriver調用瀏覽器進行爬蟲,並通過id獲取html中指定元素) ,在selenium2.0和以上的版本中才有此模塊,webdriver模塊用來替代selenium1.0 rc模塊。
from selenium import webdriver #導入python版的webdriver
browser = webdriver.Firefox() # 創建webdriver驅動
browser.get("url") # 調用瀏覽器獲取url內容
browser.find_element_by_id("id") #id定位方法
- 具體webdriver的api可以參考
2. selenium安裝
2.1 Python安裝selenium
- 可以直接通過pip安裝
# 如果有多版本,請自行修改對應的pip版本
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
2.2 安裝對應瀏覽器版本驅動
- Selenium 測試直接在瀏覽器中運行,就像真實用戶所做的一樣。Selenium 測試可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Edge、Chrome和 Firefox 中運行。而其他測試工具都不能覆蓋如此多的平臺。(這裏我比較推薦使用FireFox或者Chrome)
- 各種瀏覽器的使用方法和安裝鏈接可以參考官網
firefox安裝
- Selenium對FireFox的兼容性是最好的,我也十分推薦大家使用FireFox,不僅僅是因爲FireFox是一個多平臺的瀏覽器,在服務器上Selenium也可以穩定的調用FireFox進行無界面的測試。
- 傳送門:Python爬蟲——Selenium安裝配置FireFox瀏覽器
chrome安裝
- Selenium對Chrome也有不遜色於FireFox的組件,但是並沒有FireFox可以進行實時錄製的IDE瀏覽器插件,但是也足夠應付我們平時的爬蟲需求(其實好像也用不到),如果對Chrome特別熱愛的人可以參考此篇文章。
- 傳送門[][]
3. selenium使用常見錯誤總結
Message: XXX executable needs to be in PATH.
程序結束後忘記關閉webdriver !!
- [][]
session not created: No matching capabilities found
- [][]
ConnectionResetError 10054:‘遠程主機強迫關閉了一個現有的連接。’
- [][]
TypeError: ‘str’ object is not callable
- [][]