#操作js弹出框,alert、confirm、prompt都是一样的操作
alert = driver.switch_to.alert
alert.accept()
alert.dismiss()
import unittest
import time
from selenium import webdriver
from selenium.webdriver import ActionChains
class VisitSogouByIE(unittest.TestCase):
def setUp(self):
# 启动IE浏览器
self.driver = webdriver.Ie(executable_path = "g:\\IEDriverServer")
def testHandlePrompt(self):
url = "http://127.0.0.1/test_prompt.html"
# 访问自定义网页
self.driver.get(url)
# 使用id定位方式,找到被测试网页上唯一按钮元素
element = self.driver.find_element_by_id("button")
element.click()
time.sleep(2)
# 单击按钮元素,弹出一个prompt提示框,
# 上面将显示“这是一个prompt弹出框”、输入框、
# “确定”按钮和“取消”按钮
# 使用driver.switch_to_alert()方法获取Alert对象
alert = self.driver.switch_to.alert
# 使用alert.text方法获取prompt框上面的文字,
# 并断言文字内容是否和“这是一个 prompt 弹出框”一致
self.assertEqual("这是一个 prompt 弹出框", alert.text)
time.sleep(1)
# 调用alert.send_keys()方法,在prompt窗体的输入框中输入
# “selenium自动化”
alert.send_keys("selenium自动化")
time.sleep(1)
# 使用alert对象的accept方法,
# 点击prompt框的“确定”按钮,关闭prompt框
alert.accept()
# 使用alert对象的dismiss方法,单击prompt框上的“取消”按钮,关闭prompt框
# 取消下面一行代码的注释,就会模拟单击prompt框上的“取消”按钮
# alert.dismiss()
def tearDown(self):
# 退出IE浏览器
self.driver.quit()
if __name__ == '__main__':
unittest.main()