打個響指Selenium自動化開啟
最近鬥哥在朋友的影響下,接觸了自動化測試工具中的一個專案:appium自動化測試指令碼。
appium類庫封裝了標準Selenium客戶端類庫,為使用者提供所有常見的JSON格式selenium命令以及額外的移動裝置控制相關的命令,所以在講appium類前先了解下Selenium自動化測試的使用。
其實功能測試自動化跟爬蟲一樣 ,都是要進行元素定位與操作,所以Selenium可以用來爬取資料。
0x00 Selenium簡述
Selenium 是一個用於Web應用程式測試的工具。提供了一系列簡單的API,讓我們使用Selenium WebDriver呼叫 WebDriver的所有功能,Selenium可以直接操作瀏覽器,就像真正的使用者在操作一樣。
0x01 Selenium 環境準備
一、語言選擇
Selenium 支援多種語言開發,如Java、Python、Ruby、PHP、C#、JavaScript等。
鬥哥這裡選擇Python。
python官網(https://www.python.org/)下載對應系統安裝包,python2版本與python3版本都支援Selenium
安裝步驟鬥哥這裡就不介紹,安裝完成後在終端輸入python看到python的安裝的版本資訊。則安裝成功(未發現命令可能要手動新增安裝位置的環境變數)。
二、瀏覽器選擇
Selenium支援與多種瀏覽器互動,如Chrome、Firefox、Edge、Safari等
除了火狐瀏覽器原生支援以外,Selenium 要通過瀏覽器驅動來與瀏覽器互動。
Chrome:
下載Chrome驅動需要梯子,無法下載可以在下方留言瀏覽器驅動
Edge:
https://developer.microsoft.com/ ... dge/tools/webdriver
Safari:
https://webkit.org/blog/6900/webdriver-support-in-safari-10
以Chrome為例,下載時都是32位的驅動這個不用在意,下載對應的Chrome版本就行。
下載完,將這個exe的路徑加入環境變數, 就可以根據驅動連線瀏覽器。
新手推薦火狐瀏覽器,不需要驅動。
三、 Selenium安裝
windows的python安裝包已經集成了pip可以直接使用
命令:pip install selenium
下載時指定版本為3.14.1。
0x03 Selenium 快速入門
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 |
|
此時已經控制瀏覽器,並且自動訪問百度。
0x04 Selenium 元素定位
當我們要訪問頁面某個功能,某個標籤,就需要在介面找到這些元素。selenium中有一系列以find_開頭的方法,都是用於元素定位。
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
|
先使用瀏覽器的開發者模式,或者用Firebug等外掛,確定元素位置屬性,再用指令碼實現。
確定了百度的輸入框位置。
就可以用方法對定位元素的位置。如:driver.find_element_by_id('kw')
0x05 Selenium 元素操作
定位完就可以對元素做操作,滑鼠點選,輸入文字。
1 2 3 4 5 6 7 |
|
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 |
|
如果執行正常,將會自動執行以下操作:開啟一個火狐瀏覽器,然後開啟百度首頁,在輸入框中輸入“python”然後回車。
0x06 小小總結
本期的內容就介紹到這裡啦!下期將帶來appium測試工具的使用,以及appium測試微信小程式的相關介紹。不見不散