在Windows上安裝Python & Selenium + 簡易教學

install Python & Selenium on Windows and run some sample code

林罡北
9 min readMay 20, 2018

最近由於學校的軟體測試課程有教到用Selenium來進行自動化整合測試
於是就花了一點時間安裝跟玩一下Selenium
中間也有碰到一些小問題,所以寫個筆記記錄一下

Selenium有支援許多種不同的語言,這邊選擇Python是因為個人認為Python的安裝方式一來滿簡單的,二來在撰寫上語法也頗簡潔

想知道Selenium支援哪些瀏覽器與程式語言,可以參考
Selenuim Browsers & Languages support list

Step1.安裝Python

我安裝的python是3.6.5版本,其實就使用最新的而已,沒特別挑版本
幫大家附上Python下載頁面傳送門
進去之後,按下黃色的Download 按鈕就可以下載了

Python Official website download page

下載完接著是安裝,首先把下圖的B部分勾選起來
接著我建議點選A(Customize installation),下面會說明原因

接下來使用預設就好,按下Next

然後重點來了,下圖紅色框框內的資料夾路徑,指的是你要把Python安裝在什麼地方,預設是安裝在AppData/Local/…的某個資料夾內,我們稱這個資料夾為Python的安裝目錄

但由於AppData這個資料夾在windows中預設是「隱藏資料夾」,所以在一般資料夾中不會直接顯示

而Step4中會需要存取Python的安裝目錄
所以如果是要沒那麼熟悉windows中的Python的開發者,可能會不知道Python安裝在哪或是找不到安裝目錄

這也是為什麼前面會建議選擇Customize installation這個選項的原因
至少可以確保開發者知道安裝目錄的路徑或是自訂使用自己慣用的路徑

所以在這邊有2個選擇

A.把這個路徑記錄下來,未來有需要去這邊找

B.自訂自己習慣的安裝路徑

像我自己的習慣會使用B方案,使用下面的路徑,把Python安裝在Documents資料夾內,跟其他程式放在一起統一管理(個人習慣,僅供參考)

C:\Users\NorthBei\Documents\python3.6

最後按下install,讓他自己跑完,出現像是下圖的Setup was successful就代表安裝成功啦

from https://www.scrapehero.com/how-to-install-python3-in-windows-10/

Step2.安裝Selenium

python安裝好,要安裝Selenium很方便,靠pip 一行就可以解決了

$pip install selenium

執行後大概會像下面這樣
出現”Successfully installed selenium-X.Y.Z“就代表安裝成功啦

using command line installing selenium

Step3.下載webdriver

要讓Selenuim能夠控制瀏覽器、跟瀏覽器進行溝通,就需要透過Webdriver或是Selenuim RC (Remote Control)

webdriver是從Google發跡,較新推出的標準,與現代瀏覽器相容性與未來支援度應該會比較好,所以我沒有使用Selenuim RC

各瀏覽器的webdriver載點都在Selenuim Browsers & Languages support list這個頁面可以找到

這邊我附上我常用的 — Chrome & Firefox的webdriver傳送門

Firefox web driver
Chrome web driver

下載好webdriver之後,怎麼使用的部分會在Step4講解

如果想知道更多關於webdriver和Selenuim RC細節可以參考下面幾篇文章

Step4.建立專案環境

其實說專案好像沒有那麼複雜
主要是教大家怎麼在專案中搭配Python使用webdriver
有分Global & Local,一共2種方式

1.Global — 把webdriver放在Python的安裝目錄

舉例來說,假設我把Python安裝在

C:\Users\NorthBei\Documents\python3.6

那麼就把下載的webdriver解壓縮得到的.exe檔放在這個資料夾內
可以看到最後2個檔案就是Firefox & Chrome的webdriver

這樣不論在哪個python file中,都可以直接使用Firefox & Chrome的webdriver

通常我會選擇這樣做啦~
因為除非要測試不同版本的webdriver的差異,不然通常只需要一個版本的webdriver

2.Local — 把webdriver放在跟python file同一個資料夾內

舉例來說,假設我們有個專案資料夾,叫做selenuim-test
假設selenuim專案的資料夾結構像是下面這樣

selenuim-test
├── page1
│ └── test1.py
├── page2
│ └── test2.py

test1.py & test2.py都需要chrome的webdriver,那麼在/selenuim-test/page1/ & /selenuim-test/page2/都要各放一個webdriver的.exe檔
變成下面這樣

selenuim-test
├── page1
│ ├── chromedriver.exe
│ └── test1.py
├── page2
│ ├── chromedriver.exe
│ └── test2.py

這樣test1.py & test2.py執行時才能夠找得到webdriver而且不會報錯

不過這個做法必須要將一個webdriver複製很多份,造成webdriver不好管理、專案體積變大的問題,所以比較不建議這樣使用

Step5.範例程式碼

附上一些簡易的範例程式碼跟教學給大家參考

selenium python example code on gist by NorthBei

Reference

Mac安裝python & selenium

Sideex

http://sideex.org/

--

--