python selenium 弹出框_Python+Selenium笔记(九):操作警告和弹出框

#之前发的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打开火狐,登录一次博客园(勾选自动登录),示例代码就可以运行了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值