如果是弹出窗口页的话需要先把焦点转到这个窗口。
###A helper method to wait the popup window to be closed
#
def wait_close_popup_window
i=0
while page.driver.browser.window_handles.size > 1
sleep 0.3
i = i+0.3
if i > 3
break
end
end
end
##
#A helper method to wait the popup window to be opened
#
def wait_open_popup_window
i=0
while page.driver.browser.window_handles.size < 2
sleep 0.3
i = i+0.3
if i > 3
break
end
end
end
##
#A helper method to simplify the operation of popup window
# AdminBase.popup_window{
# page.execute_script "window.close()"
# }
#
def popup_window
wait_open_popup_window
popup = page.driver.browser.window_handles.last
within_window(popup) do
yield
wait_close_popup_window
end
end
把你需要在弹窗也处理的代码块替换yield就行了。
Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言.作用:
Ruby 是开源的,在Web 上免费提供,但需要一个许可证。
Ruby 是一种通用的、解释的编程语言。
Ruby 是一种真正的面向对象编程语言。
Ruby 是一种类似于 Python 和 Perl 的服务器端脚本语言。
Ruby 可以用来编写通用网关接口(CGI)脚本。
Ruby 可以被嵌入到超文本标记语言(HTML)。
Ruby 语法简单,这使得新的开发人员能够快速轻松地学习 Ruby。
Ruby 与 C++ 和 Perl 等许多编程语言有着类似的语法。
Ruby 可扩展性强,用 Ruby 编写的大程序易于维护。
Ruby 可用于开发的 Internet 和 Intranet 应用程序。
Ruby 可以安装在 Windows 和 POSIX 环境中。
Ruby 支持许多 GUI 工具,比如 Tcl/Tk、GTK 和 OpenGL。
Ruby 可以很容易地连接到 DB2、MySQL、Oracle 和 Sybase。
Ruby 有丰富的内置函数,可以直接在 Ruby 脚本中使用。