对话框处理

Posted 灰姑娘的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对话框处理相关的知识,希望对你有一定的参考价值。

 

1、思路

使用switch_to.alert()方法定位到 alert/confirm/prompt。然后使用 text/accept/dismiss/send_keys 按需进行操做。

  • text 返回 alert/confirm/prompt 中的文字信息。

  •  accept 点击确认按钮。

  •  dismiss 点击取消按钮,如果有的话。
  • send_keys 输入值,这个 alert\\confirm 没有对话框就不能用了,不然会报错。

 

2、需求

在百度设置页面,设置完成后点击“保存设置”弹出提示框。通过脚本来处理这个弹窗。

3、代码实现

 1 #coding=utf-8
 2 
 3 from selenium import webdriver
 4 from selenium.webdriver.common.action_chains import ActionChains
 5 import time
 6 
 7 #打开百度
 8 driver = webdriver.Firefox()
 9 driver.get("http://www.baidu.com")
10 time.sleep(3)
11 
12 #打开搜索设置
13 driver.find_element_by_xpath(\'//*[@id="u1"]/a[8]\').click()
14 time.sleep(3)
15 driver.find_element_by_link_text(u\'搜索设置\').click()
16 time.sleep(3)
17 
18 #保存搜索设置,弹出确认窗体
19 driver.find_element_by_link_text(u\'保存设置\').click()
20 time.sleep(5)
21 
22 #获得文本信息并打印
23 alert = driver.switch_to.alert
24 print(alert.text)
25 
26 #接受警告信息
27 alert.accept()
28 time.sleep(5)
29 
30 #取消对话框(如果有的话)
31 # alert.dismiss()
32 #输入值(如果有的话)
33 # alert.send_keys("xxx")
34 #关闭浏览器
35 driver.close()

 

 

 

以上是关于对话框处理的主要内容,如果未能解决你的问题,请参考以下文章

无法在片段内创建对话框

我该如何做模态对话框片段(代码在我关闭之前不会执行)

将数据从底部工作表对话框片段传递到片段

QT 实用代码片段

从片段类中的对话框添加项目到recyclerview。

片段对话框对活动的松散引用