一、切換窗口
#獲取打開的多個窗口句柄
windows = driver.window_handles
#切換到當前最新打開的窗口
driver.switch_to.window(windows[-1])
#最大化瀏覽器
driver.maximize_window()
#刷新當前頁面
driver.refresh()
二、切換框架frame
如存在以下網頁:
<html lang="en">
<head>
<title>FrameTest</title>
</head>
<body>
<iframe src="a.html" id="frame1" name="myframe"></iframe>
</body>
</html>
可以使用4中方式切換frame
#1.用frame的index來定位,第一個是0
driver.switch_to.frame(0)
#2.用id來定位
driver.switch_to.frame("frame1")
#3.用name來定位
driver.switch_to.frame("myframe")
#4.用WebElement對象來定位
driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))
現在我也找了很多測試的朋友,做了一個分享技術的交流群,共享了很多我們收集的技術文檔和視頻教程。
如果你不想再體驗自學時找不到資源,沒人解答問題,堅持幾天便放棄的感受
可以加入我們一起交流。而且還有很多在自動化,性能,安全,測試開發等等方面有一定建樹的技術大牛
分享他們的經驗,還會分享很多直播講座和技術沙龍
可以免費學習!劃重點!開源的!!!
qq群號:110685036【暗號:csdn999】
三、切換alert()提示框
#1. 獲取alert
driver.switchTo().alert()
#2.點確定
alert.accept()
#3.點取消
alert.dismiss()
#4.獲取alert的內容
alert.getText()
以下是使用中的一個例子:
alert = driver.switch_to.alert #切到彈出框
print(alert.text)
a=alert.text
alert.accept()
return '添加成功!' in a
在Selenium中,可以使用以下方法來切換窗口、框架和彈出框:
- 切換窗口:
driver.switch_to.window(window_handle)
:通過窗口句柄(window handle)切換到指定的窗口。可以使用driver.window_handles
獲取所有窗口的句柄,然后通過索引或其他方式選擇要切換的窗口。
- 切換框架(iframe):
driver.switch_to.frame(frame_reference)
:通過框架的名稱或索引切換到指定的框架。可以使用框架的名稱或索引來定位到框架,并切換到它。
- 處理彈出框(alert):
driver.switch_to.alert
:切換到當前頁面上的警告框(alert)。可以使用accept()
接受警告框,點擊確定按鈕;使用dismiss()
關閉警告框,點擊取消按鈕;使用send_keys(text)
向警告框發送文本。
注意事項:
- 切換窗口和框架時,需要確保當前焦點在正確的上下文中。You可能需要先切換到默認內容,即主頁面,然后再進行窗口或框架的切換。
- 在處理彈出框之前,需要等待彈出框的出現。可以使用顯式等待來等待彈出框的出現。
示例代碼:
python
# 切換窗口
main_window = driver.current_window_handle # 獲取當前窗口句柄
new_window = driver.window_handles[1] # 假設有多個窗口,選擇第二個窗口
driver.switch_to.window(new_window) # 切換到新窗口# 切換框架
driver.switch_to.frame("frame_name") # 通過框架名稱切換
driver.switch_to.frame(0) # 通過索引切換# 處理彈出框
alert = driver.switch_to.alert
alert.accept() # 點擊確定按鈕
alert.dismiss() # 點擊取消按鈕
alert.send_keys("text") # 發送文本
以上是在Selenium中切換窗口、框架和處理彈出框的方法。根據具體情況,你可以選擇適當的方法來實現你的測試需求。
END今天的分享就到此結束了,點贊關注不迷路~