Ricerca…


introduzione

Esistono numerose eccezioni che possono essere generate durante l'utilizzo di un webdriver. Gli esempi di seguito hanno lo scopo di dare un'idea di cosa significano.

Python Exceptions

Documentazione di eccezione al selenio

ElementNotInteractableException: generata quando un elemento è presente nel DOM ma le interazioni con quell'elemento colpiranno un altro elemento a causa dell'ordine di vernice

  • ElementNotSelectableException: generata quando si tenta di selezionare un elemento non selezionabile. Esempi di elementi non selezionabili:
    • copione
  • ElementNotVisibleException: generata quando un elemento è presente sul DOM, ma non è visibile e quindi non è in grado di interagire con esso. Più comunemente riscontrato quando si tenta di fare clic o leggere il testo di un elemento nascosto alla vista.
  • ErrorInResponseException: generata quando si verifica un errore sul lato server. Ciò può accadere quando si comunica con l'estensione firefox o il server driver remoto.
  • ImeActivationFailedException: generata quando si attiva un motore IME non riuscita.
  • ImeNotAvailableException: generato quando il supporto IME non è disponibile. Questa eccezione viene generata per ogni chiamata di metodo relativa a IME se il supporto IME non è disponibile sulla macchina.
  • InvalidArgumentException: gli argomenti passati a un comando non sono validi o non sono validi.
  • InvalidCookieDomainException: generata quando si tenta di aggiungere un cookie in un dominio diverso rispetto all'URL corrente.
  • InvalidElementStateException: generata quando un'azione comporta uno stato non valido per un elemento. sottoclassi:
    • ElementNotInteractableException
    • ElementNotSelectableException
    • ElementNotVisibleException
  • InvalidSelectorException: generata quando il selettore utilizzato per trovare un elemento non restituisce un WebElement. Attualmente ciò accade solo quando il selettore è un'espressione xpath ed è sintatticamente non valido (ovvero non è un'espressione xpath) o l'espressione non seleziona WebElements (ad esempio "count (// input)").
  • InvalidSwitchToTargetException: generata quando la destinazione della trama o della finestra da commutare non esiste.
  • MoveTargetOutOfBoundsException: generato quando il target fornito al metodo moveChains move () non è valido, cioè fuori documento.
  • NoAlertPresentException: generata quando si passa a nessun avviso presentato. Ciò può essere causato chiamando un'operazione sulla classe Alert () quando un avviso non è ancora visualizzato sullo schermo.
  • NoSuchAttributeException: generata quando non è stato possibile trovare l'attributo dell'elemento. Si consiglia di verificare se l'attributo esiste nel browser specifico che si sta testando. Alcuni browser potrebbero avere nomi di proprietà diversi per la stessa proprietà. (IE8 .innerText vs. Firefox .textContent)
  • NoSuchElementException: generata quando non è stato possibile trovare l'elemento. Se si verifica questa eccezione, è possibile controllare quanto segue:
    • Controlla il tuo selettore usato nel tuo find_by ...
    • L'elemento potrebbe non essere ancora visualizzato sullo schermo al momento dell'operazione di ricerca, (la pagina web è ancora in fase di caricamento) vedere selenium.webdriver.support.wait.WebDriverWait () per come scrivere un wrapper di attesa per attendere la comparsa di un elemento.
  • NoSuchFrameException: generata quando il target del frame da cambiare non esiste.
  • NoSuchWindowException: generata quando l'obiettivo della finestra da commutare non esiste. Per trovare il set corrente di handle di finestra attivi, è possibile ottenere un elenco degli handle di finestra attivi nel modo seguente:
    print driver.window_handles
  • RemoteDriverServerException:
  • StaleElementReferenceException: generata quando un riferimento a un elemento è "stantio". Stantio significa che l'elemento non appare più sul DOM della pagina. Le possibili cause di StaleElementReferenceException includono, ma non sono limitate a:
    • Non ci si trova più nella stessa pagina o la pagina potrebbe essere stata aggiornata dall'ubicazione dell'elemento.
    • L'elemento potrebbe essere stato rimosso e riaggiunto allo schermo, dal momento che era posizionato. Come un elemento che viene spostato. Questo può accadere in genere con un framework javascript quando i valori vengono aggiornati e il nodo viene ricostruito.
    • L'elemento potrebbe essere stato all'interno di un iframe o di un altro contesto che è stato aggiornato.
  • TimeoutException: generata quando un comando non viene completato in un tempo sufficiente.
  • UnableToSetCookieException: generata quando un driver non riesce a impostare un cookie.
  • UnexpectedAlertPresentException: generata quando viene visualizzato un avviso inatteso. Solitamente generato quando una modale attesta sta bloccando la forma del webdriver eseguendo altri comandi.
  • UnexpectedTagNameException: generato quando una classe di supporto non ha ottenuto un elemento web previsto.
  • WebDriverException: eccezione del webdriver di base. Tutte le eccezioni del webdriver utilizzano WebDriverException o InvalidStateException come classe padre.


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow