对话框处理

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()
时间: 2024-10-11 06:21:10

对话框处理的相关文章

用dialog在前台实现一个简单的UI对话框

<!doctype html><html lang="en"><head> <meta charset="utf-8"> <title>对话框部件(Dialog Widget)演示</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.m

bootstrap中的对话框-dialog

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" /> <meta http-

bootstrap中的对话框-dialog-2

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" /> <meta http-

C#WebBrowrse拦截下载对话框

为了实现这个功能,可算是折腾不少时间,网上搜素出来的结果基本都是如何屏蔽警告对话框.后来请教一个技术大牛(程序员之窗的主要作者Starts_2000),他用C++实现了,他尝试了下C#也没有解决,就忙其他的去,大牛时间一般都比较宝贵,后来我就将就用那个C++动态库,那个时候我测试环境是 win7 64位 +vs2013,后来系统环境变化成 win10 +vs2015,突然就不好使了,赶紧重新编译C++源码,各种错误,感觉怎么这么不稳定. 怎么办?总不能再让别人帮忙,下次环境变化了继续问别人? 

Webdriver实现下载功能,屏蔽掉windows弹出的对话框,FireFox下设置浏览器的属性,两种实现方式:

一.使用一个全新的FireFox浏览器打开Web应用,浏览器不带任何插件,也未对浏览器做任何默认配置,但需要对浏览器属性进行配置 // 获取浏览器的所有配置文件 ProfilesIni allProfiles = new ProfilesIni(); // "Selenium" 是之前创建的profile,不带任何插件,也未对浏览器做任何默认配置 FirefoxProfile profile = allProfiles.getProfile("selenium");

Android 对话框 Dialog

对话框 Dialog 什么是对话框 对话框是在当前的页面之上弹出的小窗口, 用于显示一些重要的提示信息, 提示用户的输入,确认信息, 或显示某种状态.如 :  显示进度条对话框, 退出提示. 对话框的特点: 1, 当前界面弹出的小窗口. 2, 用户要与它进行交互, 可以接收用户输入的信息, 也可以反馈信息给用户. 常用对话框: 1, 普通对话框 AlertDialog 2, 进度条对话框  ProgressDialog 3, 日期对话框    DatePickerDialog 4, 时间对话框

QT笔记之模态对话框及非模态对话框

模态对话框(Modal Dialog)与非模态对话框(Modeless Dialog)的概念不是Qt所独有的,在各种不同的平台下都存在.又有叫法是称为模式对话框,无模式对话框等.所谓模态对话框就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭.对于非模态对话框,当被打开时,用户既可选择和该对话框进行交互,也可以选择同应用程序的其他窗口交互. 在Qt中,显示一个对话框一般有两种方式,一种是使用exec()方法,它总是以模态来显示对话框:另一种是使用show()方法

Android新手入门2016(13)--阻塞对话框PopupWindow

上两章都说了非阻塞的对话框,今天说一下阻塞的对话框--PopupWindow 那么什么是阻塞什么是非阻塞呢?PopupWindow和AlertDialog有什么不同呢? 先说AlertDialog,弹出来之后,背面会变灰,并没有阻塞后台的进程,如果没特殊控制,点击后面灰暗处,弹框会消失掉的. 至于PopupWindow,则是弹出来,后面没有任何变化,并且阻塞该应用的进程,如果一直没退出,应用汇一直等待,点击后面也是没有反应的. 不知道为什么现在上传不了图,就不上传了,其实跟AlertDialog

第6章(3) AlertDialog(警告对话框)

分类:C#.Android.VS2015: 创建日期:2016-02-08 一.简介 AlertDialog也是Android系统当中常用的对话框之一. 在一个AlertDialog中,可以有一个Button.两个Button.3个Button.另外,还可以自定义对话框的样式,比如带有单选按钮的对话框.带有复选框的对话框等. 1.基本用法 一般通过AlertDialog.Builder.Create()方法来构造该对话框,然后就可以通过dialog调用对应的方法.常用方法如下: SetTitle

Android对话框自定义标题

Android自带的对话框标题不好看,如果我们需要给弹出的对话框设置一个自己定义的标题,可以使用AlertDialog.Builder的setCustomTitle()方法. 定义一个对话框标题的title.xml文件: <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android