alert/confirm/prompt 处理

2023-05-06,,

webdriver 中处理JavaScript 所生成的alertconfirm 以及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 处理的相关教程结束。

《alert/confirm/prompt 处理.doc》

下载本文的Word格式文档,以方便收藏与打印。