• Selenium WebDriver- 操作JavaScript的Alert弹窗


    弹层和弹框是有区别的,弹框是那种完全没样式的框子;弹层是可以直接看到html的,有样式

    #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_HandleAlert(self):
            from selenium.common.exceptions import NoAlertPresentException
            import time
            url = "http://127.0.0.1/test_alert.html"
            # 访问自动以测试网页
            self.driver.get(url)
            # 通过id属性值查找页面上的按钮元素
            button = self.driver.find_element_by_id("button")
            # 单击按钮元素,则会弹出一个Alert消息框,
            # 上面显示“这是一个alert弹出框”和“确定”按钮
            button.click()
    
            try:
                # 使用driver.switch_to_alert()方法获取alert对象
                alert = self.driver.switch_to.alert
                time.sleep(2)
                # 使用alert.text属性获取alert框中的内容,
                # 并断言文字内容是否是“这是一个 alert 弹出框”
                self.assertAlmostEqual(alert.text, u"这是一个 alert 弹出框")
                # 调用alert对象的accept()方法,模拟鼠标单击alert弹窗上的“确定”按钮
                # 以便关闭alert窗
                alert.accept()
            except NoAlertPresentException, e:
                # 如果Alert框未弹出显示在页面上,则会抛出NoAlertPresentException的异常
                self.fail("尝试操作的 alert 框未被找到")
                print e
    
    
    
        def tearDown(self):
            # 退出IE浏览器
            self.driver.quit()
    
    if __name__ == '__main__':
        unittest.main()



    #alert.dismiss();   #取消    和alert.accept()对应,确定
  • 相关阅读:
    2018年国内就业薪资高的7大编程语言排行
    前端css实现最基本的时间轴
    前端css实现最基本的时间轴
    用Canvas画一个刮刮乐
    用Canvas画一个刮刮乐
    「干货」从菜鸟到大神,前端学习书籍推荐
    洛谷P3379 【模板】最近公共祖先(LCA)
    洛谷 P1359 租用游艇
    位运算...
    洛谷P2782 友好城市
  • 原文地址:https://www.cnblogs.com/qingqing-919/p/8709771.html
Copyright © 2020-2023  润新知