1 Alert(警告信息)
Alert弹出框,目的就是显示通知信息,只需用户看完信息后,点击OK(确定)就可以了。 Selenium提供如下方法进行操作:
wd.switch_to.alert.accept()
wd.switch_to.alert.text
注意:如果我们不去点击它,页面的其它元素是不能操作的。
2 confirm(确认信息)
Confirm弹出框,主要是让用户确认是否要进行某个操作。 有两个选择供用户选择,分别是OK(确定)和Cancel(取消)。 Selenium提供如下方法进行操作:
wd.switch_to.alert.accept()
wd.switch_to.alert.dismiss()
3 prompt(提示输入)
出现Prompt弹出框是需要用户输入一些信息,提交上去。 Selenium提供如下方法进行操作:
wd.switch_to.alert.send_keys()
注意 :有些弹窗并非浏览器的alert窗口(无法右键点击检查),而是html元素,这种对话框,只需要通过之前介绍的选择器选中并进行相应的操作就可以了。
4 示例
打开网址:https://cdn2.byhy.net/files/selenium/test4.html,分别操作alert,confirm,prompt弹出框。
from selenium import webdriver
wd = webdriver.Chrome()
wd.implicitly_wait(5)
wd.get('https://cdn2.byhy.net/files/selenium/test4.html')
wd.find_element_by_id('b1').click()
alert = wd.switch_to.alert
print(alert.text)
alert.accept()
wd.find_element_by_id('b2').click()
confirm = wd.switch_to.alert
print(confirm.text)
confirm.accept()
wd.find_element_by_css_selector('#b2').click()
confirm.dismiss()
wd.find_element_by_id('b3').click()
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()
|