輕松自動(dòng)化---selenium-webdriver(python) (二)
本節(jié)知識(shí)點(diǎn):
- 打印URL
- 將瀏覽器最大化
- 設(shè)置瀏覽器固定寬、高
- 操控瀏覽器前進(jìn)、后退
打印URL
上一節(jié)講到,可以將瀏覽器的title打印出來,這里再講個(gè)簡單的,把當(dāng)前URL打印出來。其實(shí)也沒啥大用,可以做個(gè)湊數(shù)的用例。
#coding=utf-8 from selenium import webdriver import time browser = webdriver.Firefox() url= 'http://www.baidu.com' #通過get方法獲取當(dāng)前URL打印 print "now access %s" %(url) browser.get(url) time.sleep(2) browser.find_element_by_id("kw").send_keys("selenium") browser.find_element_by_id("su").click() time.sleep(3) browser.quit()
其實(shí),我們可以把這用戶登錄成功后的URL打印,用于驗(yàn)證用戶登錄成功。
又或者,我們打印其它信息,比如,一般的登錄成功頁會(huì)出現(xiàn)“歡迎+用戶名”,可以將這個(gè)信息打印表明用戶登錄成功。(如何實(shí)現(xiàn),你自己琢磨一下吧~!)
將瀏覽器最大化
我們知道調(diào)用啟動(dòng)的瀏覽器不是全屏的,這樣不會(huì)影響腳本的執(zhí)行,但是有時(shí)候會(huì)影響我們“觀看”腳本的執(zhí)行。
#coding=utf-8 from selenium import webdriver import time browser = webdriver.Firefox() browser.get("http://www.baidu.com") time.sleep(2) print "瀏覽器最大化" browser.maximize_window() #將瀏覽器最大化顯示 time.sleep(2) browser.find_element_by_id("kw").send_keys("selenium") browser.find_element_by_id("su").click() time.sleep(3) browser.quit()
設(shè)置瀏覽器固定寬、高
最大化還是不夠靈活,能不能隨意的設(shè)置瀏覽的寬、高顯示?當(dāng)然是可以的。
#coding=utf-8 from selenium import webdriver import time browser = webdriver.Firefox() browser.get("http://m.mail.10086.cn") time.sleep(2) print "設(shè)置瀏覽器寬480、高800顯示" browser.set_window_size(480, 800) #參數(shù)數(shù)字為像素點(diǎn) time.sleep(3) browser.quit()
這個(gè)需求也還是有的,比如我們通過PC瀏覽器在訪問一下手機(jī)網(wǎng)站時(shí),調(diào)整瀏覽器為手機(jī)屏幕的寬、高,容易發(fā)現(xiàn)一些顯示問題。(上面的手機(jī)郵箱網(wǎng)站就是筆者測(cè)試過的一個(gè)產(chǎn)品)
操控瀏覽器前進(jìn)、后退
瀏覽器上有一個(gè)后退、前進(jìn)按鈕,對(duì)于瀏覽網(wǎng)頁的人是比較方便的;對(duì)于做web自動(dòng)化測(cè)試的同學(xué)來說應(yīng)該算是一個(gè)比較難模擬的問題;其實(shí)很簡單,下面看看python的實(shí)現(xiàn)方式
#coding=utf-8 from selenium import webdriver import time browser = webdriver.Firefox() #訪問百度首頁 first_url= 'http://www.baidu.com' print "now access %s" %(first_url) browser.get(first_url) time.sleep(2) #訪問新聞頁面 second_url='http://news.baidu.com' print "now access %s" %(second_url) browser.get(second_url) time.sleep(2) #返回(后退)到百度首頁 print "back to %s "%(first_url) browser.back() time.sleep(1) #前進(jìn)到新聞頁 print "forward to %s"%(second_url) browser.forward() time.sleep(2) browser.quit()
為了使過程讓你看得更清晰,在每一步操作上都加了print 和sleep 。
說實(shí)話,這兩個(gè)功能平時(shí)不太常用,所能想到的場(chǎng)景就是幾個(gè)頁面來回跳轉(zhuǎn),但又不想用get url的情況下。
--------------------------
學(xué)習(xí)更多selenium 內(nèi)容:
pasting
官方API: http://selenium.googlecode.com/git/docs/api/py/index.html
webdriver python:
http://wenku.baidu.com/view/8ecc867f31b765ce050814e6.html
posted on 2014-03-11 11:47 順其自然EVO 閱讀(274) 評(píng)論(0) 編輯 收藏 所屬分類: 自動(dòng)化測(cè)試 、python