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,取消弹出框

#接受警告信息
alert = driver.switch_to_alert()
alert.accept()
#得到文本信息打印
alert = driver.switch_to_alert()
print alert.text()
#取消对话框(如果有的话)
alert = driver.switch_to_alert()
alert.dismiss()
#输入值
alert = driver.switch_to_alert()
alert.send_keys(“xxx”)

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

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
#访问百度
driver=webdriver.Firefox()
driver.get("http://www.baidu.com")
#鼠标悬停在设置上,并展示后面的操作
link=driver.find_element_by_link_text('设置')
ActionChains(driver).move_to_element(link).perform() driver.find_element_by_link_text("搜索设置").click()
#保存设置
driver.find_element_by_class_name("prefpanelgo").click()
time.sleep(3)
#跳转进入对话框
alert=driver.switch_to_alert()
# 打印警告框文字
print alert.text()
#接受弹出的对话框
alert.accept()
#alert.dismiss()相当于点右上角 x,取消弹出框
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. NIOS II下基于中断的UART接收和发送设计示例代码

    #include "sys/alt_stdio.h" #include "altera_avalon_uart_regs.h" #include "s ...

  2. ifstat命令行统计网络流量

      下载 ifstat ,  http://gael.roualland.free.fr/ifstat/ifstat-1.1.tar.gz   tar xzvf ifstat-1.1.tar.gz   ...

  3. c# webbrowser在xp下自动闪退的一个坑

    接前面的做了个扫码登录的,但是使用中发现在win7下没有题,但是在xp中使用时在加载那个二维码时会导致直接闪退,还无法捕捉到错误,折腾了一下午无果. 今天早上来看贴子有人说可能是webbrowser中 ...

  4. WinForm中DataGridView的使用(四) - 区分单双击事件

    虽然DataGridView单双击事件都有,但双击事件其实也会触发单击事件的处理,所以如果双击事件和单击事件的行为不同,或者双击时不想触发单击事件,或者单击事件会阻塞双击事件的处理时(比如单击后会有弹 ...

  5. BZOJ4710 分特产

    题目链接:戳我 容斥题. 设\(f[i]\)表示至多有i个人能够分到(也就是至少n-i个人分不到)的方案数 \(f[i]=\prod_{j=1}^mC_{a[j]+i-1}^i-1\) a[j]表示的 ...

  6. 快速启动工具Rulers 3.6

    云盘下载:https://yunpan.cn/cq7mumZ5uzzgw (提取码:b16a) 能根据已经安装的所有软件的名称快速查询到并回车迅速打开1.Alt+空格无特效或者Alt键有特效控制显示和 ...

  7. 求二叉树第K层的节点个数+求二叉树叶子节点的个数

    size_t _FindLeafSize(Node* root)     //求二叉树叶子节点的个数    {        //static size_t count = 0;        if ...

  8. [Flex] 组件Tree系列 —— 阻止用户点击选中Tree中任何节点

    mxml: <?xml version="1.0" encoding="utf-8"?> <!--功能描述:阻止用户点击选中Tree中任何节点 ...

  9. 分享VMware题目解答

    VMnet1是主机模式.是一个Host-Only网络模式 192.168.1.254/24VMnet8是NAT模式.是一个NAT方式,最简单的组网方式VMnet6是手动设置的(主机.net.内部) 1 ...

  10. Chrome插件下载和安装方法

    http://jingyan.baidu.com/article/e4511cf35c2df92b845eafb3.html 扩展程序的下载方法   1 每个 Chrome 扩展程序 都有一个固定的 ...