Selenium系列3-瀏覽器物件操作
阿新 • • 發佈:2021-09-14
前言
在我們日常進行UI自動化工作時,對瀏覽器物件的操作是所有用例的基礎,而selenium的API,可以分為三大類:
- 對瀏覽器本身的相關操作
- 對瀏覽器頁面中元素的定位
- 對定位後元素的操作(如點選、輸入等)
所以在深入瞭解selenium前,我們先來看看selenium中是如何操作瀏覽器本身的
匯入selenium庫
要使用selenium,必須先匯入Selenium庫
# 匯入selenium庫
from selenium import webdriver
建立瀏覽器物件
建立一個瀏覽器物件
# 語法:driver = webdriver.xxx() xxx為對應瀏覽器 driver = webdriver.Chrome()
瀏覽器視窗大小設定
我們在測試過程中,經常會有改變瀏覽器大小的場景,可以使用set_window_size()
方法改變瀏覽器的大小
如果需要獲取瀏覽器當前的大小數值,可以使用get_window_size()
也可以使用maximize_window()
將瀏覽器最大化
# 設定瀏覽器尺寸
# 寬600、高1000
driver.set_window_size(600,1000)
# 獲取瀏覽器尺寸
driver.get_window_size()
# 瀏覽器視窗最大化(常用)
driver.maximize_window()
瀏覽器位置設定
那麼如果需要移動瀏覽器的位置改如何實現呢,selenium提供了set_window_position()
如果需要獲取瀏覽器當前的位置,可以使用get_window_position()
顯示器以左上角為
(0,0)
,所有的位置操作都是相對於顯示器左上角展開的位移操作
# 獲取瀏覽器的當前位置
driver.get_window_position()
# 設定瀏覽器的位置
driver.set_window_position(x,y)
訪問被測網址
# 請求被測網址
# 語法:driver.get(url)
url = "http://www.baidu.com"
driver.get(url)
瀏覽器頁面前進、後退和重新整理
# 頁面前進 driver.forward() # 頁面後退 driver.back() # 頁面重新整理 driver.refresh()
關閉瀏覽器
在測試用例執行結束之後,我們需要關閉瀏覽器,selenium提供了兩種關閉瀏覽器的方法
- 關閉當前視窗
# 關閉當前瀏覽器視窗
driver.close()
- 關閉視窗並關閉瀏覽器驅動
# 即關閉瀏覽器視窗,同時關閉瀏覽器驅動
driver.quit()
示例
通過以下的例子來看看這些方法的實際使用
# 匯入selenium庫
from time import sleep
from selenium import webdriver
# 建立瀏覽器物件
driver = webdriver.Chrome()
# 設定瀏覽器視窗大小
driver.set_window_size(480, 800)
# 獲取當前瀏覽器視窗大小
s = driver.get_window_size()
print(s)
# 最大化瀏覽器視窗
driver.maximize_window()
sleep(3)
# 獲取當前瀏覽器位置
p1 = driver.get_window_position()
print(p1)
# 移動瀏覽器位置
driver.set_window_position(400, 300)
p2 = driver.get_window_position()
print(p2)
sleep(3)
# 訪問被測地址
driver.get("https://www.baidu.com")
sleep(2)
driver.get("https://www.jd.com")
sleep(2)
driver.get("https://www.taobao.com")
sleep(2)
# 使用前進,後退,重新整理命令
# 前進
driver.back() # 後退到京東
sleep(2)
driver.back() # 後退到百度
sleep(2)
# 後退
driver.forward() # 前進到京東
sleep(2)
driver.forward() # 前進到淘寶
sleep(2)
# 重新整理
driver.refresh() # 保持在淘寶頁面
sleep(2)
# 關閉瀏覽器
driver.quit()