zoukankan      html  css  js  c++  java
  • Selenium WebDriver- 操作JavaScript的confirm弹窗

    #encoding=utf-8
    import unittest
    import time
    from selenium import webdriver
    from selenium.webdriver import ActionChains
    
    class VisitSogouByIE(unittest.TestCase):
    
        def setUp(self):
            #启动IE浏览器
            #self.driver = webdriver.Firefox(executable_path = "e:\geckodriver")
            self.driver = webdriver.Ie(executable_path = "e:\IEDriverServer")
            
        def test_Handleconfirm(self):
            from selenium.common.exceptions import NoAlertPresentException
            import time
            url = "http://127.0.0.1/test_confirm.html"
            # 访问自动以测试网页
            self.driver.get(url)
            # 通过id属性值查找页面上的按钮元素
            button = self.driver.find_element_by_id("button")
            # 单击按钮元素,则会弹出一个confirm提示框,
            # 上面显示“这是一个 confirm 弹出框”、“确定”和“取消”按钮
            button.click()
            try:
                # 较高版本的selenium推荐使用driver.switch_to.alert方法代替
                # driver.switch_to_alert()方法来获取alert对象
                alert = self.driver.switch_to.alert
                time.sleep(2)
                # 使用alert.text属性获取confirm框中的内容,
                # 并断言文字内容是否是“这是一个 confirm 弹出框”
                self.assertAlmostEqual(alert.text, u"这是一个 confirm 弹出框")
                # 调用alert对象的accept()方法,模拟鼠标单击confirm弹窗上的“确定”按钮
                # 以便关闭confirm窗
                #alert.accept()
                # 取消下面一行代码的注释,就会模拟单击confirm框上的“取消”按钮
                alert.dismiss()
            except NoAlertPresentException, e:
                # 如果confirm框未弹出显示在页面上,则会抛出NoAlertPresentException的异常
                self.fail("尝试操作的confirm框未被找到")
                print e
    
    
    
        def tearDown(self):
            # 退出IE浏览器
            self.driver.quit()
    
    if __name__ == '__main__':
        unittest.main()
  • 相关阅读:
    SqlServer——事务一进阶之锁的概念(SqlServer技术内幕 T-SQL程序设计 第九章)
    SqlServer——用户自定义函数
    HttpResponseMessage获取请求响应体内容
    如何获取Azure Storage Blob的MD5值
    Nuget安装nupkg文件
    Azure Storage Rest API Demo
    Java 调用Azure认知服务Demo--Computer API
    R语言安装加载包
    linux中的基础正则表达式
    修复组策略 这是启用组策略
  • 原文地址:https://www.cnblogs.com/qingqing-919/p/8709789.html
Copyright © 2011-2022 走看看