使用Python+selenium實(shí)現(xiàn)第一個(gè)自動(dòng)化測(cè)試腳本
最近在學(xué)web自動(dòng)化,記錄一下學(xué)習(xí)過程。
此處我選用python3.6+selenium3.0,均用最新版本,以適應(yīng)未來需求。
環(huán)境:windows10,64位
一、安裝python
python官方下載地址:https://www.python.org/downloads/
進(jìn)入頁面就有兩個(gè)版本的下載選擇,2.x版本和3.x版本,或者根據(jù)系統(tǒng)選擇對(duì)應(yīng)版本。
點(diǎn)擊Windows,跳轉(zhuǎn)到Windows版本頁面:
點(diǎn)選Python3.6.0版本,進(jìn)入3.6版本頁面,拉到頁面下方,找到files
選擇64位or32位(x86-64即64,x86即32位),每種都有3個(gè)版本
embeddable zip file是嵌入式的,可以集成到其它應(yīng)用中;
executable installer是exe可執(zhí)行文件方式安裝;
web-based installer是聯(lián)網(wǎng)安裝包,需要有網(wǎng)絡(luò)環(huán)境;
如果不是嵌入式的,后兩種方式都是可以的。這里我下的是web-based版本,下載后雙擊運(yùn)行,進(jìn)入安裝程序:
可選默認(rèn)安裝方式,也可自定義安裝,兩種方式都需勾上下方的Add Python 3.6 to PATH,這里我們選自定義安裝Customize installation
這里我們按默認(rèn)全選即可,Next
勾上第一個(gè)選項(xiàng),選擇安裝路徑后(注意安裝路徑不要包含中文,否則后面安裝工具可能會(huì)報(bào)錯(cuò)),點(diǎn)擊install就開始安裝了
等待安裝...
安裝完成,點(diǎn)擊close,python安裝完畢~ 前面已勾選了add path,所以無需設(shè)置任何系統(tǒng)變量,即可使用。
安裝后點(diǎn)擊開始菜單,在菜單最上面能找到IDLE
IDLE是python自帶的shell,點(diǎn)擊打開,即可開始編寫python腳本了~~
二、安裝selenium
上面python已安裝完畢,接下來安裝selenium。
安裝selenium之前需安裝些必要工具
1. 安裝setuptools
下載地址:https://pypi.python.org/pypi/setuptools
在頁面找到zip安裝包,下載后解壓。在命令行(運(yùn)行->cmd)進(jìn)入解壓目錄
執(zhí)行 python setup.py install 即可安裝,注意解壓路徑不要包含中文,否則安裝會(huì)報(bào)錯(cuò)。
2.安裝pip
下載地址:https://pypi.python.org/pypi/pip
在頁面找到pip-9.x.tar.gz,下載后解壓。同樣在命令行進(jìn)入解壓目錄,執(zhí)行 python setup.py install 即可自動(dòng)安裝。
3.安裝selenium
上面2個(gè)工具安裝好后,安裝selenium只需在命令行進(jìn)入python安裝路徑Script目錄下,執(zhí)行 pip install -U selenium 即可自動(dòng)安裝。
完成安裝后在IDLE輸入 from selenium import webdriver ,如果沒報(bào)錯(cuò)即代表安裝成功。
三 注意事項(xiàng)
1. selenium3.0需要獨(dú)立安裝Firefox驅(qū)動(dòng),不再自帶驅(qū)動(dòng),下載地址: https://github.com/mozilla/geckodriver/releases 下載對(duì)應(yīng)版本,解壓放在python安裝路徑下即可;
2. geckodriver驅(qū)動(dòng)要求Friefox瀏覽器必須48版本以上,如果不是,更新Firefox;
3. 如果用Java開發(fā),需注意3.0必須用JDK1.8版本才行;
4. Chromedriver下載:https://sites.google.com/a/chromium.org/chromedriver/downloads 同樣也是下載后放在python安裝路徑下即可。
四 第一個(gè)自動(dòng)化腳本
完成上面所有準(zhǔn)備工作,就可以開始第一個(gè)自動(dòng)化腳本的編寫啦~
打開IDLE,通過快捷鍵ctrl+n打開一個(gè)新窗口,在新窗口輸入以下代碼:
# coding = utf-8 from selenium import webdriver browser = webdriver.Firefox() browser.get("http://www.baidu.com") browser.find_element_by_id("kw").send_keys("selenium") browser.find_element_by_id("su").click() browser.quit()
保存為test1.py,通過快捷鍵F5運(yùn)行腳本,可看到腳本啟動(dòng)Firefox瀏覽器進(jìn)入百度頁,輸入“selenium” 點(diǎn)擊搜索按鈕,最后關(guān)閉瀏覽器的過程。第一個(gè)腳本即完成了~
代碼解析:
# coding = utf-8 為了防止亂碼問題,以及在程序中添加中文注釋,把編碼統(tǒng)一成 UTF-8; from selenium import webdriver 導(dǎo)入selenium的webdriver包,導(dǎo)入webdriver包后才能使用 webdriver API 進(jìn)行自動(dòng)化腳本開發(fā); browser = webdriver.Firefox() 將控制的 webdriver 的 Firefox 賦值給 browser;獲得了瀏覽器對(duì)象才可以啟動(dòng)瀏覽器; browser.get("http://www.baidu.com") 獲得瀏覽器對(duì)象后,通過 get()方法,向?yàn)g覽器發(fā)送網(wǎng)址; browser.find_element_by_id("kw").send_keys("selenium") 通過 id=kw 定位到百度的輸入框,并通過鍵盤方法send_keys()向輸入框里輸入selenium ; browser.find_element_by_id("su").click() 通過 id=su 定位到搜索按鈕,并向按鈕發(fā)送單擊事件(click()) ; browser.quit() 退出并關(guān)閉窗口的每一個(gè)相關(guān)的驅(qū)動(dòng)程序。
到此這篇關(guān)于使用Python+selenium實(shí)現(xiàn)第一個(gè)自動(dòng)化測(cè)試腳本的文章就介紹到這了,更多相關(guān)Python selenium 自動(dòng)化測(cè)試內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python3+selenium自動(dòng)化測(cè)試框架詳解
- selenium+python自動(dòng)化測(cè)試之使用webdriver操作瀏覽器的方法
- selenium python 實(shí)現(xiàn)基本自動(dòng)化測(cè)試的示例代碼
- python selenium自動(dòng)化測(cè)試框架搭建的方法步驟
- selenium+python自動(dòng)化測(cè)試之頁面元素定位
- selenium+python自動(dòng)化測(cè)試之環(huán)境搭建
- python3 selenium自動(dòng)化測(cè)試 強(qiáng)大的CSS定位方法
- python+django+selenium搭建簡易自動(dòng)化測(cè)試
- selenium自動(dòng)化測(cè)試簡單準(zhǔn)備
相關(guān)文章
python 多個(gè)參數(shù)不為空校驗(yàn)方法
今天小編就為大家分享一篇python 多個(gè)參數(shù)不為空校驗(yàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02在python中實(shí)現(xiàn)導(dǎo)入一個(gè)需要傳參的模塊
這篇文章主要介紹了在python中實(shí)現(xiàn)導(dǎo)入一個(gè)需要傳參的模塊,具有很好的參考價(jià)值,希望可以給大家一個(gè)參考,以后在遇到這種的情況的時(shí)候,知道如何應(yīng)對(duì)2021-05-05用Python實(shí)現(xiàn)大文本文件切割的方法
今天小編就為大家分享一篇用Python實(shí)現(xiàn)大文本文件切割的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python-OpenCV:cv2.imread(),cv2.imshow(),cv2.imwrite()的區(qū)別
本文主要介紹了OpenCV cv2.imread(),cv2.imshow(),cv2.imwrite()的區(qū)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06解讀Scrapy回調(diào)函數(shù)callback傳遞參數(shù)的方式
這篇文章主要介紹了解讀Scrapy回調(diào)函數(shù)callback傳遞參數(shù)的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12python經(jīng)典百題之static定義靜態(tài)變量的三種方法
日常腳本編寫過程中時(shí)常會(huì)用到python的靜態(tài)方法、實(shí)例方法、類方法,下面這篇文章主要給大家介紹了關(guān)于python經(jīng)典百題之static定義靜態(tài)變量的三種方法,需要的朋友可以參考下2024-09-09Python實(shí)現(xiàn)去除列表中重復(fù)元素的方法小結(jié)【4種方法】
這篇文章主要介紹了Python實(shí)現(xiàn)去除列表中重復(fù)元素的方法,結(jié)合實(shí)例形式總結(jié)分析了Python列表去重的4種實(shí)現(xiàn)方法,涉及Python針對(duì)列表的遍歷、判斷、排序等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04對(duì)python讀取CT醫(yī)學(xué)圖像的實(shí)例詳解
今天小編就為大家分享一篇對(duì)python讀取CT醫(yī)學(xué)圖像的實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01python編程冒泡排序法實(shí)現(xiàn)動(dòng)圖排序示例解析
這篇文章主要介紹了python編程中如何使用冒泡排序法實(shí)現(xiàn)動(dòng)圖排序的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10