




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
JsonWireProtocolLukeInman-Semerau編輯了此頁面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ū)ο蟮姆椒?,如現(xiàn)有JavaAPI中所示。有線協(xié)議在“命令”和“響應(yīng)”的請(qǐng)求/響應(yīng)對(duì)中實(shí)現(xiàn)。基本術(shù)語和概念客戶正在使用WebDriverAPI的計(jì)算機(jī)。服務(wù)器運(yùn)行RemoteWebDriver的機(jī)器。該術(shù)語還可以指直接實(shí)現(xiàn)有線協(xié)議的特定瀏覽器,例如FirefoxDriver或IPhoneDriver。會(huì)議服務(wù)器應(yīng)該每個(gè)會(huì)話維護(hù)一個(gè)瀏覽器。發(fā)送到會(huì)話的命令將定向到相應(yīng)的瀏覽器。WebElementWebDriverAPI中的一個(gè)對(duì)象,表示頁面上的DOM元素。WebElementJSON對(duì)象WebElement的JSON表示,用于通過線路傳輸。該對(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)前頁面的上下文中執(zhí)行用戶提供的JavaScript。takesScreenshot 布爾 會(huì)話是否支持截取當(dāng)前頁面的屏幕截圖。handlesAlerts 布爾 會(huì)話是否可以與模態(tài)彈出窗口交互,例如window.alert和window.confirm。databaseEnabled 布爾 會(huì)話是否可以交互數(shù)據(jù)庫存儲(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ì)象的交互??尚D(zhuǎn) 布爾 會(huì)話是否可以在縱向和橫向之間旋轉(zhuǎn)當(dāng)前頁面的當(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)的功能是無關(guān)緊要的。更多DesiredCapabilities。實(shí)際能力服務(wù)器返回的功能JSON對(duì)象,描述會(huì)話實(shí)際支持的功能。任何省略的鍵都隱式指示不支持相應(yīng)的功能。CookieJSON對(duì)象描述Cookie的JSON對(duì)象。鍵 類型 描述名稱 串 cookie的名稱。值 串 cookie值。路徑 串 (可選)cookie路徑。1域 串 (可選)cookie可見的域。1安全 布爾 (可選)cookie是否是安全cookie。1僅Http 布爾 (可選)cookie是否為httpOnlycookie。1到期 數(shù) (可選)當(dāng)cookie過期時(shí),自UTC時(shí)間1970年1月1日午夜起以秒為單位指定。11返回Cookie對(duì)象時(shí),如果服務(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)鍵問題的消息。嚴(yán)重 與嚴(yán)重錯(cuò)誤相對(duì)應(yīng)的消息。關(guān)閉 沒有日志消息。用于配置日志記錄。日志類型下表列出了常見的日志類型。其他日志類型(例如,用于性能日志記錄)也可用。日志類型 描述客戶 從客戶端登錄。司機(jī) 從webdriver登錄。瀏覽器 從瀏覽器登錄。服務(wù)器 從服務(wù)器登錄。代理JSON對(duì)象描述代理配置的JSON對(duì)象。鍵 類型 描述的proxyType 串 (必需)正在使用的代理類型。可能的值有:direct-直接連接-沒有使用代理,手動(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則忽略)指定代理繞過地址。格式是特定于驅(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ù)無法在頁面上找到元素。8 NoSuchFrame 無法滿足切換到幀的請(qǐng)求,因?yàn)闊o法找到幀。9 UnknownCommand 找不到請(qǐng)求的資源,或者使用映射資源不支持的HTTP方法收到請(qǐng)求。10 StaleElementReference 元素命令失敗,因?yàn)橐玫脑夭辉俑郊拥紻OM。11 ElementNotVisible 無法完成元素命令,因?yàn)樵撛卦陧撁嫔喜豢梢姟?2 InvalidElementState 無法完成元素命令,因?yàn)樵靥幱跓o效狀態(tài)(例如,嘗試單擊禁用的元素)。13 UnknownError 處理命令時(shí)發(fā)生未知的服務(wù)器端錯(cuò)誤。15 ElementIsNotSelectable 嘗試選擇無法選擇的元素。17 JavaScriptError 執(zhí)行用戶提供的JavaScript時(shí)發(fā)生錯(cuò)誤。19 XPathLookupError 通過XPath搜索元素時(shí)發(fā)生錯(cuò)誤。21 Timeout 操作在超時(shí)到期之前未完成。23 NoSuchWindow 無法滿足切換到其他窗口的請(qǐng)求,因?yàn)檎也坏酱翱凇?4 InvalidCookieDomain 非法嘗試在與當(dāng)前頁面不同的域下設(shè)置cookie。25 UnableToSetCookie 無法滿足設(shè)置cookie值的請(qǐng)求。26 UnexpectedAlertOpen 模態(tài)對(duì)話框已打開,阻止此操作27 NoAlertOpenError 當(dāng)一個(gè)未打開時(shí),嘗試在模態(tài)對(duì)話框上進(jìn)行操作。28 ScriptTimeout 腳本在超時(shí)到期之前未完成。29 InvalidElementCoordinates 提供給交互操作的坐標(biāo)無效。三十 IMENotAvailable IME不可用。31 IMEEngineActivationFailed 無法啟動(dòng)IME引擎。32 InvalidSelector 參數(shù)是一個(gè)無效的選擇器(例如XPath/CSS)。33 SessionNotCreatedException 無法創(chuàng)建新會(huì)話。34 MoveTargetOutOfBounds 為移動(dòng)行動(dòng)提供的目標(biāo)是不受限制的??蛻舳藨?yīng)將服務(wù)器的404NotFound響應(yīng)解釋為“未知命令”響應(yīng)。來自服務(wù)器的未定義狀態(tài)字段的所有其他4xx和5xx響應(yīng)應(yīng)解釋為“未知錯(cuò)誤”響應(yīng)。錯(cuò)誤處理有線協(xié)議指定了兩個(gè)級(jí)別的錯(cuò)誤處理:無效請(qǐng)求和失敗命令。無效的請(qǐng)求所有無效請(qǐng)求都應(yīng)導(dǎo)致服務(wù)器返回4xxHTTP響應(yīng)。響應(yīng)Content-Type應(yīng)設(shè)置為text/plain,并且消息正文應(yīng)該是描述性錯(cuò)誤消息。無效請(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)注意,這是無效請(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。無效的命令方法如果請(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)前頁面的屏幕截圖作為base64編碼的字符串。類 串 (可選)如果包含,則指定命令失敗時(shí)引發(fā)的異常的完全限定類名。堆棧跟蹤 排列 (可選)如果包含,則指定一組JSON對(duì)象,這些對(duì)象描述命令失敗時(shí)引發(fā)的異常的堆棧跟蹤。數(shù)組的zeroeth元素表示堆棧的頂部。stackTrace數(shù)組中的每個(gè)JSON對(duì)象都必須包含以下屬性:鍵 類型 描述文件名 串 包含此幀表示的行的源文件的名稱。班級(jí)名稱 串 此框架中活動(dòng)的類的完全限定類名。如果無法確定類名,或者不適用于實(shí)現(xiàn)服務(wù)器的語言,則應(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)求。可變路徑段在資源映射中由冒號(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)前頁面的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)前頁面。POST /會(huì)話/:的sessionId/執(zhí)行 將一段JavaScript注入頁面,以便在當(dāng)前所選幀的上下文中執(zhí)行。POST /會(huì)話/:的sessionId/execute_async 將一段JavaScript注入頁面,以便在當(dāng)前所選幀的上下文中執(zhí)行。得到 /會(huì)話/:的sessionId/截圖 截取當(dāng)前頁面的屏幕截圖。得到 /會(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)更改為頁面上的另一個(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)前頁面可見的所有Cookie。POST /會(huì)話/:的sessionId/餅干 設(shè)置一個(gè)cookie。刪除 /會(huì)話/:的sessionId/餅干 刪除當(dāng)前頁面可見的所有Cookie。刪除 /會(huì)話/:的sessionId/餅干/:名稱 刪除具有給定名稱的cookie。得到 /會(huì)話/:的sessionId/源 獲取當(dāng)前頁面源。得到 /會(huì)話/:的sessionId/標(biāo)題 獲取當(dāng)前頁面標(biāo)題。POST /會(huì)話/:的sessionId/元件 從文檔根目錄開始在頁面上搜索元素。POST /會(huì)話/:的sessionId/元件 從文檔根目錄開始在頁面上搜索多個(gè)元素。POST /會(huì)話/:的sessionId/元件/活性 獲取當(dāng)前具有焦點(diǎn)的頁面上的元素。得到 /會(huì)話/:的sessionId/元/:ID 描述已識(shí)別的元素。POST /會(huì)話/:的sessionId/元/:ID/元素 從標(biāo)識(shí)的元素開始,在頁面上搜索元素。POST /會(huì)話/:的sessionId/元件/:ID/元素 從標(biāo)識(shí)的元素開始,在頁面上搜索多個(gè)元素。POST /會(huì)話/:的sessionId/元/:ID/點(diǎn)擊 單擊元素。POST /會(huì)話/:的sessionId/元/:ID/提交 提交一個(gè)FORM元素。得到 /會(huì)話/:的sessionId/元/:ID/文 返回元素的可見文本。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/位置 確定元素在頁面上的位置。得到 /會(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/通過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)可能包括此處未列出的其他字段。鍵 類型 描述建立 賓語 build.version 串 通用發(fā)行標(biāo)簽(即“2.0rc3”)build.revision 串 從中構(gòu)建服務(wù)器的本地源控制客戶端的修訂版build.time 串 構(gòu)建服務(wù)器時(shí)的時(shí)間戳???賓語 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-如果無法設(shè)置所需的功能。/會(huì)話GET/會(huì)話返回當(dāng)前活動(dòng)會(huì)話的列表。每個(gè)會(huì)話將作為JSON對(duì)象列表返回,并帶有以下鍵:鍵 類型 描述ID 串 會(huì)話ID。功能 賓語 描述會(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è)置頁面加載超時(shí)的“頁面加載”。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)查詢頁面的超時(shí),以先到為準(zhǔn)。搜索多個(gè)元素時(shí),驅(qū)動(dòng)程序應(yīng)輪詢頁面,直到找到至少一個(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)前頁面的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)前頁面。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。/會(huì)話/:的sessionId/執(zhí)行POST/session/:sessionId/execute將一段JavaScript注入頁面,以便在當(dāng)前所選幀的上下文中執(zhí)行。假定執(zhí)行的腳本是同步的,并且評(píng)估腳本的結(jié)果將返回給客戶端。該script參數(shù)定義了以函數(shù)體的形式執(zhí)行的腳本。該函數(shù)返回的值將返回給客戶端。將使用提供的args數(shù)組調(diào)用該函數(shù),并且可以arguments按指定的順序通過對(duì)象訪問這些值。參數(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ù)是未附加到頁面DOM的WebElement。JavaScriptError-如果腳本拋出錯(cuò)誤。/會(huì)話/:的sessionId/execute_asyncPOST/session/:sessionId/execute_async將一段JavaScript注入頁面,以便在當(dāng)前所選幀的上下文中執(zhí)行。假定執(zhí)行的腳本是異步的,并且必須通過調(diào)用提供的回調(diào)來發(fā)出信號(hào),該回調(diào)始終作為函數(shù)的最終參數(shù)提供。此回調(diào)的值將返回給客戶端。異步腳本命令可能不會(huì)跨頁面加載。如果unload在等待腳本結(jié)果時(shí)觸發(fā)事件,則應(yīng)將錯(cuò)誤返回給客戶端。該script參數(shù)定義了以函數(shù)體的形式執(zhí)行的腳本。將使用提供的args數(shù)組調(diào)用該函數(shù),并且可以通過以下方式訪問這些值arguments對(duì)象按指定的順序排列。最后一個(gè)參數(shù)將始終是一個(gè)回調(diào)函數(shù),必須調(diào)用該函數(shù)來表示腳本已完成。參數(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ù)是未附加到頁面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)前頁面的屏幕截圖。網(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)更改為頁面上的另一個(gè)幀。如果框架id是null,服務(wù)器應(yīng)該切換到頁面的默認(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)前頁面可見的所有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)前頁面的域。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。JSON參數(shù):cookie-{object}一個(gè)JSON對(duì)象定義cookie來補(bǔ)充。DELETE/session/:sessionId/cookie刪除當(dāng)前頁面可見的所有Cookie。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。潛在錯(cuò)誤:InvalidCookieDomain-如果domain從當(dāng)前頁面看不到cookie。NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。UnableToSetCookie-如果嘗試在不支持cookie的頁面上設(shè)置cookie(例如,具有mime類型的頁面text/plain)。/會(huì)話/:的sessionId/餅干/:名稱DELETE/session/:sessionId/cookie/:name刪除具有給定名稱的cookie。如果當(dāng)前頁面沒有可見的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)前頁面源。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{string}當(dāng)前頁面源。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。/會(huì)話/:的sessionId/標(biāo)題GET/session/:sessionId/title獲取當(dāng)前頁面標(biāo)題。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。返回:{string}當(dāng)前頁面標(biāo)題。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。/會(huì)話/:的sessionId/元件POST/session/:sessionId/element從文檔根目錄開始在頁面上搜索元素。找到的元素將作為WebElementJSON對(duì)象返回。下表列出了每個(gè)服務(wù)器應(yīng)支持的定位器策略。每個(gè)定位器必須返回位于DOM中的第一個(gè)匹配元素。戰(zhàn)略 描述班級(jí)名稱 返回其類名包含搜索值的元素;不允許使用復(fù)合類名。css選擇器 返回與CSS選擇器匹配的元素。ID 返回ID屬性與搜索值匹配的元素。名稱 返回其NAME屬性與搜索值匹配的元素。鏈接文字 返回其可見文本與搜索值匹配的錨元素。部分鏈接文本 返回一個(gè)錨元素,其可見文本與搜索值部分匹配。標(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á)式無效。/會(huì)話/:的sessionId/元件POST/session/:sessionId/elements從文檔根目錄開始在頁面上搜索多個(gè)元素。找到的元素將作為WebElementJSON對(duì)象返回。下表列出了每個(gè)服務(wù)器應(yīng)支持的定位器策略。元素應(yīng)按DOM中的順序返回。戰(zhàn)略 描述班級(jí)名稱 返回其類名包含搜索值的所有元素;不允許使用復(fù)合類名。css選擇器 返回與CSS選擇器匹配的所有元素。ID 返回ID屬性與搜索值匹配的所有元素。名稱 返回NAME屬性與搜索值匹配的所有元素。鏈接文字 返回其可見文本與搜索值匹配的所有錨元素。部分鏈接文本 返回其可見文本與搜索值部分匹配的所有錨元素。標(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á)式無效。/會(huì)話/:的sessionId/元件/活性POST/session/:sessionId/element/active獲取當(dāng)前具有焦點(diǎn)的頁面上的元素。該元素將作為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í)別的元素。注意:此命令保留供將來使用;它的返回類型目前尚未定義。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁面的DOM。/會(huì)話/:的sessionId/元/:ID/元素POST/session/:sessionId/element/:id/element從標(biāo)識(shí)的元素開始,在頁面上搜索元素。找到的元素將作為WebElementJSON對(duì)象返回。下表列出了每個(gè)服務(wù)器應(yīng)支持的定位器策略。每個(gè)定位器必須返回位于DOM中的第一個(gè)匹配元素。戰(zhàn)略 描述班級(jí)名稱 返回其類名包含搜索值的元素;不允許使用復(fù)合類名。css選擇器 返回與CSS選擇器匹配的元素。ID 返回ID屬性與搜索值匹配的元素。名稱 返回其NAME屬性與搜索值匹配的元素。鏈接文字 返回其可見文本與搜索值匹配的錨元素。部分鏈接文本 返回一個(gè)錨元素,其可見文本與搜索值部分匹配。標(biāo)簽名稱 返回標(biāo)記名稱與搜索值匹配的元素。XPath的 返回與XPath表達(dá)式匹配的元素。提供的XPath表達(dá)式必須“按原樣”應(yīng)用于服務(wù)器;如果表達(dá)式不是相對(duì)于元素根,則服務(wù)器不應(yīng)修改它。因此,XPath查詢可能會(huì)返回未包含在根元素的子樹中的元素。網(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不再附加到頁面的DOM。NoSuchElement-如果找不到元素。XPathLookupError-如果使用XPath并且輸入表達(dá)式無效。/會(huì)話/:的sessionId/元件/:ID/元素POST/session/:sessionId/element/:id/elements從標(biāo)識(shí)的元素開始,在頁面上搜索多個(gè)元素。找到的元素將作為WebElementJSON對(duì)象返回。下表列出了每個(gè)服務(wù)器應(yīng)支持的定位器策略。元素應(yīng)按DOM中的順序返回。戰(zhàn)略 描述班級(jí)名稱 返回其類名包含搜索值的所有元素;不允許使用復(fù)合類名。css選擇器 返回與CSS選擇器匹配的所有元素。ID 返回ID屬性與搜索值匹配的所有元素。名稱 返回NAME屬性與搜索值匹配的所有元素。鏈接文字 返回其可見文本與搜索值匹配的所有錨元素。部分鏈接文本 返回其可見文本與搜索值部分匹配的所有錨元素。標(biāo)簽名稱 返回標(biāo)記名稱與搜索值匹配的所有元素。XPath的 返回與XPath表達(dá)式匹配的所有元素。提供的XPath表達(dá)式必須“按原樣”應(yīng)用于服務(wù)器;如果表達(dá)式不是相對(duì)于元素根,則服務(wù)器不應(yīng)修改它。因此,XPath查詢可能會(huì)返回未包含在根元素的子樹中的元素。網(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不再附加到頁面的DOM。XPathLookupError-如果使用XPath并且輸入表達(dá)式無效。/會(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不再附加到頁面的DOM。ElementNotVisible-如果引用的元素在頁面上不可見(由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不再附加到頁面的DOM。/會(huì)話/:的sessionId/元/:ID/文GET/session/:sessionId/element/:id/text返回元素的可見文本。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁面的DOM。/會(huì)話/:的sessionId/元件/:ID/值POST/session/:sessionId/element/:id/value將一系列擊鍵發(fā)送到元素??梢灾付ㄈ魏蜺TF-8字符,但是,如果服務(wù)器不支持本機(jī)鍵事件,則應(yīng)模擬標(biāo)準(zhǔn)美國鍵盤布局的鍵擊。Unicode專用區(qū)代碼點(diǎn)0xE000-0xF8FF用于表示可按下的非文本鍵(參見下表)。鍵 碼空值 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上一頁 U+E00E向下翻頁 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)鍵要求(“!”美國標(biāo)準(zhǔn)鍵盤上的EG)修改鍵,順序是:修改了,關(guān)鍵了,關(guān)鍵了,修改起來,其中的關(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不再附加到頁面的DOM。ElementNotVisible-如果引用的元素在頁面上不可見(由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不再附加到頁面的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不再附加到頁面的DOM。ElementNotVisible-如果引用的元素在頁面上不可見(由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不再附加到頁面的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不再附加到頁面的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不再附加到頁面的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不再附加到頁面的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不再附加到頁面的DOM。/會(huì)話/:的sessionId/元/:ID/位置GET/session/:sessionId/element/:id/location確定元素在頁面上的位置。該點(diǎn)(0,0)指的是頁面的左上角。元素的坐標(biāo)作為帶有x和y屬性的JSON對(duì)象返回。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將命令路由到的元素的ID。返回:{x:number,y:number}頁面上元素的X和Y坐標(biāo)。潛在錯(cuò)誤:NoSuchWindow-如果當(dāng)前選定的窗口已關(guān)閉。StaleElementReference-如果引用的元素:id不再附加到頁面的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不再附加到頁面的DOM。/會(huì)話/:的sessionId/元/:ID/尺寸GET/session/:sessionId/element/:id/size確定元素的大?。ㄒ韵袼貫閱挝唬T摯笮⒆鳛閹в衱idth和height屬性的JSON對(duì)象返回。網(wǎng)址參數(shù)::sessionId-將命令路由到的會(huì)話的ID。:id-將
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 碳酸飲料消費(fèi)者滿意度調(diào)查考核試卷
- 紡織帶和簾子布的耐候性考核試卷
- 企業(yè)形象宣傳會(huì)議合同
- 管道工程產(chǎn)業(yè)發(fā)展趨勢(shì)預(yù)測(cè)與挑戰(zhàn)分析考核試卷
- 老年髖部骨折的護(hù)理干預(yù)
- 油料作物種植的農(nóng)業(yè)技術(shù)應(yīng)用與培訓(xùn)考核試卷
- 數(shù)圖形的學(xué)問課件
- 電氣安裝中的風(fēng)力發(fā)電系統(tǒng)設(shè)計(jì)與安裝考核試卷
- 青少年安全防護(hù):防溺水與防觸電教育
- 小學(xué)道德與法治教育課程設(shè)計(jì)
- 鐵路雨季三防培訓(xùn)課件
- 暨南大學(xué)-蕭惠琳-畢業(yè)論文答辯PPT模板
- 2022版義務(wù)教育(勞動(dòng))課程標(biāo)準(zhǔn)(含2022年修訂部分)
- 數(shù)理統(tǒng)計(jì)(第三版)課后習(xí)題答案
- 安全風(fēng)險(xiǎn)辨識(shí)清單
- (精選word)洪恩識(shí)字-生字卡片1-200
- CNC作業(yè)指導(dǎo)書及操作規(guī)范
- EHS安全培訓(xùn)教育周知卡(機(jī)械傷害)
- 貴州生態(tài)停車場(chǎng)建設(shè)工程監(jiān)理規(guī)劃
- 大班音樂欣賞粵曲《荔枝頌》微課件
- 《肌內(nèi)注射說課》ppt課件
評(píng)論
0/150
提交評(píng)論