selenium python (十一)alert/confirm/prompt的处理(js中的弹出框)

时间:2021-06-14 09:24:46

webdriver中处理js所生成的alert、confirm以及prompt,采用switch_to_alert()方法定位到alert/confirm/prompt。然后使用text/accept/dismiss/send_keys进行操作

  ①text:返回alert/confirm/prompt中的文字信息

  ②accept:点击确认按钮

  ③dismiss:点击取消按钮

  ④send_keys:输入值,这个alert/confirm/prompt没有对话框就不能使用,否则会报错

eg:百度的设置页面,在设置完成后点击“保存设置”所弹的提示框

=======================================================

#!/usr/bin/python
# -*- coding: utf-8 -*-
__author__ = 'zuoanvip'

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()

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

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

#接收警告信息
alert.accept()

#打印警告中的文字信息
alert.text()

#点击取消按钮
alert.dismiss()

#输入值
alert.send_keys('test')