Python+Selenium学习--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           输入值,这个alertconfirm 没有对话框就不能用了,不然会报错

代码

#!/usr/bin/env python
# -*- codinfg:utf-8 -*-
'''
@author: Jeff LEE
@file: prompt 处理.py
@time: 2018-09-25 17:27
@desc:
'''
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time

driver = webdriver.Firefox()
#添加智能等待
driver.implicitly_wait(10)

driver.get('https://www.baidu.com/')

#进入搜索设置页面
elment = driver.find_element_by_link_text('设置')
ActionChains(driver).move_to_element(elment).perform()
driver.find_element_by_link_text('搜索设置').click()
time.sleep(5)

#修改设置
driver.find_element_by_id('s1_2').click()
time.sleep(5)

#保存设置
driver.find_element_by_link_text('保存设置').click()

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

#得到文本信息并打印
print (alert.text)
#接收警告信息
alert.accept()

# 取消对话框(如果有的话)
# alert.dismiss()
# 输入值(如果有的话)
# alert.send_keys('XXX')

driver.quit()