控制瀏覽器操作
控制瀏覽器窗口大小
在測試過程中,我們在打開瀏覽器后,根據需求可自定義調整瀏覽器的尺寸大小。WebDriver提供了set_window_size()方法來設置瀏覽器的大小。
如果頁面沒有最大化,可以調用driver.maximize_window()將瀏覽器最大化,相當於點擊了頁面右上角的最大化按鈕,maximize_window()方法不需要參數。
值得注意的是,在定位元素的時候,有些網頁如果不是全屏展示時,將有可能定位不准!!!
下面舉例源碼如下:
from selenium.webdriver import Chrome import time driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe") driver.get('https://www.baidu.com') #根據需求調整瀏覽器的尺寸,調整窗口大小尺寸為(800 * 720)。 driver.set_window_size(480,800) #調整瀏覽器窗口最大化 driver.maximize_window() time.sleep(5) driver.quit()
控制瀏覽器前進、后退
在當前頁面打開一個新的鏈接后,如果想回退到前一個頁面,使用如下driver.back(),相當於點擊了瀏覽器的后退按鈕
和back操作對應的是瀏覽器前進操作driver.forward(),相當於點擊了瀏覽器的前進按鈕。
driver.back() //回到上一個頁面
driver.forward() //切換到下一個頁面
下面舉例源碼如下:
from selenium.webdriver import Chrome import time driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe") first_url = 'https://www.baidu.com' driver.get(first_url) time.sleep(5) second_url = 'https://news.baidu.com' driver.get(second_url) time.sleep(5) #返回(后退)到百度首頁 driver.back() time.sleep(5) #前進到新聞頁 driver.forward() time.sleep(5) driver.quit()
刷新頁面
有時頁面過期后,網頁上顯示的信息可能不是最新的,需要對頁面進行刷新,使用refresh()方法刷新頁面,相當於點擊瀏覽器的刷新按鈕。
driver.refresh() #刷新當前頁面
屏幕截圖
自動化用例是由程序去執行的,因此有些時候打印的錯誤信息並不十分明確。
如果在腳本執行出錯的時候能夠對當前窗口截圖保存,那么通過圖片就可以非常直觀的看出出錯的原因。
webdriver提供了截圖函數get_screenshot_as_file()來截取當前窗口:
from selenium.webdriver import Chrome import time driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe") driver.get('https://www.baidu.com') #截圖並保存至D盤根目錄下圖片名命名為test.png driver.get_screenshot_as_file("D:/test.png") time.sleep(5) driver.quit()
這里列舉了幾個常用的控制瀏覽器操作,其他瀏覽器操作可另行參考網上其他資料。