selenium+python自動(dòng)化測(cè)試之使用webdriver操作瀏覽器的方法
WebDriver簡(jiǎn)介
selenium從2.0開始集成了webdriver的API,提供了更簡(jiǎn)單,更簡(jiǎn)潔的編程接口。selenium webdriver的目標(biāo)是提供一個(gè)設(shè)計(jì)良好的面向?qū)ο蟮腁PI,提供了更好的支持進(jìn)行web-app測(cè)試。從這篇博客開始,將學(xué)習(xí)使用如何使用python調(diào)用webdriver框架對(duì)瀏覽器進(jìn)行一系列的操作
打開瀏覽器
在selenium+python自動(dòng)化測(cè)試(一)–環(huán)境搭建中,運(yùn)行了一個(gè)測(cè)試腳本,腳本內(nèi)容如下:
from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://www.baidu.com") print(driver.title) driver.find_element_by_id("kw").send_keys("selenium") driver.find_element_by_id("su").click() time.sleep(3) driver.close()
運(yùn)行腳本的第一步是打開瀏覽器,使用webdriver.Chrome()打開谷歌瀏覽器,如果要指定其他瀏覽器,比如要使用Firefox或者IE瀏覽器,更換瀏覽器名稱就可以了
driver = webdriver.Chrome() //打開Chrome瀏覽器 driver = webdriver.Firefox() //打開Firefox瀏覽器 driver = webdriver.Ie() //打開IE瀏覽器
第二步操作是打開頁(yè)面,使用driver.get(url)方法來(lái)打開網(wǎng)頁(yè)鏈接,例如腳本中打開百度首頁(yè)
driver.get(http://www.baidu.com)
接下來(lái)是print(driver.title),使用driver.title獲取當(dāng)前頁(yè)面的title,title就是在瀏覽器tab上顯示的內(nèi)容,例如百度首頁(yè)的標(biāo)題是“百度一下,你就知道”
瀏覽器前進(jìn)后退
在當(dāng)前頁(yè)面打開一個(gè)新的鏈接后,如果想回退到前一個(gè)頁(yè)面,使用如下driver.back(),相當(dāng)于點(diǎn)擊了瀏覽器的后退按鈕
和back操作對(duì)應(yīng)的是瀏覽器前進(jìn)操作driver.forward(),相當(dāng)于點(diǎn)擊了瀏覽器的前進(jìn)按鈕
driver.back() //回到上一個(gè)頁(yè)面 driver.forward() //切換到下一個(gè)頁(yè)面
最大化瀏覽器窗口
瀏覽器運(yùn)行后,如果頁(yè)面沒(méi)有最大化,可以調(diào)用driver.maximize_window()將瀏覽器最大化,相當(dāng)于點(diǎn)擊了頁(yè)面右上角的最大化按鈕
也可以自定義瀏覽器的尺寸
driver.maximize_window() //瀏覽器窗口最大化 driver.set_window_size(800, 720) //設(shè)置窗口大小為800*720
屏幕截圖
打開頁(yè)面以后,可以對(duì)頁(yè)面進(jìn)行截屏,在遇到異常的時(shí)候,根據(jù)截圖可以快速定位問(wèn)題的原因所在
瀏覽器截屏操作,參數(shù)是截屏的圖片保存路徑:
driver.get_screenshot_as_file("D:/data/test.png")
頁(yè)面刷新
有時(shí)頁(yè)面過(guò)期后,網(wǎng)頁(yè)上顯示的信息可能不是最新的,需要對(duì)頁(yè)面進(jìn)行刷新,使用refresh()方法刷新頁(yè)面,相當(dāng)于點(diǎn)擊瀏覽器的刷新按鈕
driver.refresh() //重新加載頁(yè)面
退出瀏覽器
在測(cè)試腳本運(yùn)行完后,一般會(huì)在最后關(guān)閉瀏覽器,有兩種方法關(guān)閉瀏覽器,close()方法用于關(guān)閉當(dāng)前頁(yè)面,quit()方法關(guān)閉所有和當(dāng)前測(cè)試有關(guān)的瀏覽器窗口
driver.close() //關(guān)閉當(dāng)前頁(yè)面 driver.quit() //關(guān)閉所有由當(dāng)前測(cè)試腳本打開的頁(yè)面
這篇博客介紹了操作瀏覽器的各種方法,下篇將介紹如何查找頁(yè)面上的元素
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python中的selenium安裝的步驟(瀏覽器自動(dòng)化測(cè)試框架)
- python selenium 對(duì)瀏覽器標(biāo)簽頁(yè)進(jìn)行關(guān)閉和切換的方法
- Python+selenium 獲取瀏覽器窗口坐標(biāo)、句柄的方法
- 淺談python爬蟲使用Selenium模擬瀏覽器行為
- python用selenium打開瀏覽器后秒關(guān)閉瀏覽器的解決辦法
- python用selenium打開chrome瀏覽器保持登錄方式
- Python+Selenium實(shí)現(xiàn)瀏覽器標(biāo)簽頁(yè)的切換
- 詳解Python多線程Selenium跨瀏覽器測(cè)試
- 如何在Python中引入和使用瀏覽器驅(qū)動(dòng)
相關(guān)文章
Python?實(shí)現(xiàn)一個(gè)全連接的神經(jīng)網(wǎng)絡(luò)
這篇文章主要介紹了Python?實(shí)現(xiàn)一個(gè)全連接的神經(jīng)網(wǎng)絡(luò),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06python?配置uwsgi?啟動(dòng)Django框架的詳細(xì)教程
這篇文章主要介紹了python?配置uwsgi?啟動(dòng)Django框架,本文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12對(duì)python使用telnet實(shí)現(xiàn)弱密碼登錄的方法詳解
今天小編就為大家分享一篇對(duì)python使用telnet實(shí)現(xiàn)弱密碼登錄的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01python端口掃描系統(tǒng)實(shí)現(xiàn)方法
這篇文章主要介紹了python端口掃描系統(tǒng)實(shí)現(xiàn)方法,可實(shí)現(xiàn)簡(jiǎn)單的外網(wǎng)IP掃描及寫入MySQL數(shù)據(jù)庫(kù)等功能,需要的朋友可以參考下2014-11-11python基礎(chǔ)編程小實(shí)例之計(jì)算圓的面積
Python是最常用的編程語(yǔ)言,這種語(yǔ)言就是一種可以快速開發(fā)應(yīng)用的解釋型語(yǔ)言,有些用戶不知道該怎么在Python編程里計(jì)算圓的面積,現(xiàn)在就給大家具體解釋一下,下面這篇文章主要給大家介紹了關(guān)于python基礎(chǔ)編程小實(shí)例之計(jì)算圓的面積的相關(guān)資料,需要的朋友可以參考下2023-03-03Python爬蟲爬取微博熱搜保存為 Markdown 文件的源碼
這篇文章主要介紹了Python爬蟲爬取微博熱搜保存為 Markdown 文件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02