Selenium3-瀏覽器的操作

\color{green}{如果你還想從頭學(xué)起Selenium,可以看看這個系列的文章哦!}
http://www.itdecent.cn/nb/49399448

本節(jié)內(nèi)容簡介

image.png

最大化、最小化瀏覽器

from time import sleep
from selenium import webdriver

# 加載瀏覽器驅(qū)動
driver = webdriver.Chrome()

# 訪問網(wǎng)址
driver.get("https://www.baidu.com")

# 最大化瀏覽器
driver.maximize_window()

sleep(2)

# 最小化瀏覽器
driver.minimize_window()

控制、獲取瀏覽器大小

# 加載瀏覽器驅(qū)動
driver = webdriver.Chrome()

# 訪問網(wǎng)址
driver.get("https://www.baidu.com")

# 獲取瀏覽器大小
size = driver.get_window_size()
print(f"瀏覽器大小:{size}")

sleep(2)

# 設(shè)置瀏覽器大小
driver.set_window_size(1200, 1000)

執(zhí)行結(jié)果

瀏覽器大小:{'width': 1936, 'height': 1056}

知識點
get_window_size() 返回的是字典

獲取當(dāng)前標(biāo)簽頁title、url

# 加載瀏覽器驅(qū)動
driver = webdriver.Chrome()

# 訪問網(wǎng)址
driver.get("https://www.baidu.com")

# 獲取當(dāng)前標(biāo)簽頁的title
print(f"標(biāo)簽頁title:{driver.title}")

# 獲取當(dāng)前標(biāo)簽頁的url
print(f"標(biāo)簽頁url:{driver.current_url}")

# 獲取當(dāng)前瀏覽器的名稱(不常用)
print(f"標(biāo)簽頁name:{driver.name}")

# 獲取當(dāng)前頁面完整的HTML代碼(不常用)
 print(f"標(biāo)簽頁page_source:{driver.page_source}")

執(zhí)行結(jié)果

標(biāo)簽頁title:百度一下,你就知道
標(biāo)簽頁url:https://www.baidu.com/
標(biāo)簽頁name:chrome
標(biāo)簽頁page_source:<html><head>...</head></html>

前進(jìn)、后退、刷新

# 前進(jìn)
driver.forward()

# 后退
driver.back()

# 刷新
driver.refresh()

執(zhí)行js語句

# 同步執(zhí)行js
js='console.log(2)'
driver.execute_script(js)

# 異步執(zhí)行js
driver.execute_async_script("alert(2)")

打開、關(guān)閉新標(biāo)簽頁

# 打開新的標(biāo)簽頁
js = 'window.open("https://www.baidu.com/")'
driver.execute_script(js)

# 獲取當(dāng)前標(biāo)簽頁句柄
print(driver.current_window_handle)

# 獲取瀏覽器所有標(biāo)簽頁句柄
handles = driver.window_handles
print(handles)

# 切換標(biāo)簽頁
driver.switch_to.window(handles[-1])

# 關(guān)閉當(dāng)前標(biāo)簽頁
driver.close()

#關(guān)閉瀏覽器
driver.quit()

執(zhí)行結(jié)果

CDwindow-24C58D8D81CCC95D5D55E887402B7E0A
['CDwindow-24C58D8D81CCC95D5D55E887402B7E0A', 'CDwindow-04C35D93CD4A04351BAC1CFFA36378CA', 'CDwindow-AC59AC67423FB8463AF0C534C7A47098']

知識點

打開新的標(biāo)簽頁只能通過 js 來操作
可以根據(jù)標(biāo)簽頁的句柄來切換標(biāo)簽頁
1.只有兩個標(biāo)簽頁:獲取所有句柄和當(dāng)前句柄,遍歷所有句柄,不等于當(dāng)前句柄,則切換到該標(biāo)簽頁
2.知道切換標(biāo)簽頁的標(biāo)題:獲取所有句柄和當(dāng)前句柄,遍歷所有句柄,標(biāo)題等于***,則切換到該標(biāo)簽頁
操作標(biāo)簽頁的好處就是,可以只打開一個瀏覽器但可以訪問多個不同的網(wǎng)頁;這在后續(xù)集成單元測試框架(unittest、pytest)的時候會有很大的幫助

滾動頁面

# 滾動隨機高度
js = "var q=document.documentElement.scrollTop=" + random.randint(100, 999)
driver.execute_script(js)

知識點

這里暫時只介紹js的滾動方法,滾動其實有幾種高級方法的,后續(xù)有空補上

本文摘自博客園-小菠蘿測試筆記

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容