Selenium-webdriver系列教程(7)————如何处理alert和confirm_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > Selenium-webdriver系列教程(7)————如何处理alert和confirm

Selenium-webdriver系列教程(7)————如何处理alert和confirm

 2011/10/21 7:58:11  nbkhic  http://nbkhic.iteye.com  我要评论(2)
  • 摘要:以前使用watir1.6x的时候处理页面javascript弹出的alert和confrim窗口时必须借助autoit工具来辅助执行,就像中国男足职业联赛中高价聘请外援一般。在seleniumwebdriver中,confirm和alert的处理再也不需要借助任何第三方工具了。下面的html页面上有1个名为click的button,点击该button后就会弹出1个alert窗口。<html><head><title>Alert</title>
  • 标签:Web 何处 教程
以前使用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方法。
    网友 2012/4/14 12:34:01 发表

    页面弹出下载保存对话框时,可以用alert处理吗?我使用了alert之后,会提示There is no alert 的信息。下载保存对话框应该怎么处理啊?求高手指点迷津啊~

    网友 2012/4/14 12:30:46 发表

    您好!

发表评论
用户名: 匿名