个人公众号

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 没有对话框就不能用了,不然会报错。

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

#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()
dirver.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”

 

posted @ 2018-07-15 15:45  张_俊_杰  阅读(452)  评论(0编辑  收藏  举报