如何返回當(dāng)前頁面的url
有時候我們需要返回當(dāng)前測試頁面的url。比如在使用soso進(jìn)行搜索時,當(dāng)我們提交了搜索請求后,soso返回的url應(yīng)該是包含我們所需要搜索的關(guān)鍵字的。
例如如果我們搜索webdriver,那么提交搜索請求后,頁面應(yīng)當(dāng)轉(zhuǎn)到url為http://www.soso.com/q?pid=s.idx&cid=s.idx&w=webdriver的頁面,這時候我們?nèi)〉竭@個頁面的url,然后通過正則表達(dá)式去匹配一下能夠得到我們所搜索的關(guān)鍵字了。具體代碼如下。
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(/w+$/)
keyword = match[0] if match
如何返回當(dāng)前頁面的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 : 返回當(dāng)前所有打開瀏覽器的窗口句柄
window_handle : 返回當(dāng)前的瀏覽器的窗口句柄
page_source : 返回當(dāng)前頁面的源碼
visible: 當(dāng)前瀏覽器是否可見,并不保證支持所有瀏覽器
深入討論
操作瀏覽器的方法主要封裝在libseleniumwebdrivercommondriver.rb文件中。
該文件定義了Selenium::WebDriver::Driver類。我們啟動瀏覽器是調(diào)用這個類的for方法。
接下來
這一節(jié)討論了瀏覽器的簡單操作,下一節(jié)我們將討論如何在頁面上執(zhí)行js代碼。