Selenium3原始碼之初識篇
前提
本系列是對Selenium3的Python3版本的原始碼進行解讀分析,所以你應該需要以下準備:
安裝Python3,請自行去下載安裝或參照公眾號(開源優測)中Python3系列中的文章學習怎麼安裝Python3
使用以下命令安裝最新的Selenium3
pip install selenium -U
安裝結果如下圖:
selenium安裝成功後你可以在Python的安裝目錄的lib/site-packages/selenium下找到對應的原始碼
認識下目錄
我們通過下面這張圖瞭解下Selenium3的Python3版本原始碼目錄結構:
目錄說明:
selenium/common
定義了webdriver的異常類
selenium/webdrver
定義了webdriver所有Python實現,包含:
各種瀏覽器支援
各種UI操作方法
異常處理
定為方法
json wire protocol對映
等等
以下為瀏覽器支援模組:
selenium/webdriver/android android原生瀏覽器
selenium/webdriver/chrome 谷歌瀏覽器
selenium/webdriver/edge 微軟edge瀏覽器
selenium/webdriver/firefox 火狐瀏覽器
selenium/webdriver/ie 微軟ie瀏覽器
selenium/webdriver/opera opera瀏覽器
selenium/webdriver/phantomjs phantomjs headless瀏覽器(執行在記憶體模式)
selenium/webdriver/safari safari瀏覽器
selenium/webdriver/webkitgtk WebKitGTKDriver瀏覽器
selenium/webdriver/blackberry blackberry瀏覽器
以下為核心程式碼模組:
selenium/webdriver/common webdriver共用功能
selenium/webdriver/remote webdriver核心程式碼實現
selenium/webdriver/support webdriver輔助功能程式碼
以下模組為webdriver對外匯出能力:
selenium/webdriver/init.py
程式碼如下如圖所示:
對外匯出了webdriver通用的物件及webdriver版本定義
小結
本文簡單介紹了Selenium3 Python3原始碼的目錄結構,後續就各功能塊的原始碼進行分享。