1. 程式人生 > >Python+Selenium安裝及環境配置

Python+Selenium安裝及環境配置

轉自:https://www.cnblogs.com/sandysun/p/7838113.html

一、Python安裝

Window系統下,python的安裝很簡單。訪問python.org/download,下載最新版本,安裝過程與其他windows軟體類似。記得下載後設置path環境變數,然後Windows命令列就可以呼叫了:

二、Selenium安裝(兩種安裝方法,第一通過pip)

Python3.x安裝後就預設就會有pip(pip.exe預設在python的Scripts路徑下),使用pip安裝selenium:

pip install selenium

後面可以加等號指定selenium的版本:如:pip install selenium==2.53.0

 

因我已安裝selenium,不可重複安裝。

可使用以下命令檢視是否安裝成功:

pip show selenium

第二種:通過下載selenium-python的原始碼包

下載後,將原始碼包將原始碼包解壓縮到任意路徑


通過cmd命令列進入該目錄,輸入python setup.py install,沒有報錯資訊說明安裝成功


可以通過輸入pip list 驗證是否安裝成功


三、Firefox安裝

因安裝最新Firefox與selenium相容有問題,所以安裝舊版firefox47,記得在firefox安裝外掛firebug和firepath。(此外,記得關閉firefox的自動安裝)

Firefox舊版下載地址:http://ftp.mozilla.org/pub/firefox/releases/

注意:因為Selenium對瀏覽器的相容性問題,瀏覽器不能使用最新的。本次使用的火狐為39版本

2)安裝後關閉自動升級功能,防止升級後不可用

 a.開啟火狐瀏覽器,選擇“工具”欄---“選項”

b.在彈出的“選項”框中,我們依次選擇“高階”---“更新”,勾選下面的“不檢查更新”,然後確定退出。

c.找到火狐瀏覽器的配置資料夾, 在配置目錄下找檔案prefs.js

配置資料夾一般路徑為:C:\Users\使用者\AppData\Roaming\Mozilla\Firefox\Profiles

在prefs.js檔案末尾加上7行程式碼,程式碼如下:

user_pref("app.update.migrated.updateDir",false);

user_pref("app.update.lastUpdateTime.browser-cleanup-thumbnails",0);

user_pref("app.update.lastUpdateTime.datareporting-healthreport-lastDailyCollection",0);

user_pref("app.update.disable_button.showUpdateHistory",false);

user_pref("app.update.service.enabled",false);

user_pref("browser.search.update",false);

user_pref("extensions.update.enabled",false);

然後儲存prefs.js,關閉退出。這樣便徹底禁止了火狐瀏覽器更新升級

四、安裝driver ()

Selenium 3以前,使用firefox瀏覽器不需要額外的driver。但是Selenium 3.X 對firefox瀏覽器也需要安裝相應的driver:

Firefox瀏覽器需安裝geckdriver,下載地址:https://github.com/mozilla/geckodriver/releases;

相應的,Chrome瀏覽器需要安裝chromedriver,IE瀏覽器要安裝IEdriver。

driver的路徑可以直接放在python路徑下,我這裡把driver放在了python的Scripts路徑下,同時把script路徑加入環境變數。

五、執行一個簡單的例子

使用python自帶的IDLE工具,輸入以下指令碼:

from selenium import webdriver # 匯入webdriver包

import time

driver = webdriver.Firefox() # 初始化一個火狐瀏覽器例項:driver

driver.maximize_window() # 最大化瀏覽器 

time.sleep(5) # 暫停5秒鐘

driver.get("https://www.baidu.com") # 通過get()方法,開啟一個url站點

執行以上指令碼,最終開啟百度網址,證明執行成功。

PS,我的執行環境:

Firefox瀏覽器版本:Firefox 47.0

Python:python v3.6.2

Selenium:3.7.0

Geckdriver:v0.15.0