【Selenium】弹出框处理
文章目录1 Alert(警告信息)1 Alert(警告信息)Alert弹出框,目的就是显示通知信息,只需用户看完信息后,点击OK(确定)就可以了。selenium提供如下方法进行操作:# 点击OK(确定)按钮wd.switch_to.alert.accept()# 获取弹出框的信息内容wd.switch_to.alert.text注意:如果我们不去点击它,页面的其它元素是不能操作的。@...
·
概要
以下三种弹窗机制现在系统很少有,因为所有的弹窗交互都是基于div层直接实现。
区分弹窗是浏览器的alert窗口还是基于div层的html元素:
- 浏览器的alert窗口无法右键点击检查。
- 如果弹窗的样式与操作系统或者浏览器一个风格,则一定是alert;如果弹窗的样式与软件系统一个风格,一般都是div层,只需要考虑是否存在iframe即可。
对于是基于div层的弹窗,只需要定位并进行相应的操作就可以了。
1 Alert(警告信息)
Alert弹出框,目的就是显示通知信息,只需用户看完信息后,点击OK(确定)就可以了。
Selenium提供如下方法进行操作:
# 点击OK(确定)按钮
wd.switch_to.alert.accept()
# 获取弹出框的信息内容
wd.switch_to.alert.text
注意:如果我们不去点击它,页面的其它元素是不能操作的。
2 Confirm(确认信息)
Confirm弹出框,主要是让用户确认是否要进行某个操作。 有两个选择供用户选择,分别是OK(确定)和Cancel(取消)。
Selenium提供如下方法进行操作:
# 点击OK(确定)按钮
wd.switch_to.alert.accept()
# 点击Cancel(取消)按钮
wd.switch_to.alert.dismiss()
3 Prompt(提示输入)
出现Prompt弹出框是需要用户输入一些信息,提交上去。
Selenium提供如下方法进行操作:
wd.switch_to.alert.send_keys()
4 示例
打开网址:https://cdn2.byhy.net/files/selenium/test4.html,分别操作alert,confirm,prompt弹出框。
from selenium import webdriver
# 创建Webdriver对象,指明使用Chromedriver,运行Chrome浏览器
wd = webdriver.Chrome()
wd.implicitly_wait(5)
# 调用Webdriver对象的get方法,打开网址
wd.get('https://cdn2.byhy.net/files/selenium/test4.html')
# ------Alert------
wd.find_element_by_id('b1').click()
# 获取Alert对象
alert = wd.switch_to.alert
# 打印弹出框提示信息
print(alert.text)
# 点击确定按钮
alert.accept()
# ------Confirm------
wd.find_element_by_id('b2').click()
# 获取Alert对象
confirm = wd.switch_to.alert
# 打印弹出框提示信息
print(confirm.text)
# 点击确定按钮
confirm.accept()
wd.find_element_by_css_selector('#b2').click()
# 点击取消按钮
confirm.dismiss()
# ------Prompt------
wd.find_element_by_id('b3').click()
# 获取Alert对象
prompt = wd.switch_to.alert
# 打印弹出框提示信息
print(prompt.text)
# 输入信息
prompt.send_keys('Web自动化 - Selenium')
# 点击确定按钮
prompt.accept()
wd.find_element_by_css_selector('#b3').click()
# 点击取消按钮
prompt.dismiss()
# 关闭浏览器并释放进程资源
wd.quit()
更多推荐
已为社区贡献3条内容
所有评论(0)