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