如何返回当前页面的url
有时候我们需要返回当前测试页面的url。比如在使用soso进行搜索时,当我们提交了搜索请求后,soso返回的url应该是包含我们所需要搜索的关键字的。
例如如果我们搜索webdriver,那么提交搜索请求后,页面应当转到url为http://www.soso.com/q?pid=s.idx&cid=s.idx&w=webdriver的页面,这时候我们取到这个页面的url,然后通过正则表达式去匹配一下就能够得到我们所搜索的关键字了。具体代码如下。
require 'rubygems' require 'selenium-webdriver' dr = Selenium::WebDriver.for :firefox url = 'http://www.soso.com' dr.navigate.to url search_input = dr.find_element :id => 's_input' search_input.send_keys 'webdriver' search_input.submit match = dr.current_url.match(/\b\w+$/) keyword = match[0] if match |
如何返回当前页面的title
require 'rubygems' require 'selenium-webdriver' dr = Selenium::WebDriver.for :firefox url = 'http://www.soso.com' dr.navigate.to url puts dr.title |
其他方法
window_handles : 返回当前所有打开浏览器的窗口句柄
window_handle : 返回当前的浏览器的窗口句柄
page_source : 返回当前页面的源码
visible: 当前浏览器是否可见,并不保证支持所有浏览器
深入讨论
操作浏览器的方法主要封装在lib\selenium\webdriver\common\driver.rb文件中。
该文件定义了Selenium::WebDriver::Driver类。我们启动浏览器就是调用这个类的for方法。
接下来
这一节讨论了浏览器的简单操作,下一节我们将讨论如何在页面上执行js代码。
相关文章: