佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > Ruby下WebDriver的相關(guān)操作指南

Ruby下WebDriver的相關(guān)操作指南

熱門(mén)標(biāo)簽:硅谷的囚徒呼叫中心 企業(yè)做大做強(qiáng) 語(yǔ)音系統(tǒng) Win7旗艦版 呼叫中心市場(chǎng)需求 百度AI接口 電話(huà)運(yùn)營(yíng)中心 客戶(hù)服務(wù)

顯性等待:
 

wait = Selenium::WebDriver::Wait.new(:timeout => 3)
wait.until { driver.find_element(:id => "cheese").displayed? }

 

隱性等待:
 

driver = Selenium::WebDriver.for :firefox
driver.manage.timeouts.implicit_wait = 3 # seconds

 內(nèi)部超時(shí):

WebDriver在內(nèi)部使用http協(xié)議與各種driver發(fā)生交互聯(lián)系。默認(rèn)情況下,Ruby標(biāo)準(zhǔn)庫(kù)中的Net::HTTP協(xié)議使用時(shí)有60秒默認(rèn)超時(shí)時(shí)間,如果你調(diào)用Driver去加載一個(gè)超過(guò)60秒時(shí)間的頁(yè)面,你會(huì)看到一個(gè)來(lái)自于Net:HTTP的超時(shí)錯(cuò)誤。你可以在啟動(dòng)瀏覽器前手動(dòng)配置超時(shí)時(shí)間。

 

client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = 120 # seconds
driver = Selenium::WebDriver.for(:remote, :http_client => client)

 ruby webdriver 啟動(dòng)firefox driver時(shí),加載firebug的擴(kuò)展

在官方wiki上看到
Adding an extension
It's often useful to have Firebug available in the Firefox instance launched by WebDriver:
 

profile = Selenium::WebDriver::Firefox::Profile.new
profile.add_extension("/path/to/firebug.xpi")
driver = Selenium::WebDriver.for :firefox, :profile => profile

 

 于是乎自己嘗試了下,但是呢每次都是提示我firebug.xpi找不到

今天有空倒騰了,問(wèn)題解決了
其實(shí)是之前的理解錯(cuò)了,因?yàn)閐r =Selenium::WebDriver.for:ff
啟動(dòng)ff時(shí),都是初始化一個(gè)最簡(jiǎn)單的profile,里面不帶有firebug插件的,也就是說(shuō),哪怕我們?cè)仍趂irefox上面安裝了firebug,也是啟動(dòng)不了的,所以當(dāng)我們需要使用firebug時(shí),才需要加載一個(gè)firebug的擴(kuò)展
 

profile.add_extension("/path/to/firebug.xpi")

 至于“/path/to/firebug.xpi”就是firebug.xpi的存放路徑了,我們可以去網(wǎng)上下載一個(gè)firebug.xpi(對(duì)應(yīng)版本, 我的ff是14,可以使用firebug-1.10.4.xpi,最好使用非firefox瀏覽器下載,不然提示你直接安裝到firefox)
我們可以直接把firefox.xpi存放在我們腳本所存放的路徑,相對(duì)路徑和絕對(duì)路徑都可以
舉個(gè)百度的例子
 

require 'selenium-webdriver'
 
#dr = Selenium::WebDriver.for :ff
profile = Selenium::WebDriver::Firefox::Profile.new
profile.add_extension("path/to/firebug-1.10.4.xpi") font color="DarkOrchid">#firefox-1.10.4.xpi存放在與腳本同級(jí)的path/to下面/font>
dr = Selenium::WebDriver.for :firefox, :profile => profile
dr.get "http://www.baidu.com"

 這樣子當(dāng)我們需要查看dom結(jié)構(gòu)時(shí),我們就可以直接在打開(kāi)的測(cè)試頁(yè)面上調(diào)試?yán)玻挥萌バ麻_(kāi)個(gè)firefox去查看dom結(jié)構(gòu)了。

標(biāo)簽:山西 喀什 安康 山西 崇左 海南 長(zhǎng)沙 濟(jì)南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Ruby下WebDriver的相關(guān)操作指南》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266
    东平县| 宜州市| 海口市| 广德县| 晋城| 儋州市| 黑龙江省| 长岛县| 阜阳市| 小金县| 通州区| 读书| 呼和浩特市| 湖北省| 赣州市| 宾川县| 城固县| 泽库县| 晋江市| 平谷区| 图片| 二手房| 深泽县| 丰城市| 隆德县| 定安县| 西华县| 凤庆县| 阳西县| 墨脱县| 密云县| 象州县| 屯昌县| 杭锦旗| 南川市| 象州县| 景洪市| 仁寿县| 巢湖市| 辉县市| 承德市|