最近無聊。又從新裝了個seleniumhtml
果真時代變了。安裝的時候的方法和之前不太同樣了。所以以爲有必要單列出來加以說明python
另外備註:測試小夥伴們。安裝此類工具報錯。嘗試如下兩個方案之一:web
1.請轉stackoverflowchrome
2.code reviewwindows
下面以第二種方法解決安裝問題設計模式
若是你還看的是非官方文檔的安裝使用方法。而是某些舊社會的博客。那麼極可能你就這樣中獎了。api
正確的安裝姿式應該是這樣的(以 chrome + python + selenium 爲例):瀏覽器
1. 打開 https://chromedriver.storage.googleapis.com/index.html框架
2. 找到最新版本(備註:2.30表明的版本大於2.9.此處2.9至關於2.09.不得不吐槽一下這個版本號設定)函數
3. 下載對應版本(備註:windows平臺下。沒有64位exe插件。可是32位的能夠兼容64位)
4. 確認已安裝的python版本(大於selenium標註的版本。通常而言最新版是向下兼容3.x的版本的。)
5. 本身下載selenium包 或者使用 pip install selenium 命令解決問題
至此。安裝已經完成(感受比當年用的時候要更快)
接下來是使用的方法:
A. 示例代碼
B. 內容說明
1. 第八行必須傳入executable的值。(即將截圖中代碼第八行改成: driver = webdriver.Chrome(executable).)
此處因爲早先的selenium的設計模式。以前selenium是經過環境變量設置來識別執行路徑的。
如今源碼的相關部分已經更改。所以使用selenium也無需配置環境變量了。
2. 第十行必須使用完整的url連接(url包含前綴http://或https://)。不然沒法解析域名
C. 針對B1的附加說明
找出這個問題。首先看報錯內容(不傳遞絕對路徑,即driver = webdriver.Chrome()):
而後查看源碼。能夠發現。構造方法(def __init__)中。只有executable是沒有默認值的。所以必須在使用webdriver.Chrome的時候傳遞路徑以初始化該變量。不然報錯。
這樣作的好處就是。在使用selenium的時候,多個瀏覽器不再用分別配置環境變量了。把全部的驅動程序放在項目文件目錄中。只須要在啓動的時候設定指向位置便可
固然。也能夠改動源碼。給這個變量一個default值。所以其餘瀏覽器的使用就很少加說明了。
最後。用driver來作聲明變量其實並非特別好的設計模式。若是selenium要作自動化的話,腳本必須封裝爲函數
調用則使用相似unittest框架的東西來作,這樣的話,內部變量基本上會使用以下寫法
# 初始化函數
def setUp(self):
self.browser = webdriver.Chorme(executable)
# 執行腳本
def test_case1(self):
self.browser.get('http://www.baidu.com')
......
這樣作,就能夠保證環境和數據配置。而且可使用不少現有的方法。是比較推薦的寫法。
若是有進階的興趣。推薦去看《python web開發測試驅動方法》。對於初學者理解功能測試模式仍是頗有幫助的。