Buscar..


Introducción

Hay una serie de excepciones que pueden ser lanzadas al usar un webdriver. Los ejemplos a continuación están destinados a dar una idea de lo que significan.

Excepciones de Python

Documentación de excepciones de selenio

ElementNotInteractableException: se lanza cuando un elemento está presente en el DOM pero las interacciones con ese elemento afectarán a otro elemento debido al orden de la pintura

  • ElementNotSelectableException: se lanza cuando se intenta seleccionar un elemento no seleccionable. Ejemplos de elementos no seleccionables:
    • guión
  • ElementNotVisibleException: se lanza cuando un elemento está presente en el DOM, pero no es visible y, por lo tanto, no se puede interactuar con él. Se encuentra con más frecuencia al intentar hacer clic o leer el texto de un elemento que está oculto a la vista.
  • ErrorInResponseException: se lanza cuando se produce un error en el servidor. Esto puede suceder cuando se comunica con la extensión de Firefox o el servidor del controlador remoto.
  • ImeActivationFailedException: se ha producido un error al activar un motor IME.
  • ImeNotAvailableException: se lanza cuando el soporte de IME no está disponible. Esta excepción se produce para cada llamada de método relacionada con IME si el soporte de IME no está disponible en la máquina.
  • InvalidArgumentException: los argumentos pasados ​​a un comando no son válidos o tienen un formato incorrecto.
  • InvalidCookieDomainException: se lanza al intentar agregar una cookie en un dominio diferente al de la URL actual.
  • InvalidElementStateException: se lanza cuando una acción da como resultado un estado no válido para un elemento. Subclases:
    • ElementNotInteractableException
    • ElementNotSelectableException
    • ElementNotVisibleException
  • InvalidSelectorException: se lanza cuando el selector que se usa para encontrar un elemento no devuelve un elemento web. Actualmente, esto solo sucede cuando el selector es una expresión xpath y es sintácticamente no válido (es decir, no es una expresión xpath) o la expresión no selecciona WebElements (por ejemplo, "count (// input)").
  • InvalidSwitchToTargetException: se lanza cuando no existe el objetivo de marco o ventana que se va a cambiar.
  • MoveTargetOutOfBoundsException: se lanza cuando el objetivo proporcionado al método move () de ActionsChains no es válido, es decir, está fuera del documento.
  • NoAlertPresentException: se lanza cuando se cambia a una alerta sin presentar. Esto puede deberse a una operación en la clase Alert () cuando todavía no hay una alerta en la pantalla.
  • NoSuchAttributeException: se lanza cuando no se puede encontrar el atributo del elemento. Es posible que desee verificar si el atributo existe en el navegador en particular con el que está probando. Algunos navegadores pueden tener diferentes nombres de propiedad para la misma propiedad. (IE8's .innerText vs. Firefox .textContent)
  • NoSuchElementException: se lanza cuando no se puede encontrar el elemento. Si encuentra esta excepción, puede querer verificar lo siguiente:
    • Compruebe su selector utilizado en su find_by ...
    • Es posible que el elemento aún no esté en la pantalla en el momento de la operación de búsqueda, (la página web todavía se está cargando) vea selenium.webdriver.support.wait.WebDriverWait () para saber cómo escribir un contenedor de espera para esperar a que aparezca un elemento.
  • NoSuchFrameException: se lanza cuando el objetivo de cuadro que se va a cambiar no existe.
  • NoSuchWindowException: se lanza cuando no existe el objetivo de ventana que se va a cambiar. Para encontrar el conjunto actual de manejadores de ventana activos, puede obtener una lista de los manejadores de ventana activos de la siguiente manera:
    print driver.window_handles
  • RemoteDriverServerException:
  • StaleElementReferenceException: se lanza cuando una referencia a un elemento ahora está "obsoleta". Stale significa que el elemento ya no aparece en el DOM de la página. Las posibles causas de StaleElementReferenceException incluyen, entre otras:
    • Ya no está en la misma página, o la página puede haberse actualizado desde que se localizó el elemento.
    • Es posible que el elemento se haya eliminado y se haya vuelto a agregar a la pantalla, ya que estaba ubicado. Como un elemento que se está reubicando. Esto puede suceder normalmente con un marco javascript cuando los valores se actualizan y el nodo se reconstruye.
    • El elemento puede haber estado dentro de un iframe u otro contexto que se actualizó.
  • TimeoutException: Se lanza cuando un comando no se completa con el tiempo suficiente.
  • UnableToSetCookieException: se lanza cuando un controlador no puede establecer una cookie.
  • UnexpectedAlertPresentException: se lanza cuando aparece una alerta inesperada. Generalmente se genera cuando un modo esperado está bloqueando el formulario webdriver ejecutando más comandos.
  • UnexpectedTagNameException: se lanza cuando una clase de soporte no obtiene un elemento web esperado.
  • WebDriverException: excepción del controlador web base. Todas las excepciones de webdriver usan la excepción WebDriverException o InvalidStateException como clase principal.


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow