Python+Selenium笔记(九):操作警告和弹出框
2018-06-18 01:26:55来源:未知 阅读 ()
#之前发的 driver.switch_to_alert() 这句虽然可以运行通过,但是会弹出警告信息(这种写法3.x不建议使用)
改成 driver.switch_to.alert就不会了。
(一) 前言
开发人员使用JavaScript 警告或者模态对话框来提示校验错误信息、报警信息、执行操作后的返回信息,甚至用来接收输入值等。
(二) Alert类
Selenium WebDriver 通过Alert 类来操控 JavaScript 警告。
(三) Alert功能及方法
功能/属性 |
简单说明 |
text |
获取弹出窗口的提示信息(文本内容) alert.text |
方法 |
简单说明 |
accept() |
接受JS警告信息,单击确定 |
dismiss() |
接受JS警告信息,单击取消 |
send_keys(value) |
模拟给元素输入信息 |
(四) Webdriver API补充说明(基于笔记7)
方法 |
简单说明 |
switch_to_active_element() |
返回当前焦点的对象 |
switch_to_alert() |
把焦点切换至当前页面弹出的警告 |
switch_to_default_content() |
切换焦点至默认框架内 |
switch_to_frame() |
通过索引、名称和网页元素,将焦点切换至指定的框架 |
switch_to_window() |
切换焦点到指定的窗口 |
(五) 示例(检查博客园首页点击退出是否弹出提示)
1 import unittest 2 from selenium import webdriver 3 class SignOut(unittest.TestCase): 4 5 @classmethod 6 def setUpClass(cls): 7 #获取自定义的 profile路径 8 cls.profile = webdriver.FirefoxProfile\ 9 (r'C:\Users\quanhua\AppData\Roaming\Mozilla\Firefox\Profiles\tnwjkr4m.selenium') 10 #创建火狐浏览器驱动实例,启动时加载自定义的profile 11 cls.driver = webdriver.Firefox(cls.profile) 12 cls.driver.implicitly_wait(20) 13 cls.driver.maximize_window() 14 cls.driver.get('https://www.cnblogs.com/') 15 def test_sign_out(self): 16 driver = self.driver 17 #定位博客园首页的 退出 18 span_userinfo = driver.find_element_by_css_selector('#span_userinfo') 19 sign_out_btn = span_userinfo.find_element_by_link_text('退出') 20 sign_out_btn.click() 21 #将焦点切换到当前页面弹出的警告,并获取弹出框的text 22 alert = driver.switch_to_alert() 23 alert_text = alert.text 24 #检查点击退出时,是否弹出提示信息 确认退出吗? 25 self.assertTrue(alert_text == '确认退出吗?') 26 alert.accept() #点击确定 27 28 @classmethod 29 def tearDownClass(cls): 30 cls.driver.quit()
(六) 使用示例代码需要配置火狐的profile(如下图)
或者百度 Python selenium profile
配置好后,选择自定义的profile打开火狐,登录一次博客园(勾选自动登录),示例代码就可以运行了。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PythonDay08 2019-08-13
- Python之装饰器笔记 2019-08-13
- Python之对象持久化笔记 2019-08-13
- Python单元测试笔记 2019-08-13
- 列表和元组 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash