三种弹出框alert(一个按钮),confirm(两个确认,取消),prompt(两个按钮+输入框)。
切换到弹框: switch_to_alert() 
新版的selenium用: 
browser.switch_to.alert.accept()
browser.switch_to.alert.send_keys('abc')
browser.switch_to.alert.dismiss()
弹框的方法:
1 text获取弹框文本
2 accept()确认
3 dimiss()取消
4 send_keys() prompt弹框输入字符。其他两种会报错

 

示例脚本如下:

#coding=utf-8
#弹出框操作 from selenium import webdriver
import time dr=webdriver.Firefox()
dr.get("https://www.baidu.com") #隐藏的元素需显示出来才能操作
setmenu = dr.find_element_by_link_text("设置")
webdriver.ActionChains(dr).move_to_element(setmenu).perform()
dr.find_element_by_link_text('搜索设置').click()
time.sleep(3) #未隐藏的元素可以直接选取;注释掉的是通过父级元素找后代也可以
#nrset = dr.find_element_by_id("nr")
#nrset.find_element_by_css_selector("option[value='50']").click()
dr.find_element_by_css_selector("option[value='50']").click() #弹出框确认 三种弹出框alert(一个按钮),confirm(两个按钮),prompt(两个按钮+输入框)
dr.find_element_by_link_text("保存设置").click()
print(dr.switch_to_alert().text)
dr.switch_to_alert().accept() #确认
#dr.switch_to_alert().dismiss() #取消
#dr.switch_to_alert().send_keys("只对prompt有效") #在弹出框输入内容 time.sleep(2)
dr.quit()

Selenium入门10 弹出框的处理 switch_to.alert的更多相关文章

  1. Java 学习笔记 (二) Selenium WebDriver Java 弹出框

    下面这段实例实现了以下功能: 1. profile使用用户本地电脑上的 (selenium 3有问题.因为selenium 3把profile复制到一个temp文件夹里,但并不复制回去.所以每次打开仍 ...

  2. 弹出框优化实例(alert和confirm)

    在项目过程中会遇到需要使用自己定义的弹出框的情况.以前用过ymprompt,但是它太复杂而且不好自己操控.所以自己写了一个弹出框实例. 主要有两类弹出框alert和confirm.基于jQuery a ...

  3. Bootstrap 学习笔记10 弹出框和警告框插件

    隐藏还有2个: 警告框:

  4. 基于Selenium2+Java的UI自动化(6)-操作Alert、confirm、prompt弹出框

    alert.confirm.prompt这样的js对话框在selenium1 时代处理起来比价麻烦,常常要用autoit来帮助处理.而现在webdriver对这些弹出框做了专门的处理,使用seleni ...

  5. JavaScript中的三种弹出框的区别与使用

    JavaScript中有三种原生的弹出框,分别是alert.confirm.prompt.分别表示弹出框.确认框.信息框. 以下是示例代码: <!DOCTYPE html> <htm ...

  6. 弹出框插件——dialog

    基于jquery和dot.js弹出框插件,兼容IE6+等其他浏览器. 思想:弹出框元素插入body节点中,并在页面垂直居中显示(fixed定位),触发确定和关闭事件绑定. 注意ie6包含两个问题:一. ...

  7. selenium+python自动化95-弹出框死活定位不到

    前言 部分小伙伴学了selenium的alert后,就不管啥弹出框都去用alert,这是行不通的,看到弹出框,先要确定是不是alert,是才能用,不是的话肯定不能用. 有些弹出框是div层,这种跟平常 ...

  8. python-selenium -- 弹出框处理

    弹出框有两种:页面弹出框(可定位元素能操作).Windows弹出框(不能直接定位) 一.页面弹出框 等待弹出框出现之后,定位弹出框,操作其中元素 如: driver = webdriver.Chrom ...

  9. UIPresentationController - iOS自定义模态弹出框

    参考: https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/Definin ...

随机推荐

  1. Experimental Educational Round: VolBIT Formulas Blitz F

    Description One company of IT City decided to create a group of innovative developments consisting f ...

  2. APPcrawler基础原理解析及使用

    一.背景 一年前,我们一直在用monkey进行Android 的稳定性测试 ,主要目的就是为了测试app 是否会产生Crash,是否会有ANR,页面错误等问题,在monkey测试过程中,实现了脱离Ca ...

  3. MERGE批量增删查改数据

    MERGE优点: 在批量处理数据的时候,我可以用到merge一次完成数据处理. 示例代码一: MERGE INTO student AS t using ( AS age) s ON t.Age=s. ...

  4. jconsole如何查看

    https://www.jdon.com/idea/jvm-gc.html 场景: https://www.cnblogs.com/yszzu/p/9648579.html    查看大对象到底占用多 ...

  5. Smarty保留变量信息

    对php里边的超级全局数组变量信息的使用 例如:$_GET.$_POST.$_SESSION.$_COOKIE.$_REQUEST.$_SERVER.$_ENV.$GLOBALS.$_FILES.常量 ...

  6. 转 windows下安装pycharm并连接Linux的python环境 以及 windows 下notepad ++编辑 linux 的文件

    ######sample 1:windows下安装pycharm并连接Linux的python环境 https://www.cnblogs.com/junxun/p/8287998.html wind ...

  7. sqoop导出数据

    export是HDFS里的文件导出到RDBMS的工具,不能从hive.hbase导出数据,且HDFS文件只能是文本格式.如果要把hive表数据导出到RDBMS,可以先把hive表通过查询写入到一个临时 ...

  8. Mybatis学习笔记12 - 动态sql之choose(when otherwise)标签

    choose (when, otherwise):分支选择:带了break的swtich-case 示例代码: 接口定义: package com.mybatis.dao; import com.my ...

  9. Technical Committee Weekly Meeting 2016.06.21

    Meeting time: 2016.June.21 1:00~2:00 Chairperson:  Thierry Carrez Meeting summary: 1.Add current hou ...

  10. node+mongoDB+express项目需求解释

    1. morgon模块 --- morgon 用于打印日志,分别为向后台打印和向文件中打印两种情况.stackoverflow. 2. app.use(bodyParser.json()) 3. de ...