• Seleniumwebdriver系列教程(7)————如何处理alert和confirm


    以前使用watir 1.6x 的时候处理页面javascript弹出的alert和confrim窗口时必须借助autoit工具来辅助执行,就像中国男足职业联赛中高价聘请外援一般。

    在selenium webdriver中,confirm和alert的处理再也不需要借助任何第三方工具了。

    下面的html页面上有1个名为click的button,点击该button后就会弹出1个alert窗口。

    <html>
    
        <head>
    
            <title>Alert</title>
    
        </head>
    
        <body>
    
            <input id = "btn" value = "click" type = "button" onclick = "alert('hello');"/>
    
        </body>
    
    </html>
    
    

    selenium webdriver处理alert的代码如下:

    require 'rubygems'
    
    require 'selenium-webdriver'
    
    
    
    dr = Selenium::WebDriver.for :firefox
    
    frame_file = 'file:///'.concat File.expand_path(File.join(File.dirname(__FILE__), 'alert.html'))
    
    dr.navigate.to frame_file
    
    dr.find_element(:id =>'btn').click
    
    a = dr.switch_to.alert
    
    puts a.text #--> hello
    
    a.accept
    
    

    上面代码的思路是先点击id为btn的按钮,然后a = dr.switch_to.alert返回了1个alert element(暂时如此理解好了)并赋值给变量a。这样a就代表了alert,使用puts a.text语句可以输出alert的内容,这里会打印出'hello'。 a.accept表示点击确认,当弹出窗口为confrim时,a.accept也表示确认,如果需要取消的话,那么则可以使用a.dismiss方法。

  • 相关阅读:
    吴裕雄--天生自然 Zookeeper学习笔记--Zookeeper 权限控制 ACL
    【机器学习】机器学习基础
    【QT】利用pyqt5实现简单界面
    【Mathtype】安装Mathtype后,word无法粘贴的问题
    【优化方法】牛顿法
    博客样式设置
    2018.8.28 练习赛
    2018.8.27 练习赛
    2018.8.26 练习赛
    2018.8.25 练习赛
  • 原文地址:https://www.cnblogs.com/nbkhic/p/2221504.html
Copyright © 2020-2023  润新知