本文實(shí)例講述了Selenium控制瀏覽器常見(jiàn)操作。分享給大家供大家參考,具體如下:
Selenium是一個(gè)用于Web應(yīng)用程序測(cè)試的工具。Selenium測(cè)試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。這個(gè)工具的主要功能包括:測(cè)試與瀏覽器的兼容性——測(cè)試你的應(yīng)用程序看是否能夠很好得工作在不同瀏覽器和操作系統(tǒng)之上。測(cè)試系統(tǒng)功能——?jiǎng)?chuàng)建回歸測(cè)試檢驗(yàn)軟件功能和用戶需求。支持自動(dòng)錄制動(dòng)作和自動(dòng)生成 .Net、Java、Perl等不同語(yǔ)言的測(cè)試腳本。
有時(shí)候我們希望能讓瀏覽器以某種尺寸打開(kāi),讓訪問(wèn)頁(yè)面在這種尺寸下運(yùn)行,或者控制瀏覽器進(jìn)行后退與前進(jìn)操作等等
控制瀏覽器窗口大小
有時(shí)我們需要對(duì)移動(dòng)站點(diǎn)的樣式進(jìn)行評(píng)估,可是瀏覽器的正常尺寸很顯然是不合適的, 此時(shí)我們會(huì)想將瀏覽器設(shè)置成移動(dòng)端大小就可以了。WebDriver提供了set_window_size()方法來(lái)設(shè)置瀏覽器大小:
from selenium.webdriver import Chromedriver = Chrome('C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe')driver.get('https://www.baidu.com/')driver.set_window_size(480,800)除了set_window_size方法來(lái)設(shè)置瀏覽器的大小,WebDriver還提供了一個(gè)設(shè)置瀏覽器全屏顯示的方法maximize_window(),其用法與set_window_size()相同,不同的是maximize_window()無(wú)需傳遞參數(shù):
from selenium.webdriver import Chromedriver = Chrome('C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe')driver.get('https://www.baidu.com/')driver.maximize_window()值得注意的是,在定位元素的時(shí)候,有些網(wǎng)頁(yè)如果不是全屏展示時(shí),將由可能定位不準(zhǔn)!!!
控制瀏覽器前進(jìn)與后退
在使用瀏覽器瀏覽網(wǎng)頁(yè)時(shí),瀏覽器提供了前進(jìn)和后退的按鈕,可以方便的在瀏覽過(guò)的網(wǎng)頁(yè)之間進(jìn)行切換,WebDriver也提供了相應(yīng)的back()和forward()方法來(lái)模擬后退和前進(jìn)按鈕,下面舉個(gè)簡(jiǎn)單的栗子來(lái)演示這兩個(gè)方法的使用:
from selenium.webdriver import Chromedriver = Chrome('C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe')driver.get('https://www.baidu.com')driver.get('https://blog.csdn.net/y472360651')# 后退至百度頁(yè)面driver.back()# 前進(jìn)至博客頁(yè)面driver.forward()刷新頁(yè)面
有時(shí)候需要手動(dòng)刷新(F5)頁(yè)面,WebDriver也提供了相應(yīng)的方法refresh(),使用起來(lái)很簡(jiǎn)單,如下:
driver.refresh()
窗口截屏
自動(dòng)化用例是由程序去執(zhí)行的,因此有些時(shí)候打印的錯(cuò)誤信息并不十分明確。如果在腳本執(zhí)行出錯(cuò)的時(shí)候能夠?qū)Ξ?dāng)前窗口截圖保存,那么通過(guò)圖片就可以非常直觀的看出出錯(cuò)的原因。WebDriver提供了截圖函數(shù)
新聞熱點(diǎn)
疑難解答
圖片精選