http://www.testclass.net/ 測試教程網,專業的selenium 學習網站。
本節知識點:
- 打印URL
- 將瀏覽器最大化
- 設置瀏覽器固定寬、高
- 操控瀏覽器前進、后退
打印URL
上一節講到,可以將瀏覽器的title打印出來,這里再講個簡單的,把當前URL打印出來。其實也沒啥大用,可以做個湊數的用例。
#coding=utf-8
from selenium import webdriver import time browser = webdriver.Firefox() url= 'http://www.baidu.com'
#通過get方法獲取當前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()
其實,我們可以把這用戶登錄成功后的URL打印,用於驗證用戶登錄成功。
又或者,我們打印其它信息,比如,一般的登錄成功頁會出現“歡迎+用戶名”,可以將這個信息打印表明用戶登錄成功。(如何實現,你自己琢磨一下吧~!)
將瀏覽器最大化
我們知道調用啟動的瀏覽器不是全屏的,這樣不會影響腳本的執行,但是有時候會影響我們“觀看”腳本的執行。
#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()
設置瀏覽器固定寬、高
最大化還是不夠靈活,能不能隨意的設置瀏覽的寬、高顯示?當然是可以的。
#coding=utf-8
from selenium import webdriver import time browser = webdriver.Firefox() browser.get("http://m.mail.10086.cn") time.sleep(2) print "設置瀏覽器寬480、高800顯示" browser.set_window_size(480, 800) #參數數字為像素點
time.sleep(3) browser.quit()
這個需求也還是有的,比如我們通過PC瀏覽器在訪問一下手機網站時,調整瀏覽器為手機屏幕的寬、高,容易發現一些顯示問題。(上面的手機郵箱網站就是筆者測試過的一個產品)
操控瀏覽器前進、后退
瀏覽器上有一個后退、前進按鈕,對於瀏覽網頁的人是比較方便的;對於做web自動化測試的同學來說應該算是一個比較難模擬的問題;其實很簡單,下面看看python的實現方式
#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) #前進到新聞頁
print "forward to %s"%(second_url) browser.forward() time.sleep(2) browser.quit()
為了使過程讓你看得更清晰,在每一步操作上都加了print 和sleep 。
說實話,這兩個功能平時不太常用,所能想到的場景就是幾個頁面來回跳轉,但又不想用get url的情況下。
--------------------------
學習更多selenium 內容: