场景
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 没有对话框就不能用了,不然会报错
代码
#!/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()