alert\confirm\prompt 弹出框操作主要方法有:

  • text  返回 alert/confirm/prompt 中的文字信息
  • accept  点击确认按钮
  • dismiss 点击取消按钮,如果有的话
  • send_keys 输入值,这个 alert\confirm 没有对话框就不能用了,不然会报错。

在实际的应用中,我们会碰到各种交互的弹窗,在上面百度搜索设置的例子中,我们用
switch_to_alert() 处理警告框非常简单;其实,对于原生的 js alert 、confirm 以及 prompt
都可以通过 webdriver 的 switch_to_alert()方法进行处理

1、alert 操作

1.先用 switch_to_alert()方法切换到 alert 弹出框上
2.可以用 text 方法获取弹出的文本 信息
3.accept()点击确认按钮
4.dismiss()相当于点右上角 x,取消弹出框

  1. #接受警告信息
  2. alert = driver.switch_to_alert()
  3. alert.accept()
  4. #得到文本信息打印
  5. alert = driver.switch_to_alert()
  6. print alert.text()
  7. #取消对话框(如果有的话)
  8. alert = driver.switch_to_alert()
  9. alert.dismiss()
  10. #输入值
  11. alert = driver.switch_to_alert()
  12. alert.send_keys(“xxx”)

  下面以操作百度的设置为例:

  1. #coding=utf-8
  2. from selenium import webdriver
  3. from selenium.webdriver.common.action_chains import ActionChains
  4. import time
  5. #访问百度
  6. driver=webdriver.Firefox()
  7. driver.get("http://www.baidu.com")
  8. #鼠标悬停在设置上,并展示后面的操作
  9. link=driver.find_element_by_link_text('设置')
  10. ActionChains(driver).move_to_element(link).perform()
  11.  
  12. driver.find_element_by_link_text("搜索设置").click()
  13. #保存设置
  14. driver.find_element_by_class_name("prefpanelgo").click()
  15. time.sleep(3)
  16. #跳转进入对话框
  17. alert=driver.switch_to_alert()
  18. # 打印警告框文字
  19. print alert.text()
  20. #接受弹出的对话框
  21. alert.accept()
  22. #alert.dismiss()相当于点右上角 x,取消弹出框
  23. driver.close()

2、confirm操作

1.先用 switch_to_alert()方法切换到 alert 弹出框上
2.可以用 text 方法获取弹出的文本 信息
3.accept()点击确认按钮
4.dismiss()相当于点取消按钮或点右上角 x,取消弹出框

3、 prompt 操作

1.先用 switch_to_alert()方法切换到 alert 弹出框上
2.可以用 text 方法获取弹出的文本 信息
3.accept()点击确认按钮
4.dismiss()相当于点右上角 x,取消弹出框
5.send_keys()这里多个输入框,可以用 send_keys()方法输入文本内容

selenium+Python(alert 、confirm 、prompt 的处理)的更多相关文章

  1. Python+Selenium学习--alert/confirm/prompt 处理

    场景 webdriver 中处理JavaScript 所生成的alert.confirm 以及prompt 是很简单的.具体思路是使用switch_to.alert()方法定位到alert/confi ...

  2. Selenium处理alert/confirm/prompt提示框

    About 回到顶部 重新认识alert首先,不是所有的alert都能叫做alert框.JavaScript中,关于消息提示框的方法有三个(虽然都跟alert差不多): alert(message)方 ...

  3. selenium python (十一)alert/confirm/prompt的处理(js中的弹出框)

    webdriver中处理js所生成的alert.confirm以及prompt,采用switch_to_alert()方法定位到alert/confirm/prompt.然后使用text/accept ...

  4. Python脚本控制的WebDriver 常用操作 <二十二> 处理alert / confirm / prompt

    测试用例场景 webdriver中处理原生的js alert confirm 以及prompt是很简单的.具体思路是使用switch_to.alert()方法定位到alert/confirm/prom ...

  5. 转:python webdriver API 之alert/confirm/prompt 处理

    webdriver 中处理 JavaScript 所生成的 alert.confirm 以及 prompt 是很简单的.具体思路是使用switch_to.alert()方法定位到 alert/conf ...

  6. selenium自动化测试入门 Alert/Confirm/Prompt 弹出窗口处理

    一.Alert/Confirm/Prompt弹出窗口特征说明 Alert弹出窗口: 提示用户信息只有确认按钮,无法通过页面元素定位,不关闭窗口无法在页面上做其他操作. Confirm 弹出窗口: 有确 ...

  7. Java Selenium - 几种对话框处理Alert\confirm\prompt

    1. Alert , 先用常规办法定位到能触发alert的按钮 , 然后 Alert alert = driver.switchTo().alert(); alert.accept(); 如果aler ...

  8. alert/confirm/prompt 处理

    webdriver 中处理JavaScript 所生成的alert.confirm 以及prompt 是很简单的.具体思路是使用switch_to_alert()方法定位到alert/confirm/ ...

  9. 2.11 alert\confirm\prompt

    2.11 alert\confirm\prompt 前言   不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert.先认清楚alert长什么样子,下次碰到了,就可以用 ...

随机推荐

  1. 深入理解java虚拟机(四)垃圾收集算法及HotSpot实现

    垃圾收集算法 一般来说,垃圾收集算法分为四类: 标记-清除算法 最基础的算法便是标记-清除算法(Mark-Sweep).算法分为“标记”和“清除”两个阶段:首先标记处需要收集的对象,在标记完成之后,再 ...

  2. hdu2653之BFS

    Waiting ten thousand years for Love Time Limit: 10000/2000 MS (Java/Others)    Memory Limit: 32768/3 ...

  3. Java == 和 equals 比较

    在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str2 = new String(&qu ...

  4. HBase介绍 (1)---数据模型

    http://blog.csdn.net/heyutao007/article/details/5766896 BigTable是什么?Google的Paper对其作了充分的说明.字面上看就是一张大表 ...

  5. ecahrt 扇形(半扇形)

    var data = [{ "name": "1", "value": 54 }, { "name": "2& ...

  6. webservice 创建及调用

    1.创建一个空白项目 2.在此项目上新建项--添加一个web服务 (.asmx) 这样就创建好了一个webservice --------------------------------------- ...

  7. Split 之特殊用法

    java中split()特殊符号"." "|" "*" "\" "]"   关于点的问题是用stri ...

  8. jQuery阻止默认行为

      <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF- ...

  9. “全栈2019”Java第十九章:关系运算符、条件运算符和三元运算符

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  10. spring的包大概作用(备忘)

    1.spring.jar 是包含有完整发布模块的单个jar 包. 2. org.springframework.aop 包含在应用中使用Spring的AOP特性时所需的类. 3. org.spring ...