<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Selenium 異常處理(常見異常列表) > 原文: [https://www.guru99.com/exception-handling-selenium.html](https://www.guru99.com/exception-handling-selenium.html) ## 什么是例外? **異常**是在程序執行時發生的錯誤。 但是,在運行程序時,編程語言會生成異常,應該對其進行處理,以避免程序崩潰。 異常表示,盡管事件可以發生,但這種事件很少發生。 當該方法無法處理 Exception 時,它將被引發給其調用者函數。 最終,當主函數拋出異常時,程序將突然終止。 在本教程中,您將學習: * [什么是例外?](#1) * Selenium Web 驅動程序中的[異常](#2) * [處理硒異常](#3) * [顯示異常的方法](#4) ## Selenium Web 驅動程序中的常見異常 | **異常名稱** | **說明** | | ElementNotVisibleException | 當 DOM 中的現有元素具有隱藏的功能時,會發生這種 Selenium 異常。 | | ElementNotSelectableException | 當元素出現在 DOM 中時,會發生這種 Selenium 異常,但是您可以選擇。 因此,不可能進行交互。 | | NoSuchElementException | 如果找不到元素,則會發生此異常。 | | NoSuchFrameException | 如果要切換的幀目標不存在,則會發生此異常。 | | NoAlertPresentException | 當您切換到無提示時,將發生此異常。 | | NoSuchWindowException | 如果要切換的窗口目標不存在,則會發生此異常。 | | StaleElementReferenceException | 當 Web 元素與當前 DOM 分離時,會發生這種 Selenium 異常。 | | SessionNotFoundException | 退出瀏覽器后,WebDriver 正在運行。 | | TimeoutException | 沒有足夠的時間完成命令時拋出。 例如,在指定時間內找不到搜索到的元素。 | | WebDriverException | 當關閉瀏覽器后 WebDriver 立即起作用時,將發生此異常。 | | ConnectionClosedException | 當驅動程序斷開連接時,將發生這種類型的異常。 | | ElementClickInterceptedException | 由于接收事件的元素正在隱藏請求單擊的元素,因此該命令可能未完成。 | | ElementNotInteractableException | 當 DOM 中出現任何元素時,都會拋出此 Selenium 異常。 但是,不可能與這樣的元素進行交互。 | | ErrorInResponseException | 與 Firefox 擴展程序或遠程驅動程序服務器交互時,會發生這種情況。 | | ErrorHandler.UnknownServerException | 如果服務器返回沒??有堆棧跟蹤的錯誤,則將異常用作占位符。 | | ImeActivationFailedException | 當 IME 引擎激活失敗時,將發生這種期望。 | | ImeNotAvailableException | 它在 IME 支持不可用時發生。 | | InsecureCertificateException | 導航使用戶代理命中證書警告。 這可能是由無效或過期的 TLS 證書引起的。 | | InvalidArgumentException | 當參數不屬于期望的類型時,就會發生這種情況。 | | InvalidCookieDomainException | 當您嘗試在其他域而不是當前 URL 下添加 Cookie 時,就會發生這種情況。 | | InvalidCoordinatesException | 此類型的異常與無效的交互操作匹配。 | | InvalidElementStateExceptio | 當元素無效時命令無法完成時,會發生這種情況。 | | InvalidSessionIdException | 當給定會話 ID 未包含在活動會話列表中時,發生此異常。 這意味著該會話不存在或處于非活動狀態。 | | InvalidSwitchToTargetException | 當不存在要切換的幀或窗口目標時,會發生這種情況。 | | JavascriptException | 執行用戶給定的 JavaScript 時會發生此問題。 | | JsonException | 當您沒有創建會話時可以負擔得起會話時,就會發生這種情況。 | | NoSuchAttributeException | 當找不到元素的屬性時,會發生這種異常。 | | MoveTargetOutOfBoundsException | 如果提供給 ActionChains move()方法的目標無效,則會發生這種情況。 例如,文檔之外。 | | NoSuchContextException | ContextAware 進行移動設備測試。 | | NoSuchCookieException | 當沒有找到與給定路徑名匹配的,與當前瀏覽文檔的所有關聯 cookie 相關的 cookie 時,將發生此異常。 | | NotFoundException | 此異常是 WebDriverException 的子類。 當 DOM 上的元素不存在時,就會發生這種情況。 | | RemoteDriverServerException | 當服務器不響應時,由于描述的功能不正確的問題,將引發此 Selenium 異常。 | | ScreenshotException | 無法捕獲屏幕。 | | SessionNotCreatedException | 當無法成功創建新會話時,就會發生這種情況。 | | UnableToSetCookieException | 如果驅動程序無法設置 cookie,則會發生這種情況。 | | UnexpectedTagNameException | 如果支持類未獲得預期的 Web 元素,則會發生。 | | UnhandledAlertException | 當有警報但 WebDriver 無法執行警報操作時,會發生這種期望。 | | UnexpectedAlertPresentException | 當出現意外警報時就會發生。 | | UnknownMethodException | 當請求的命令與已知 URL 匹配但與特定 URL 的方法不匹配時,會發生此異常。 | | UnreachableBrowserException | 僅當由于某種原因無法打開瀏覽器或使瀏覽器崩潰時,才會發生此異常。 | | UnsupportedCommandException | 當遠程 WebDriver 未按預期發送有效命令時,會發生這種情況。 | ## 處理硒異常 這里是一些重要的標準,您可以使用這些標準來處理 Selenium WebDriver 中的異常: **嘗試捕獲**:此方法可以捕獲異常,該異常使用 try 和 catch 關鍵字的組合。 Try 命令指示該塊的開始,并且 **Catch** 被放置在 try 塊的末尾,這有助于解決異常。 ``` try { // Code } catch (Exception e) { // Code for Handling exception } ``` * **多個捕獲塊**:異常的類型多種多樣,您可以從單個代碼塊中獲得多個異常。 多個 catch 可以幫助您使用單獨的代碼塊分別處理每種類型的 Exception。 它可以用于兩個以上的捕獲塊,并且對捕獲塊的數量沒有限制。 ``` try { //Code } catch (ExceptionType1 e1) { //Code for Handling Exception 1 } catch (ExceptionType2 e2) { //Code for Handling Exception 2 } ``` * **引發**:當您想要生成異常時,Throw 關鍵字用于引發異常以在運行時對其進行處理。 當您拋出一個異常而不處理它時,那么他們需要使用 Throw 關鍵字。 ``` public static void anyFunction() throws Exception{ try { // write your code here } Catch (Exception b) { // Do whatever you want to perform // Throw the Exception back to the system throw(b); } } ``` * **多個異常**:您可以在 throws 子句中提及各種異常。 ``` public static void anyFunction() throws ExceptionType1, ExceptionType2{ try { // write your code here } catch (ExceptionType1 e1) { // Code to handle exception 1 } catch (ExceptionType1 e2) { // Code to handle exception 2 } ``` * **最終**:Final 關鍵字用于在 try 塊下創建代碼塊。 它是最終代碼,可幫助您執行,無論是否發生異常 ``` try { //Code } catch (ExceptionType1 e1) { //Catch block } catch (ExceptionType2 e2) { //Catch block } catch (ExceptionType3 e3) { //Catch block } finally { //The finally block always executes. } ``` ## 顯示異常的方法 您還可以使用以下方法顯示異常信息: * **printStackTrace()**:此函數打印堆棧跟蹤,異常名稱和其他有用的描述。 * **toString()**:此函數返回描述異常名稱和描述的文本消息。 * **getMessage()**:幫助顯示異常的描述。 ### 摘要: * 例外是在程序執行時發生的錯誤。 * 嘗試捕獲:此方法可以捕獲異常,該異常使用 try 和 catch 關鍵字的組合。 * 多個 catch 可以幫助您使用單獨的代碼塊分別處理每種類型的 Exception。 * Throw 關鍵字用于引發 Exception 以在運行時對其進行處理。 * printStackTrace():此函數打印堆棧跟蹤,異常名稱和其他有用的描述 * toString():此函數返回描述異常名稱和描述的文本消息。 * getMessage(): Helps to displays the description of the Exception.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看