WebDriver命令編程手冊(cè)(中文機(jī)翻版)_第1頁(yè)
WebDriver命令編程手冊(cè)(中文機(jī)翻版)_第2頁(yè)
WebDriver命令編程手冊(cè)(中文機(jī)翻版)_第3頁(yè)
WebDriver命令編程手冊(cè)(中文機(jī)翻版)_第4頁(yè)
WebDriver命令編程手冊(cè)(中文機(jī)翻版)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

JsonWireProtocolLukeInman-Semerau編輯了此頁(yè)面on26Feb2016·6次修訂WebDriver有線協(xié)議介紹與瀏覽器或RemoteWebDriver服務(wù)器通信的所有WebDriver實(shí)現(xiàn)都應(yīng)使用通用的有線協(xié)議。此有線協(xié)議使用JSONoverHTTP定義RESTfulWeb服務(wù)。該協(xié)議將假設(shè)WebDriverAPI已經(jīng)“扁平化”,但是期望客戶端實(shí)現(xiàn)將采用更加面向?qū)ο蟮姆椒ǎ绗F(xiàn)有JavaAPI中所示。有線協(xié)議在“命令”和“響應(yīng)”的請(qǐng)求/響應(yīng)對(duì)中實(shí)現(xiàn)?;拘g(shù)語(yǔ)和概念客戶正在使用WebDriverAPI的計(jì)算機(jī)。服務(wù)器運(yùn)行RemoteWebDriver的機(jī)器。該術(shù)語(yǔ)還可以指直接實(shí)現(xiàn)有線協(xié)議的特定瀏覽器,例如FirefoxDriver或IPhoneDriver。會(huì)議服務(wù)器應(yīng)該每個(gè)會(huì)話維護(hù)一個(gè)瀏覽器。發(fā)送到會(huì)話的命令將定向到相應(yīng)的瀏覽器。WebElementWebDriverAPI中的一個(gè)對(duì)象,表示頁(yè)面上的DOM元素。WebElementJSON對(duì)象WebElement的JSON表示,用于通過(guò)線路傳輸。該對(duì)象具有以下屬性:鍵 類型 描述元件 串 服務(wù)器分配給元素的不透明ID。此ID應(yīng)在針對(duì)該元素發(fā)出的所有后續(xù)命令中使用。功能JSON對(duì)象并非所有服務(wù)器實(shí)現(xiàn)都支持每個(gè)WebDriver功能。因此,在描述會(huì)話支持的功能時(shí),客戶端和服務(wù)器應(yīng)使用具有下面列出的屬性的JSON對(duì)象。鍵 類型 描述browserName 串 正在使用的瀏覽器的名稱;應(yīng)該是其中之一{chrome|firefox|htmlunit|internetexplorer|iphone}。版 串 瀏覽器版本,如果未知?jiǎng)t為空字符串。平臺(tái) 串 一個(gè)鍵,指定運(yùn)行瀏覽器的平臺(tái)。這個(gè)值應(yīng)該是其中之一{WINDOWS|XP|VISTA|MAC|LINUX|UNIX}。當(dāng)請(qǐng)求新會(huì)話時(shí),客戶端可以指定ANY指示可以使用任何可用平臺(tái)。javascriptEnabled 布爾 會(huì)話是否支持在當(dāng)前頁(yè)面的上下文中執(zhí)行用戶提供的JavaScript。takesScreenshot 布爾 會(huì)話是否支持截取當(dāng)前頁(yè)面的屏幕截圖。handlesAlerts 布爾 會(huì)話是否可以與模態(tài)彈出窗口交互,例如window.alert和window.confirm。databaseEnabled 布爾 會(huì)話是否可以交互數(shù)據(jù)庫(kù)存儲(chǔ)。locationContextEnabled 布爾 會(huì)話是否可以設(shè)置和查詢?yōu)g覽器的位置上下文。applicationCacheEnabled 布爾 會(huì)話是否可以與應(yīng)用程序緩存交互。browserConnectionEnabled 布爾 會(huì)話是否可以查詢?yōu)g覽器的連接并在需要時(shí)禁用它。cssSelectorsEnabled 布爾 在搜索元素時(shí),會(huì)話是否支持CSS選擇器。webStorageEnabled 布爾 會(huì)話是否支持與存儲(chǔ)對(duì)象的交互。可旋轉(zhuǎn) 布爾 會(huì)話是否可以在縱向和橫向之間旋轉(zhuǎn)當(dāng)前頁(yè)面的當(dāng)前布局(僅適用于移動(dòng)平臺(tái))。acceptSslCerts 布爾 會(huì)話是否應(yīng)默認(rèn)接受所有SSL證書。nativeEvents 布爾 會(huì)話是否能夠在模擬用戶輸入時(shí)生成本機(jī)事件。代理 代理對(duì)象 要使用的任何代理的詳細(xì)信息。如果未指定代理,則使用系統(tǒng)的當(dāng)前或默認(rèn)狀態(tài)。格式在ProxyJSONObject下指定。期望的能力客戶端發(fā)送的功能JSON對(duì)象,描述服務(wù)器創(chuàng)建的新會(huì)話應(yīng)具備的功能。任何省略的鍵都隱含地表明相應(yīng)的功能是無(wú)關(guān)緊要的。更多DesiredCapabilities。實(shí)際能力服務(wù)器返回的功能JSON對(duì)象,描述會(huì)話實(shí)際支持的功能。任何省略的鍵都隱式指示不支持相應(yīng)的功能。CookieJSON對(duì)象描述Cookie的JSON對(duì)象。鍵 類型 描述名稱 串 cookie的名稱。值 串 cookie值。路徑 串 (可選)cookie路徑。1域 串 (可選)cookie可見(jiàn)的域。1安全 布爾 (可選)cookie是否是安全cookie。1僅Http 布爾 (可選)cookie是否為httpOnlycookie。1到期 數(shù) (可選)當(dāng)cookie過(guò)期時(shí),自UTC時(shí)間1970年1月1日午夜起以秒為單位指定。11返回Cookie對(duì)象時(shí),如果服務(wù)器無(wú)法提供信息,則只應(yīng)省略可選字段。日志條目JSON對(duì)象描述日志條目的JSON對(duì)象。鍵 類型 描述時(shí)間戳 數(shù) 條目的時(shí)間戳。水平 串 條目的日志級(jí)別,例如“INFO”(請(qǐng)參閱日志級(jí)別)。信息 串 日志消息。日志級(jí)別按順序記錄日志級(jí)別,最高級(jí)別和底部最粗糙級(jí)別。水平 描述所有 所有日志消息。用于獲取日志和日志記錄配置。DEBUG 用于調(diào)試的消息。信息 包含用戶信息的消息。警告 對(duì)應(yīng)于非關(guān)鍵問(wèn)題的消息。嚴(yán)重 與嚴(yán)重錯(cuò)誤相對(duì)應(yīng)的消息。關(guān)閉 沒(méi)有日志消息。用于配置日志記錄。日志類型下表列出了常見(jiàn)的日志類型。其他日志類型(例如,用于性能日志記錄)也可用。日志類型 描述客戶 從客戶端登錄。司機(jī) 從webdriver登錄。瀏覽器 從瀏覽器登錄。服務(wù)器 從服務(wù)器登錄。代理JSON對(duì)象描述代理配置的JSON對(duì)象。鍵 類型 描述的proxyType 串 (必需)正在使用的代理類型。可能的值有:direct-直接連接-沒(méi)有使用代理,手動(dòng)-配置手動(dòng)代理設(shè)置,例如設(shè)置HTTP代理,F(xiàn)TP代理等,pac-從URL代理自動(dòng)配置,自動(dòng)檢測(cè)-代理自動(dòng)檢測(cè),可能使用WPAD,系統(tǒng)-使用系統(tǒng)設(shè)置proxyAutoconfigUrl 串 (如果proxyType==pac,則為必需,否則為Ignued)指定用于代理自動(dòng)配置的URL。預(yù)期的格式示例:http://:1234/pacfileftpProxy,httpProxy,sslProxy,socksProxy 串 (可選,如果proxyType!=manual則忽略)指定分別用于FTP,HTTP,HTTPS和SOCKS請(qǐng)求的代理。如果發(fā)出請(qǐng)求,則行為未定義,如果proxyType是手動(dòng)的,則特定協(xié)議的代理未定義。預(yù)期的格式示例::1234socksUsername 串 (可選,如果未設(shè)置proxyType!=manual且未設(shè)置socksProxy,則忽略)指定SOCKS代理用戶名。socksPassword 串 (可選,如果未設(shè)置proxyType!=manual且未設(shè)置socksProxy,則忽略)指定SOCKS代理密碼。NOPROXY 串 (可選,如果proxyType!=manual則忽略)指定代理繞過(guò)地址。格式是特定于驅(qū)動(dòng)程序消息命令WebDriver命令消息應(yīng)符合HTTP/1.1請(qǐng)求規(guī)范。盡管可以擴(kuò)展服務(wù)器以響應(yīng)其他內(nèi)容類型,但是有線協(xié)議規(guī)定所有命令都接受內(nèi)容類型application/json;charset=UTF-8。同樣,POST和PUT請(qǐng)求的消息體必須使用application/json;charset=UTF-8內(nèi)容類型。WebDriver服務(wù)中的每個(gè)命令都將映射到特定路徑的HTTP方法。前綴為冒號(hào)(:)的路徑段表示該段是用于進(jìn)一步標(biāo)識(shí)基礎(chǔ)資源的變量。例如,考慮將任意資源映射為:GET/favorite/color/:name給定此映射,服務(wù)器應(yīng)響應(yīng)發(fā)送到“/favorite/color/Jack”和“/favorite/color/Jill”的GET請(qǐng)求,變量分別:name設(shè)置為“Jack”和“Jill”?;貞?yīng)命令響應(yīng)應(yīng)作為HTTP/1.1響應(yīng)消息發(fā)送。如果遠(yuǎn)程服務(wù)器必須返回4xx響應(yīng),則響應(yīng)正文應(yīng)具有text-typeoftext/plain,并且消息正文應(yīng)為錯(cuò)誤請(qǐng)求的描述性消息。對(duì)于所有其他情況,如果響應(yīng)包含消息正文,則它必須具有Content-Typeofapplication/json;charset=UTF-8并且將是具有以下屬性的JSON對(duì)象:鍵 類型 描述的sessionId 串 空值狀態(tài) 數(shù) 總結(jié)命令結(jié)果的狀態(tài)代碼。非零值表示命令失敗。值 * 響應(yīng)JSON值。響應(yīng)狀態(tài)代碼有線協(xié)議將繼承InternetExplorerDriver使用的狀態(tài)代碼:碼 摘要 詳情0 Success 命令執(zhí)行成功。6 NoSuchDriver 會(huì)話終止或未啟動(dòng)7 NoSuchElement 使用給定的搜索參數(shù)無(wú)法在頁(yè)面上找到元素。8 NoSuchFrame 無(wú)法滿足切換到幀的請(qǐng)求,因?yàn)闊o(wú)法找到幀。9 UnknownCommand 找不到請(qǐng)求的資源,或者使用映射資源不支持的HTTP方法收到請(qǐng)求。10 StaleElementReference 元素命令失敗,因?yàn)橐玫脑夭辉俑郊拥紻OM。11 ElementNotVisible 無(wú)法完成元素命令,因?yàn)樵撛卦陧?yè)面上不可見(jiàn)。12 InvalidElementState 無(wú)法完成元素命令,因?yàn)樵靥幱跓o(wú)效狀態(tài)(例如,嘗試單擊禁用的元素)。13 UnknownError 處理命令時(shí)發(fā)生未知的服務(wù)器端錯(cuò)誤。15 ElementIsNotSelectable 嘗試選擇無(wú)法選擇的元素。17 JavaScriptError 執(zhí)行用戶提供的JavaScript時(shí)發(fā)生錯(cuò)誤。19 XPathLookupError 通過(guò)XPath搜索元素時(shí)發(fā)生錯(cuò)誤。21 Timeout 操作在超時(shí)到期之前未完成。23 NoSuchWindow 無(wú)法滿足切換到其他窗口的請(qǐng)求,因?yàn)檎也坏酱翱凇?4 InvalidCookieDomain 非法嘗試在與當(dāng)前頁(yè)面不同的域下設(shè)置cookie。25 UnableToSetCookie 無(wú)法滿足設(shè)置cookie值的請(qǐng)求。26 UnexpectedAlertOpen 模態(tài)對(duì)話框已打開(kāi),阻止此操作27 NoAlertOpenError 當(dāng)一個(gè)未打開(kāi)時(shí),嘗試在模態(tài)對(duì)話框上進(jìn)行操作。28 ScriptTimeout 腳本在超時(shí)到期之前未完成。29 InvalidElementCoordinates 提供給交互操作的坐標(biāo)無(wú)效。三十 IMENotAvailable IME不可用。31 IMEEngineActivationFailed 無(wú)法啟動(dòng)IME引擎。32 InvalidSelector 參數(shù)是一個(gè)無(wú)效的選擇器(例如XPath/CSS)。33 SessionNotCreatedException 無(wú)法創(chuàng)建新會(huì)話。34 MoveTargetOutOfBounds 為移動(dòng)行動(dòng)提供的目標(biāo)是不受限制的??蛻舳藨?yīng)將服務(wù)器的404NotFound響應(yīng)解釋為“未知命令”響應(yīng)。來(lái)自服務(wù)器的未定義狀態(tài)字段的所有其他4xx和5xx響應(yīng)應(yīng)解釋為“未知錯(cuò)誤”響應(yīng)。錯(cuò)誤處理有線協(xié)議指定了兩個(gè)級(jí)別的錯(cuò)誤處理:無(wú)效請(qǐng)求和失敗命令。無(wú)效的請(qǐng)求所有無(wú)效請(qǐng)求都應(yīng)導(dǎo)致服務(wù)器返回4xxHTTP響應(yīng)。響應(yīng)Content-Type應(yīng)設(shè)置為text/plain,并且消息正文應(yīng)該是描述性錯(cuò)誤消息。無(wú)效請(qǐng)求的類別如下:未知的命令如果服務(wù)器收到其路徑未映射到REST服務(wù)中的資源的命令請(qǐng)求,則它應(yīng)響應(yīng)404NotFound消息。未實(shí)現(xiàn)的命令每個(gè)實(shí)現(xiàn)WebDriver有線協(xié)議的服務(wù)器都必須響應(yīng)每個(gè)已定義的命令。如果尚未在服務(wù)器上實(shí)現(xiàn)單個(gè)命令,則服務(wù)器應(yīng)響應(yīng)501NotImplemented錯(cuò)誤消息。請(qǐng)注意,這是無(wú)效請(qǐng)求類別中唯一未返回4xx狀態(tài)代碼的錯(cuò)誤。找不到可變資源如果請(qǐng)求路徑映射到變量資源,但該資源不存在,則服務(wù)器應(yīng)以a響應(yīng)404NotFound。例如,如果IDmy-session不是服務(wù)器上的有效會(huì)話ID,并且發(fā)送命令GET/session/my-sessionHTTP/1.1,則服務(wù)器應(yīng)該正常返回404。無(wú)效的命令方法如果請(qǐng)求路徑映射到有效資源,但該資源未響應(yīng)請(qǐng)求方法,則服務(wù)器應(yīng)以a響應(yīng)405MethodNotAllowed。響應(yīng)必須包含Allow標(biāo)頭,其中包含所請(qǐng)求資源的允許方法列表。缺少命令參數(shù)如果POST/PUT命令映射到需要一組JSON參數(shù)的資源,并且響應(yīng)主體不包含其中一個(gè)參數(shù),則服務(wù)器應(yīng)以a響應(yīng)400BadRequest。響應(yīng)正文應(yīng)列出缺少的參數(shù)。命令失敗如果請(qǐng)求映射到有效命令并包含請(qǐng)求正文中的所有預(yù)期參數(shù),但未能成功執(zhí)行,則服務(wù)器應(yīng)發(fā)送500內(nèi)部服務(wù)器錯(cuò)誤。此響應(yīng)應(yīng)具有Content-Type,application/json;charset=UTF-8并且響應(yīng)主體應(yīng)該是格式良好的JSON響應(yīng)對(duì)象。響應(yīng)狀態(tài)應(yīng)該是已定義的狀態(tài)代碼之一,響應(yīng)值應(yīng)該是另一個(gè)JSON對(duì)象,其中包含失敗命令的詳細(xì)信息:鍵 類型 描述信息 串 命令失敗的描述性消息。屏幕 串 (可選)如果包含,則將當(dāng)前頁(yè)面的屏幕截圖作為base64編碼的字符串。類 串 (可選)如果包含,則指定命令失敗時(shí)引發(fā)的異常的完全限定類名。堆棧跟蹤 排列 (可選)如果包含,則指定一組JSON對(duì)象,這些對(duì)象描述命令失敗時(shí)引發(fā)的異常的堆棧跟蹤。數(shù)組的zeroeth元素表示堆棧的頂部。stackTrace數(shù)組中的每個(gè)JSON對(duì)象都必須包含以下屬性:鍵 類型 描述文件名 串 包含此幀表示的行的源文件的名稱。班級(jí)名稱 串 此框架中活動(dòng)的類的完全限定類名。如果無(wú)法確定類名,或者不適用于實(shí)現(xiàn)服務(wù)器的語(yǔ)言,則應(yīng)將此屬性設(shè)置為空字符串。方法名 串 此框架中活動(dòng)的方法的名稱,如果未知/不適用,則為空字符串。電話號(hào)碼 數(shù) 幀的原始源文件中的行號(hào),如果未知?jiǎng)t為0。資源映射WebDriverREST服務(wù)中的資源映射到各個(gè)URL模式。每個(gè)資源可以響應(yīng)一個(gè)或多個(gè)HTTP請(qǐng)求方法。如果資源響應(yīng)GET請(qǐng)求,那么它也應(yīng)該響應(yīng)HEAD請(qǐng)求。所有資源都應(yīng)使用Allow標(biāo)頭字段響應(yīng)OPTIONS請(qǐng)求,標(biāo)頭字段的值是資源響應(yīng)的所有方法的列表。如果資源映射到包含可變路徑段名稱的URL,則應(yīng)使用該路徑段進(jìn)一步路由請(qǐng)求??勺兟窂蕉卧谫Y源映射中由冒號(hào)前綴指示。例如,請(qǐng)考慮以下事項(xiàng):/favorite/color/:person映射到此URL的資源應(yīng)解析:person路徑段的值,以進(jìn)一步確定如何響應(yīng)請(qǐng)求。如果此資源收到請(qǐng)求/favorite/color/Jack,則應(yīng)返回Jack最喜歡的顏色。同樣,服務(wù)器應(yīng)該返回任何請(qǐng)求的Jill最喜歡的顏色/favorite/color/Jill。如果其中一個(gè)資源的模式包含可變路徑段,而另一個(gè)資源的模式不包含可變路徑段,則兩個(gè)資源只能映射到相同的URL模式。在這些情況下,服務(wù)器應(yīng)始終將請(qǐng)求路由到其路徑與請(qǐng)求最匹配的資源??紤]以下兩個(gè)資源路徑:/session/:sessionId/element/active/session/:sessionId/element/:id給定這些映射,服務(wù)器應(yīng)始終將最終路徑段處于活動(dòng)狀態(tài)的請(qǐng)求路由到第一個(gè)資源。所有其他請(qǐng)求應(yīng)路由到第二個(gè)。命令參考命令摘要HTTP方法 路徑 摘要得到 /狀態(tài) 查詢服務(wù)器的當(dāng)前狀態(tài)。POST /會(huì)話 創(chuàng)建一個(gè)新會(huì)話。得到 /會(huì)話 返回當(dāng)前活動(dòng)會(huì)話的列表。得到 /會(huì)話/:的sessionId 檢索指定會(huì)話的功能。刪除 /會(huì)話/:的sessionId 刪除會(huì)話。POST /會(huì)話/:的sessionId/超時(shí) 配置特定類型的操作在中止之前可以執(zhí)行的時(shí)間量和aPOST /會(huì)話/:的sessionId/超時(shí)/async_script 設(shè)置執(zhí)行的異步腳本/session/:sessionId/execute_async在中止之前允許運(yùn)行的時(shí)間(以毫秒為單位)和aPOST /會(huì)話/:的sessionId/超時(shí)/implicit_wait 設(shè)置驅(qū)動(dòng)程序在搜索元素時(shí)應(yīng)等待的時(shí)間。得到 /會(huì)話/:的sessionId/WINDOW_HANDLE 檢索當(dāng)前窗口句柄。得到 /會(huì)話/:的sessionId/window_handles 檢索會(huì)話可用的所有窗口句柄的列表。得到 /會(huì)話/:的sessionId/URL 檢索當(dāng)前頁(yè)面的URL。POST /會(huì)話/:的sessionId/URL 導(dǎo)航到新網(wǎng)址。POST /會(huì)話/:的sessionId/前進(jìn) 如果可能,在瀏覽器歷史記錄中向前導(dǎo)航。POST /會(huì)話/:的sessionId/回 如果可能,在瀏覽器歷史記錄中向后導(dǎo)航。POST /會(huì)話/:的sessionId/刷新 刷新當(dāng)前頁(yè)面。POST /會(huì)話/:的sessionId/執(zhí)行 將一段JavaScript注入頁(yè)面,以便在當(dāng)前所選幀的上下文中執(zhí)行。POST /會(huì)話/:的sessionId/execute_async 將一段JavaScript注入頁(yè)面,以便在當(dāng)前所選幀的上下文中執(zhí)行。得到 /會(huì)話/:的sessionId/截圖 截取當(dāng)前頁(yè)面的屏幕截圖。得到 /會(huì)話/:的sessionId/IME/available_engines 列出機(jī)器上所有可用的引擎。得到 /會(huì)話/:的sessionId/IME/active_engine 獲取活動(dòng)IME引擎的名稱。得到 /會(huì)話/:的sessionId/IME/激活 指示此時(shí)IME輸入是否處于活動(dòng)狀態(tài)(而不是它是否可用)。POST /會(huì)話/:的sessionId/IME/停用 取消激活當(dāng)前活動(dòng)的IME引擎。POST /會(huì)話/:的sessionId/IME/激活 使一個(gè)可用的引擎(在getAvailableEngines返回的列表中顯示)處于活動(dòng)狀態(tài)。POST /會(huì)話/:的sessionId/幀 將焦點(diǎn)更改為頁(yè)面上的另一個(gè)幀。POST /會(huì)話/:的sessionId/幀/親 將焦點(diǎn)更改為父上下文。POST /會(huì)話/:的sessionId/窗口 將焦點(diǎn)更改為另一個(gè)窗口。刪除 /會(huì)話/:的sessionId/窗口 關(guān)閉當(dāng)前窗口。POST /會(huì)話/:的sessionId/窗/:windowHandle/尺寸 更改指定窗口的大小。得到 /會(huì)話/:的sessionId/窗/:windowHandle/尺寸 獲取指定窗口的大小。POST /會(huì)話/:的sessionId/窗/:windowHandle/位置 更改指定窗口的位置。得到 /會(huì)話/:的sessionId/窗/:windowHandle/位置 獲取指定窗口的位置。POST /會(huì)話/:的sessionId/窗/:windowHandle/最大化 如果尚未最大化,則最大化指定的窗口。得到 /會(huì)話/:的sessionId/餅干 檢索當(dāng)前頁(yè)面可見(jiàn)的所有Cookie。POST /會(huì)話/:的sessionId/餅干 設(shè)置一個(gè)cookie。刪除 /會(huì)話/:的sessionId/餅干 刪除當(dāng)前頁(yè)面可見(jiàn)的所有Cookie。刪除 /會(huì)話/:的sessionId/餅干/:名稱 刪除具有給定名稱的cookie。得到 /會(huì)話/:的sessionId/源 獲取當(dāng)前頁(yè)面源。得到 /會(huì)話/:的sessionId/標(biāo)題 獲取當(dāng)前頁(yè)面標(biāo)題。POST /會(huì)話/:的sessionId/元件 從文檔根目錄開(kāi)始在頁(yè)面上搜索元素。POST /會(huì)話/:的sessionId/元件 從文檔根目錄開(kāi)始在頁(yè)面上搜索多個(gè)元素。POST /會(huì)話/:的sessionId/元件/活性 獲取當(dāng)前具有焦點(diǎn)的頁(yè)面上的元素。得到 /會(huì)話/:的sessionId/元/:ID 描述已識(shí)別的元素。POST /會(huì)話/:的sessionId/元/:ID/元素 從標(biāo)識(shí)的元素開(kāi)始,在頁(yè)面上搜索元素。POST /會(huì)話/:的sessionId/元件/:ID/元素 從標(biāo)識(shí)的元素開(kāi)始,在頁(yè)面上搜索多個(gè)元素。POST /會(huì)話/:的sessionId/元/:ID/點(diǎn)擊 單擊元素。POST /會(huì)話/:的sessionId/元/:ID/提交 提交一個(gè)FORM元素。得到 /會(huì)話/:的sessionId/元/:ID/文 返回元素的可見(jiàn)文本。POST /會(huì)話/:的sessionId/元件/:ID/值 將一系列擊鍵發(fā)送到元素。POST /會(huì)話/:的sessionId/鍵 將一系列擊鍵發(fā)送到活動(dòng)元素。得到 /會(huì)話/:的sessionId/元/:ID/名稱 查詢?cè)氐臉?biāo)記名稱。POST /會(huì)話/:的sessionId/元/:ID/清除 清除aTEXTAREA或textINPUT元素的值。得到 /會(huì)話/:的sessionId/元件/:ID/選擇 確定當(dāng)前是否選擇了OPTION元素或INPUT類型checkbox或元素radiobutton。得到 /會(huì)話/:的sessionId/元/:ID/啟用 確定當(dāng)前是否啟用了元素。得到 /會(huì)話/:的sessionId/元/:ID/屬性/:名稱 獲取元素屬性的值。得到 /會(huì)話/:的sessionId/元/:ID/等于/:其它 測(cè)試兩個(gè)元素ID是否引用相同的DOM元素。得到 /會(huì)話/:的sessionId/元件/:ID/顯示 確定當(dāng)前是否顯示元素。得到 /會(huì)話/:的sessionId/元/:ID/位置 確定元素在頁(yè)面上的位置。得到 /會(huì)話/:的sessionId/元/:ID/location_in_view 一旦滾動(dòng)到視圖中,確定元素在屏幕上的位置。得到 /會(huì)話/:的sessionId/元/:ID/尺寸 確定元素的大?。ㄒ韵袼貫閱挝唬?。得到 /會(huì)話/:的sessionId/元/:ID/CSS/:propertyName的 查詢?cè)氐挠?jì)算CSS屬性的值。得到 /會(huì)話/:的sessionId/方向 獲取當(dāng)前的瀏覽器方向。POST /會(huì)話/:的sessionId/方向 設(shè)置瀏覽器方向。得到 /會(huì)話/:的sessionId/alert_text 獲取當(dāng)前顯示的JavaScript的文本alert(),confirm()或prompt()對(duì)話框。POST /會(huì)話/:的sessionId/alert_text 將鍵擊發(fā)送到JavaScriptprompt()對(duì)話框。POST /會(huì)話/:的sessionId/accept_alert 接受當(dāng)前顯示的警報(bào)對(duì)話框。POST /會(huì)話/:的sessionId/dismiss_alert 取消當(dāng)前顯示的警報(bào)對(duì)話框。POST /會(huì)話/:的sessionId/通過(guò)MoveTo 將鼠標(biāo)移動(dòng)到特定元素的偏移量。POST /會(huì)話/:的sessionId/點(diǎn)擊 單擊任意鼠標(biāo)按鈕(在最后一個(gè)moveto命令設(shè)置的坐標(biāo)處)。POST /會(huì)話/:的sessionId/個(gè)buttonDown 單擊并按住鼠標(biāo)左鍵(在最后一個(gè)moveto命令設(shè)置的坐標(biāo)處)。POST /會(huì)話/:的sessionId/buttonup 釋放先前保持的鼠標(biāo)按鈕(鼠標(biāo)當(dāng)前所在的位置)。POST /會(huì)話/:的sessionId/雙擊 雙擊當(dāng)前鼠標(biāo)坐標(biāo)(由moveto設(shè)置)。POST /會(huì)話/:的sessionId/觸摸/點(diǎn)擊 單擊啟用觸摸的設(shè)備。POST /會(huì)話/:的sessionId/觸摸/向下 手指放在屏幕上。POST /會(huì)話/:的sessionId/觸摸/向上 手指在屏幕上。POST 會(huì)議/:的sessionId/觸摸/移動(dòng) 手指在屏幕上移動(dòng)。POST 會(huì)議/:的sessionId/觸摸/滾動(dòng) 使用基于手指的動(dòng)作事件在觸摸屏上滾動(dòng)。POST 會(huì)議/:的sessionId/觸摸/滾動(dòng) 使用基于手指的動(dòng)作事件在觸摸屏上滾動(dòng)。POST 會(huì)議/:的sessionId/觸摸/雙擊 使用手指運(yùn)動(dòng)事件雙擊觸摸屏。POST 會(huì)議/:的sessionId/觸摸/longclick 使用手指運(yùn)動(dòng)事件長(zhǎng)按觸摸屏。POST 會(huì)議/:的sessionId/觸摸/輕彈 使用手指運(yùn)動(dòng)事件輕觸觸摸屏。POST 會(huì)議/:的sessionId/觸摸/輕彈 使用手指運(yùn)動(dòng)事件輕觸觸摸屏。得到 /會(huì)話/:的sessionId/位置 獲取當(dāng)前的地理位置。POST /會(huì)話/:的sessionId/位置 設(shè)置當(dāng)前的地理位置。得到 /會(huì)話/:的sessionId/LOCAL_STORAGE 獲取存儲(chǔ)的所有密鑰。POST /會(huì)話/:的sessionId/LOCAL_STORAGE 設(shè)置給定鍵的存儲(chǔ)項(xiàng)。刪除 /會(huì)話/:的sessionId/LOCAL_STORAGE 清除存儲(chǔ)空間。得到 /會(huì)話/:的sessionId/LOCAL_STORAGE/按鍵/:關(guān)鍵 獲取給定密鑰的存儲(chǔ)項(xiàng)。刪除 /會(huì)話/:的sessionId/LOCAL_STORAGE/按鍵/:關(guān)鍵 刪除給定密鑰的存儲(chǔ)項(xiàng)。得到 /會(huì)話/:的sessionId/LOCAL_STORAGE/尺寸 獲取存儲(chǔ)中的項(xiàng)目數(shù)。得到 /會(huì)話/:的sessionId/SESSION_STORAGE 獲取存儲(chǔ)的所有密鑰。POST /會(huì)話/:的sessionId/SESSION_STORAGE 設(shè)置給定鍵的存儲(chǔ)項(xiàng)。刪除 /會(huì)話/:的sessionId/SESSION_STORAGE 清除存儲(chǔ)空間。得到 /會(huì)話/:的sessionId/SESSION_STORAGE/按鍵/:關(guān)鍵 獲取給定密鑰的存儲(chǔ)項(xiàng)。刪除 /會(huì)話/:的sessionId/SESSION_STORAGE/按鍵/:關(guān)鍵 刪除給定密鑰的存儲(chǔ)項(xiàng)。得到 /會(huì)話/:的sessionId/SESSION_STORAGE/尺寸 獲取存儲(chǔ)中的項(xiàng)目數(shù)。POST /會(huì)話/:的sessionId/日志 獲取給定日志類型的日志。得到 /會(huì)話/:的sessionId/日志/類型 獲取可用的日志類型。得到 /會(huì)話/:的sessionId/application_cache/狀態(tài) 獲取html5應(yīng)用程序緩存的狀態(tài)。命令細(xì)節(jié)/狀態(tài)GET/狀態(tài)查詢服務(wù)器的當(dāng)前狀態(tài)。如果服務(wù)器處于活動(dòng)狀態(tài)并接受命令,則應(yīng)響應(yīng)一般的“HTTP200OK”響應(yīng)。響應(yīng)主體應(yīng)該是描述服務(wù)器狀態(tài)的JSON對(duì)象。所有服務(wù)器實(shí)現(xiàn)都應(yīng)返回兩個(gè)描述服務(wù)器當(dāng)前平臺(tái)的基本對(duì)象以及服務(wù)器何時(shí)構(gòu)建。所有字段都是可選的;如果省略,客戶端應(yīng)該假設(shè)值為uknown。此外,服務(wù)器實(shí)現(xiàn)可能包括此處未列出的其他字段。鍵 類型 描述建立 賓語(yǔ) build.version 串 通用發(fā)行標(biāo)簽(即“2.0rc3”)build.revision 串 從中構(gòu)建服務(wù)器的本地源控制客戶端的修訂版build.time 串 構(gòu)建服務(wù)器時(shí)的時(shí)間戳???賓語(yǔ) os.arch 串 當(dāng)前的系統(tǒng)架構(gòu)。 串 服務(wù)器當(dāng)前運(yùn)行的操作系統(tǒng)的名稱:“windows”,“l(fā)inux”等。os.version 串 操作系統(tǒng)版本。返回:{object}描述服務(wù)器一般狀態(tài)的對(duì)象。/會(huì)話POST/session創(chuàng)建一個(gè)新會(huì)話。服務(wù)器應(yīng)嘗試創(chuàng)建與所需和所需功能最匹配的會(huì)話。所需功能的優(yōu)先級(jí)高于所需功能,必須為要?jiǎng)?chuàng)建的會(huì)話設(shè)置。JSON參數(shù):desiredCapabilities-{object}描述會(huì)話所需功能的對(duì)象。requiredCapabilities-{object}描述會(huì)話所需功能的對(duì)象(可選)。返回:{object}描述會(huì)話功能的對(duì)象。潛在錯(cuò)誤:SessionNotCreatedException-如果無(wú)法設(shè)置所需的功能。/會(huì)話GET/會(huì)話返回當(dāng)前活動(dòng)會(huì)話的列表。每個(gè)會(huì)話將作為JSON對(duì)象列表返回,并帶有以下鍵:鍵 類型 描述ID 串 會(huì)話ID。功能 賓語(yǔ) 描述會(huì)話功能的對(duì)象。返回:{Array.<Object>}當(dāng)前活動(dòng)會(huì)話的列表。/會(huì)話/:的sessionIdGET/session/:sessionId檢索指定會(huì)話的功能。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{object}描述會(huì)話功能的對(duì)象。DELETE/session/:sessionId刪除會(huì)話。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。/會(huì)話/:的sessionId/超時(shí)POST/session/:sessionId/timeouts配置特定類型的操作在中止之前可以執(zhí)行的時(shí)間量和|Timeout|錯(cuò)誤返回給客戶端。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):type-{string}設(shè)置超時(shí)的操作類型。有效值包括:腳本超時(shí)的“腳本”,修改隱式等待超時(shí)的“隱式”和設(shè)置頁(yè)面加載超時(shí)的“頁(yè)面加載”。ms-{number}允許運(yùn)行限時(shí)命令的時(shí)間量(以毫秒為單位)。/會(huì)話/:的sessionId/超時(shí)/async_scriptPOST/session/:sessionId/timeouts/async_script設(shè)置執(zhí)行的異步腳本/session/:sessionId/execute_async在中止之前允許運(yùn)行的時(shí)間(以毫秒為單位)和|Timeout|錯(cuò)誤返回給客戶端。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):ms-{number}允許運(yùn)行限時(shí)命令的時(shí)間量(以毫秒為單位)。/會(huì)話/:的sessionId/超時(shí)/implicit_waitPOST/session/:sessionId/timeouts/implicit_wait設(shè)置驅(qū)動(dòng)程序在搜索元素時(shí)應(yīng)等待的時(shí)間。當(dāng)單個(gè)元素搜索,直到找到一個(gè)元素或駕駛員應(yīng)查詢頁(yè)面的超時(shí),以先到為準(zhǔn)。搜索多個(gè)元素時(shí),驅(qū)動(dòng)程序應(yīng)輪詢頁(yè)面,直到找到至少一個(gè)元素或超時(shí)到期,此時(shí)它應(yīng)返回一個(gè)空列表。如果從未發(fā)送此命令,則驅(qū)動(dòng)程序應(yīng)默認(rèn)為0ms的隱式等待。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):ms-{number}等待的時(shí)間量,以毫秒為單位。該值的下限為0。/會(huì)話/:的sessionId/WINDOW_HANDLEGET/session/:sessionId/window_handle檢索當(dāng)前窗口句柄。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{string}當(dāng)前窗口句柄。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。/會(huì)話/:的sessionId/window_handlesGET/session/:sessionId/window_handles檢索會(huì)話可用的所有窗口句柄的列表。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{Array.<string>}窗口句柄列表。/會(huì)話/:的sessionId/URLGET/session/:sessionId/url檢索當(dāng)前頁(yè)面的URL。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{string}當(dāng)前的URL。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。POST/session/:sessionId/url導(dǎo)航到新網(wǎng)址。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):url-{string}要導(dǎo)航到的URL。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。/會(huì)話/:的sessionId/前進(jìn)POST/session/:sessionId/forward如果可能,在瀏覽器歷史記錄中向前導(dǎo)航。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。/會(huì)話/:的sessionId/回POST/session/:sessionId/back如果可能,在瀏覽器歷史記錄中向后導(dǎo)航。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。/會(huì)話/:的sessionId/刷新POST/session/:sessionId/refresh刷新當(dāng)前頁(yè)面。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。/會(huì)話/:的sessionId/執(zhí)行POST/session/:sessionId/execute將一段JavaScript注入頁(yè)面,以便在當(dāng)前所選幀的上下文中執(zhí)行。假定執(zhí)行的腳本是同步的,并且評(píng)估腳本的結(jié)果將返回給客戶端。該script參數(shù)定義了以函數(shù)體的形式執(zhí)行的腳本。該函數(shù)返回的值將返回給客戶端。將使用提供的args數(shù)組調(diào)用該函數(shù),并且可以arguments按指定的順序通過(guò)對(duì)象訪問(wèn)這些值。參數(shù)可以是任何JSON基元,數(shù)組或JSON對(duì)象。定義WebElement引用的JSON對(duì)象將轉(zhuǎn)換為相應(yīng)的DOM元素。同樣,腳本結(jié)果中的任何WebElements都將返回給客戶端WebElementJSON對(duì)象。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):script-{string}要執(zhí)行的腳本。args-{Array.<*>}腳本參數(shù)。返回:{*}腳本結(jié)果。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果其中一個(gè)腳本參數(shù)是未附加到頁(yè)面DOM的WebElement。JavaScriptError-如果腳本拋出錯(cuò)誤。/會(huì)話/:的sessionId/execute_asyncPOST/session/:sessionId/execute_async將一段JavaScript注入頁(yè)面,以便在當(dāng)前所選幀的上下文中執(zhí)行。假定執(zhí)行的腳本是異步的,并且必須通過(guò)調(diào)用提供的回調(diào)來(lái)發(fā)出信號(hào),該回調(diào)始終作為函數(shù)的最終參數(shù)提供。此回調(diào)的值將返回給客戶端。異步腳本命令可能不會(huì)跨頁(yè)面加載。如果unload在等待腳本結(jié)果時(shí)觸發(fā)事件,則應(yīng)將錯(cuò)誤返回給客戶端。該script參數(shù)定義了以函數(shù)體的形式執(zhí)行的腳本。將使用提供的args數(shù)組調(diào)用該函數(shù),并且可以通過(guò)以下方式訪問(wèn)這些值arguments對(duì)象按指定的順序排列。最后一個(gè)參數(shù)將始終是一個(gè)回調(diào)函數(shù),必須調(diào)用該函數(shù)來(lái)表示腳本已完成。參數(shù)可以是任何JSON基元,數(shù)組或JSON對(duì)象。定義WebElement引用的JSON對(duì)象將轉(zhuǎn)換為相應(yīng)的DOM元素。同樣,腳本結(jié)果中的任何WebElements都將作為WebElementJSON對(duì)象返回給客戶端。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):script-{string}要執(zhí)行的腳本。args-{Array.<*>}腳本參數(shù)。返回:{*}腳本結(jié)果。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果其中一個(gè)腳本參數(shù)是未附加到頁(yè)面DOM的WebElement。Timeout-如果在timout到期之前未調(diào)用腳本回調(diào)。超時(shí)由/session/:sessionId/timeout/async_script命令控制。JavaScriptError-如果腳本拋出錯(cuò)誤或unload在等待腳本完成時(shí)觸發(fā)事件。/會(huì)話/:的sessionId/截圖GET/session/:sessionId/screenshot截取當(dāng)前頁(yè)面的屏幕截圖。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{string}截圖為base64編碼的PNG。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。/會(huì)話/:的sessionId/IME/available_enginesGET/session/:sessionId/ime/available_engines列出機(jī)器上所有可用的引擎。要使用引擎,它必須出現(xiàn)在此列表中。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{Array.<string>}可用引擎列表潛在錯(cuò)誤:ImeNotAvailableException-如果主機(jī)不支持IME/會(huì)話/:的sessionId/IME/active_engineGET/session/:sessionId/ime/active_engine獲取活動(dòng)IME引擎的名稱。名稱字符串是特定于平臺(tái)的。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{string}活動(dòng)IME引擎的名稱。潛在錯(cuò)誤:ImeNotAvailableException-如果主機(jī)不支持IME/會(huì)話/:的sessionId/IME/激活GET/session/:sessionId/ime/activated指示此時(shí)IME輸入是否處于活動(dòng)狀態(tài)(而不是它是否可用)。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{boolean}如果IME輸入可用且當(dāng)前處于活動(dòng)狀態(tài),則為true,否則為false潛在錯(cuò)誤:ImeNotAvailableException-如果主機(jī)不支持IME/會(huì)話/:的sessionId/IME/停用POST/session/:sessionId/ime/deactivate取消激活當(dāng)前活動(dòng)的IME引擎。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。潛在錯(cuò)誤:ImeNotAvailableException-如果主機(jī)不支持IME/會(huì)話/:的sessionId/IME/激活POST/session/:sessionId/ime/activate使可用的引擎(在getAvailableEngines返回的列表中顯示)處于活動(dòng)狀態(tài)。在此調(diào)用之后,引擎將被添加到IME守護(hù)程序中加載的引擎列表中,并且使用sendKeys發(fā)送的輸入將由活動(dòng)引擎轉(zhuǎn)換。請(qǐng)注意,這是一種獨(dú)立于平臺(tái)的激活I(lǐng)ME的方法(特定于平臺(tái)的方式是使用鍵盤快捷鍵)網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):engine-{string}要激活的引擎的名稱。潛在錯(cuò)誤:ImeActivationFailedException-如果引擎不可用或由于其他原因激活失敗。ImeNotAvailableException-如果主機(jī)不支持IME/會(huì)話/:的sessionId/幀POST/session/:sessionId/frame將焦點(diǎn)更改為頁(yè)面上的另一個(gè)幀。如果框架id是null,服務(wù)器應(yīng)該切換到頁(yè)面的默認(rèn)內(nèi)容。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):id-{string|number|null|WebElementJSONObject}將焦點(diǎn)更改為的幀的標(biāo)識(shí)符。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。NoSuchFrame-如果id找不到指定的幀。/會(huì)話/:的sessionId/幀/親POST/session/:sessionId/frame/parent將焦點(diǎn)更改為父上下文。如果當(dāng)前上下文是頂級(jí)瀏覽上下文,則上下文保持不變。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。/會(huì)話/:的sessionId/窗口POST/session/:sessionId/window將焦點(diǎn)更改為另一個(gè)窗口。將焦點(diǎn)更改為的窗口可以由其服務(wù)器指定的窗口句柄指定,也可以由其name屬性的值指定。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):name-{string}將焦點(diǎn)更改為的窗口。潛在錯(cuò)誤:NoSuchWindow-如果name找不到指定的窗口。DELETE/session/:sessionId/window關(guān)閉當(dāng)前窗口。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉/會(huì)話/:的sessionId/窗/:windowHandle/尺寸POST/session/:sessionId/window/:windowHandle/size更改指定窗口的大小。如果:windowHandleURL參數(shù)為“current”,則將調(diào)整當(dāng)前活動(dòng)窗口的大小。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):width-{number}新窗口寬度。height-{number}新窗口高度。GET/session/:sessionId/window/:windowHandle/size獲取指定窗口的大小。如果:windowHandleURL參數(shù)為“current”,則返回當(dāng)前活動(dòng)窗口的大小。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{width:number,height:number}窗口的大小。潛在錯(cuò)誤:NoSuchWindow-如果找不到指定的窗口。/會(huì)話/:的sessionId/窗/:windowHandle/位置POST/session/:sessionId/window/:windowHandle/position更改指定窗口的位置。如果:windowHandleURL參數(shù)為“current”,則將移動(dòng)當(dāng)前活動(dòng)的窗口。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):x-{number}用于將窗口定位在相對(duì)于屏幕左上角的X坐標(biāo)。y-{number}用于將窗口定位在相對(duì)于屏幕左上角的Y坐標(biāo)。潛在錯(cuò)誤:NoSuchWindow-如果找不到指定的窗口。GET/session/:sessionId/window/:windowHandle/position獲取指定窗口的位置。如果:windowHandleURL參數(shù)為“current”,則返回當(dāng)前活動(dòng)窗口的位置。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{x:number,y:number}窗口的X和Y坐標(biāo),相對(duì)于屏幕的左上角。潛在錯(cuò)誤:NoSuchWindow-如果找不到指定的窗口。/會(huì)話/:的sessionId/窗/:windowHandle/最大化POST/session/:sessionId/window/:windowHandle/maximize如果尚未最大化,則最大化指定的窗口。如果:windowHandleURL參數(shù)為“current”,則當(dāng)前活動(dòng)窗口將最大化。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。潛在錯(cuò)誤:NoSuchWindow-如果找不到指定的窗口。/會(huì)話/:的sessionId/餅干GET/session/:sessionId/cookie檢索當(dāng)前頁(yè)面可見(jiàn)的所有Cookie。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{Array.<object>}Cookie列表。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。POST/session/:sessionId/cookie設(shè)置一個(gè)cookie。如果未指定cookie路徑,則應(yīng)將其設(shè)置為"/"。同樣,如果省略域,則應(yīng)默認(rèn)為當(dāng)前頁(yè)面的域。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):cookie-{object}一個(gè)JSON對(duì)象定義cookie來(lái)補(bǔ)充。DELETE/session/:sessionId/cookie刪除當(dāng)前頁(yè)面可見(jiàn)的所有Cookie。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。潛在錯(cuò)誤:InvalidCookieDomain-如果domain從當(dāng)前頁(yè)面看不到cookie。NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。UnableToSetCookie-如果嘗試在不支持cookie的頁(yè)面上設(shè)置cookie(例如,具有mime類型的頁(yè)面text/plain)。/會(huì)話/:的sessionId/餅干/:名稱DELETE/session/:sessionId/cookie/:name刪除具有給定名稱的cookie。如果當(dāng)前頁(yè)面沒(méi)有可見(jiàn)的cookie,則此命令應(yīng)為no-op。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:name-要?jiǎng)h除的cookie的名稱。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。/會(huì)話/:的sessionId/源GET/session/:sessionId/source獲取當(dāng)前頁(yè)面源。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{string}當(dāng)前頁(yè)面源。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。/會(huì)話/:的sessionId/標(biāo)題GET/session/:sessionId/title獲取當(dāng)前頁(yè)面標(biāo)題。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{string}當(dāng)前頁(yè)面標(biāo)題。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。/會(huì)話/:的sessionId/元件POST/session/:sessionId/element從文檔根目錄開(kāi)始在頁(yè)面上搜索元素。找到的元素將作為WebElementJSON對(duì)象返回。下表列出了每個(gè)服務(wù)器應(yīng)支持的定位器策略。每個(gè)定位器必須返回位于DOM中的第一個(gè)匹配元素。戰(zhàn)略 描述班級(jí)名稱 返回其類名包含搜索值的元素;不允許使用復(fù)合類名。css選擇器 返回與CSS選擇器匹配的元素。ID 返回ID屬性與搜索值匹配的元素。名稱 返回其NAME屬性與搜索值匹配的元素。鏈接文字 返回其可見(jiàn)文本與搜索值匹配的錨元素。部分鏈接文本 返回一個(gè)錨元素,其可見(jiàn)文本與搜索值部分匹配。標(biāo)簽名稱 返回標(biāo)記名稱與搜索值匹配的元素。XPath的 返回與XPath表達(dá)式匹配的元素。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):using-{string}要使用的定位策略。value-{string}搜索目標(biāo)。返回:{ELEMENT:string}找到的元素的WebElementJSON對(duì)象。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。NoSuchElement-如果找不到元素。XPathLookupError-如果使用XPath并且輸入表達(dá)式無(wú)效。/會(huì)話/:的sessionId/元件POST/session/:sessionId/elements從文檔根目錄開(kāi)始在頁(yè)面上搜索多個(gè)元素。找到的元素將作為WebElementJSON對(duì)象返回。下表列出了每個(gè)服務(wù)器應(yīng)支持的定位器策略。元素應(yīng)按DOM中的順序返回。戰(zhàn)略 描述班級(jí)名稱 返回其類名包含搜索值的所有元素;不允許使用復(fù)合類名。css選擇器 返回與CSS選擇器匹配的所有元素。ID 返回ID屬性與搜索值匹配的所有元素。名稱 返回NAME屬性與搜索值匹配的所有元素。鏈接文字 返回其可見(jiàn)文本與搜索值匹配的所有錨元素。部分鏈接文本 返回其可見(jiàn)文本與搜索值部分匹配的所有錨元素。標(biāo)簽名稱 返回標(biāo)記名稱與搜索值匹配的所有元素。XPath的 返回與XPath表達(dá)式匹配的所有元素。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):using-{string}要使用的定位策略。value-{string}搜索目標(biāo)。返回:{Array.<{ELEMENT:string}>}已定位元素的WebElementJSON對(duì)象列表。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。XPathLookupError-如果使用XPath并且輸入表達(dá)式無(wú)效。/會(huì)話/:的sessionId/元件/活性POST/session/:sessionId/element/active獲取當(dāng)前具有焦點(diǎn)的頁(yè)面上的元素。該元素將作為WebElementJSON對(duì)象返回。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{ELEMENT:string}活動(dòng)元素的WebElementJSON對(duì)象。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。/會(huì)話/:的sessionId/元/:IDGET/session/:sessionId/element/:id描述已識(shí)別的元素。注意:此命令保留供將來(lái)使用;它的返回類型目前尚未定義。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。/會(huì)話/:的sessionId/元/:ID/元素POST/session/:sessionId/element/:id/element從標(biāo)識(shí)的元素開(kāi)始,在頁(yè)面上搜索元素。找到的元素將作為WebElementJSON對(duì)象返回。下表列出了每個(gè)服務(wù)器應(yīng)支持的定位器策略。每個(gè)定位器必須返回位于DOM中的第一個(gè)匹配元素。戰(zhàn)略 描述班級(jí)名稱 返回其類名包含搜索值的元素;不允許使用復(fù)合類名。css選擇器 返回與CSS選擇器匹配的元素。ID 返回ID屬性與搜索值匹配的元素。名稱 返回其NAME屬性與搜索值匹配的元素。鏈接文字 返回其可見(jiàn)文本與搜索值匹配的錨元素。部分鏈接文本 返回一個(gè)錨元素,其可見(jiàn)文本與搜索值部分匹配。標(biāo)簽名稱 返回標(biāo)記名稱與搜索值匹配的元素。XPath的 返回與XPath表達(dá)式匹配的元素。提供的XPath表達(dá)式必須“按原樣”應(yīng)用于服務(wù)器;如果表達(dá)式不是相對(duì)于元素根,則服務(wù)器不應(yīng)修改它。因此,XPath查詢可能會(huì)返回未包含在根元素的子樹(shù)中的元素。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。JSON參數(shù):using-{string}要使用的定位策略。value-{string}搜索目標(biāo)。返回:{ELEMENT:string}找到的元素的WebElementJSON對(duì)象。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。NoSuchElement-如果找不到元素。XPathLookupError-如果使用XPath并且輸入表達(dá)式無(wú)效。/會(huì)話/:的sessionId/元件/:ID/元素POST/session/:sessionId/element/:id/elements從標(biāo)識(shí)的元素開(kāi)始,在頁(yè)面上搜索多個(gè)元素。找到的元素將作為WebElementJSON對(duì)象返回。下表列出了每個(gè)服務(wù)器應(yīng)支持的定位器策略。元素應(yīng)按DOM中的順序返回。戰(zhàn)略 描述班級(jí)名稱 返回其類名包含搜索值的所有元素;不允許使用復(fù)合類名。css選擇器 返回與CSS選擇器匹配的所有元素。ID 返回ID屬性與搜索值匹配的所有元素。名稱 返回NAME屬性與搜索值匹配的所有元素。鏈接文字 返回其可見(jiàn)文本與搜索值匹配的所有錨元素。部分鏈接文本 返回其可見(jiàn)文本與搜索值部分匹配的所有錨元素。標(biāo)簽名稱 返回標(biāo)記名稱與搜索值匹配的所有元素。XPath的 返回與XPath表達(dá)式匹配的所有元素。提供的XPath表達(dá)式必須“按原樣”應(yīng)用于服務(wù)器;如果表達(dá)式不是相對(duì)于元素根,則服務(wù)器不應(yīng)修改它。因此,XPath查詢可能會(huì)返回未包含在根元素的子樹(shù)中的元素。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。JSON參數(shù):using-{string}要使用的定位策略。value-{string}搜索目標(biāo)。返回:{Array.<{ELEMENT:string}>}已定位元素的WebElementJSON對(duì)象列表。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。XPathLookupError-如果使用XPath并且輸入表達(dá)式無(wú)效。/會(huì)話/:的sessionId/元/:ID/點(diǎn)擊POST/session/:sessionId/element/:id/click單擊元素。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。ElementNotVisible-如果引用的元素在頁(yè)面上不可見(jiàn)(由CSS隱藏,具有0寬度或具有0高度)/會(huì)話/:的sessionId/元/:ID/提交POST/session/:sessionId/element/:id/submit提交一個(gè)FORM元素。submit命令也可以應(yīng)用于作為元素后代的任何FORM元素。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。/會(huì)話/:的sessionId/元/:ID/文GET/session/:sessionId/element/:id/text返回元素的可見(jiàn)文本。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。/會(huì)話/:的sessionId/元件/:ID/值POST/session/:sessionId/element/:id/value將一系列擊鍵發(fā)送到元素??梢灾付ㄈ魏蜺TF-8字符,但是,如果服務(wù)器不支持本機(jī)鍵事件,則應(yīng)模擬標(biāo)準(zhǔn)美國(guó)鍵盤布局的鍵擊。Unicode專用區(qū)代碼點(diǎn)0xE000-0xF8FF用于表示可按下的非文本鍵(參見(jiàn)下表)。鍵 碼空值 U+E000取消 U+E001救命 U+E002后空間 U+E003標(biāo)簽 U+E004明確 U+E005返回1 U+E006輸入1 U+E007轉(zhuǎn)移 U+E008控制 U+E009Alt鍵 U+E00A暫停 U+E00B逃逸 U+E00C 鍵 碼空間 U+E00D上一頁(yè) U+E00E向下翻頁(yè) U+E00F結(jié)束 U+E010家 U+E011左箭頭 U+E012向上箭頭 U+E013右箭頭 U+E014向下箭頭 U+E015插入 U+E016刪除 U+E017分號(hào) U+E018等于 U+E019 鍵 碼Numpad0 U+E01ANumpad1 U+E01BNumpad2 U+E01CNumpad3 U+E01DNumpad4 U+E01ENumpad5 U+E01FNumpad6 U+E020Numpad7 U+E021Numpad8 U+E022Numpad9 U+E023 鍵 碼乘 U+E024加 U+E025分隔器 U+E026減去 U+E027十進(jìn)制 U+E028劃分 U+E029 鍵 碼F1 U+E031F2 U+E032F3 U+E033F4 U+E034F5 U+E035F6 U+E036F7 U+E037F8 U+E038F9 U+E039F10 U+E03AF11 U+E03BF12 U+E03C命令/元 U+E03D1返回鍵是不一樣的回車鍵。服務(wù)器必須按如下方式處理密鑰序列:鍵盤上顯示的每個(gè)鍵不需要修飾符,將作為鍵盤發(fā)送,然后鍵入。如果服務(wù)器不支持本機(jī)事件并且必須使用JavaScript模擬鍵擊,則必須按順序生成keydown,keypress和keyup事件。只有當(dāng)相應(yīng)的鍵用于可打印字符時(shí)才應(yīng)觸發(fā)按鍵事件。如果一個(gè)關(guān)鍵要求(“!”美國(guó)標(biāo)準(zhǔn)鍵盤上的EG)修改鍵,順序是:修改了,關(guān)鍵了,關(guān)鍵了,修改起來(lái),其中的關(guān)鍵是理想的未經(jīng)修改的鍵值(使用前面的例子,一個(gè)“1”)。修改鍵(Ctrl,Shift,Alt和Command/Meta)被假定為“粘性”;應(yīng)該按住每個(gè)修飾符(例如,只有一個(gè)keydown事件),直到在序列中再次遇到修飾符,或遇到NULL(U+E000)鍵。每個(gè)密鑰序列都以隱式NULL密鑰終止。隨后,必須在序列結(jié)束時(shí)釋放所有按下的修改鍵(具有相應(yīng)的鍵控事件)。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。JSON參數(shù):value-{Array.<string>}要鍵入的鍵序列。必須提供一個(gè)數(shù)組。服務(wù)器應(yīng)將數(shù)組項(xiàng)展平為要鍵入的單個(gè)字符串。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。ElementNotVisible-如果引用的元素在頁(yè)面上不可見(jiàn)(由CSS隱藏,具有0寬度或具有0高度)/會(huì)話/:的sessionId/鍵POST/session/:sessionId/keys將一系列擊鍵發(fā)送到活動(dòng)元素。除了隱式終止之外,此命令類似于每個(gè)方面中的sendkeys命令:修改符不會(huì)在調(diào)用結(jié)束時(shí)釋放。相反,修改鍵的狀態(tài)保持在調(diào)用之間,因此可以在按下修改鍵的同時(shí)執(zhí)行鼠標(biāo)交互。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):value-{Array.<string>}要發(fā)送的密鑰序列。序列在sendkeys命令中定義。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。/會(huì)話/:的sessionId/元/:ID/名稱GET/session/:sessionId/element/:id/name查詢?cè)氐臉?biāo)記名稱。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。返回:{string}元素的標(biāo)記名稱,作為小寫字符串。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。/會(huì)話/:的sessionId/元/:ID/清除POST/session/:sessionId/element/:id/clear清除aTEXTAREA或textINPUT元素的值。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。ElementNotVisible-如果引用的元素在頁(yè)面上不可見(jiàn)(由CSS隱藏,具有0寬度或具有0高度)InvalidElementState-如果引用的元素被禁用。/會(huì)話/:的sessionId/元件/:ID/選擇GET/session/:sessionId/element/:id/selected確定當(dāng)前是否選擇了OPTION元素或INPUT類型checkbox或元素radiobutton。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。返回:{boolean}是否選擇了元素。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。/會(huì)話/:的sessionId/元/:ID/啟用GET/session/:sessionId/element/:id/enabled確定當(dāng)前是否啟用了元素。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。返回:{boolean}元素是否已啟用。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。/會(huì)話/:的sessionId/元/:ID/屬性/:名稱GET/session/:sessionId/element/:id/attribute/:name獲取元素屬性的值。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。返回:{string|null}屬性的值,如果未在元素上設(shè)置,則為null。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。/會(huì)話/:的sessionId/元/:ID/等于/:其它GET/session/:sessionId/element/:id/equals/:other測(cè)試兩個(gè)元素ID是否引用相同的DOM元素。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。:other-要比較的元素的ID。返回:{boolean}兩個(gè)ID是否引用相同的元素。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果元素引用:id或:other不再附加到頁(yè)面的DOM。/會(huì)話/:的sessionId/元件/:ID/顯示GET/session/:sessionId/element/:id/顯示確定當(dāng)前是否顯示元素。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。返回:{boolean}是否顯示元素。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。/會(huì)話/:的sessionId/元/:ID/位置GET/session/:sessionId/element/:id/location確定元素在頁(yè)面上的位置。該點(diǎn)(0,0)指的是頁(yè)面的左上角。元素的坐標(biāo)作為帶有x和y屬性的JSON對(duì)象返回。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。返回:{x:number,y:number}頁(yè)面上元素的X和Y坐標(biāo)。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。/會(huì)話/:的sessionId/元/:ID/location_in_viewGET/session/:sessionId/element/:id/location_in_view一旦滾動(dòng)到視圖中,確定元素在屏幕上的位置。注意:這被視為內(nèi)部命令,僅應(yīng)用于確定元素正確生成本機(jī)事件的位置。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。返回:{x:number,y:number}元素的X和Y坐標(biāo)。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁(yè)面的DOM。/會(huì)話/:的sessionId/元/:ID/尺寸GET/session/:sessionId/element/:id/size確定元素的大?。ㄒ韵袼貫閱挝唬?。該大小將作為帶有width和height屬性的JSON對(duì)象返回。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論