alert/confirm/prompt 处理

Posted

tags:

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

webdriver 中处理javascript 所生成的alert、confirm 以及prompt 是很简单的。具体思路是使用switch_to_alert()方法定位到alert/confirm/prompt。然后使用text/accept/dismiss/send_keys 按需进行操做。

 

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

技术分享

                                                                              图3.11

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

代码示例:

#coding=utf-8
from selenium import webdriver
import time


driver = webdriver.Firefox()
driver.get("http://www.baidu.com/")


#点击打开搜索设置
driver.find_element_by_name("tj_setting").click()
driver.find_element_by_id("SL_1").click()

#点击保存设置
driver.find_element_by_xpath("//div[@id=‘gxszButton‘]/input").click()

#获取网页上的警告信息
alert=driver.switch_to_alert()

#点击确认按钮
alert.accept()

driver.quit()

 

switch_to_alert()
用于获取网页上的警告信息。我们可以对警告信息做以下操作:

#点击确认按钮
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”)

 

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

Selenium处理alert/confirm/prompt提示框

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

selenium - switch_to_alert() - 警告框处理

alert,confirm与prompt的用法,各自属于啥客户端?

如何设置WebView支持js的Alert,Confirm,Prompt函数的弹出提示框.

请问Javascript 中的alert, confirm , prompt