Selenium切换窗口、框架和弹出框window、ifame、alert

一、切换窗口

#获取打开的多个窗口句柄

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"))

三、切换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中切换窗口、框架和处理弹出框的方法。根据具体情况,你可以选择适当的方法来实现你的测试需求。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值