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

下載本文檔

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

文檔簡介

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

溫馨提示

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

最新文檔

評論

0/150

提交評論