Cómo automatizar elementos DOM sombra usando el selenio?

Sushilg:

Estoy usando proyecto Java selenio para la automatización de la página web. La página Web contiene una gran cantidad de elementos DOM-sombra raíz de varios niveles que no soy capaz de interactuar con el uso de selenio findElementmétodo.

He probado las siguientes soluciones:

  • css profunda (no trabajo en la última versión del navegador Chrome)
  • JS Ejecutor. (Esto es muy tedioso y se vuelve compleja de mantener)

Nota:

Si conoces alguna otra solución que no sea mencionado anteriormente que pueda poner en práctica en el marco de selenio Java, por favor pase a la solución. Gracias por adelantado !.

Grim:

Hay un muy buen complemento que puede ser utilizado con el proyecto de selenio enlace . Esto ayuda en la escritura mucho mejor, código legible y fácil de mantener. El uso de este se puede acceder a varios niveles de DOM sombra (hasta 4 niveles). Esto utiliza selector CSS simple de identificar elementos.

WebElement findElement(String cssSelector) : Utilizar este método si desea solo elemento de DOM

List<WebElement> findElements(String cssSelector) : Utilice esta opción si desea encontrar todos los elementos de DOM

WebElement findElements(WebElement parent, String cssSelector) : Utilice esta opción si desea encontrar un solo elementos de DOM objeto padre

List<WebElement> findElements(WebElement parent, String cssSelector) : Utilice esta opción si desea encontrar todos los elementos de DOM objeto padre

WebElement getShadowElement(WebElement parent,String selector) : Utilice esta opción si desea encontrar un solo elemento de DOM padres

List<WebElement> getAllShadowElement(WebElement parent,String selector) : Utilice esta opción si desea encontrar todos los elementos de DOM padres

boolean isVisible(WebElement element) : Utilice esta opción si desea encontrar la visibilidad del elemento

boolean isChecked(WebElement element) : Utilice esta opción si desea comprobar si se selecciona la casilla de verificación

boolean isDisabled(WebElement element) : Utilice esta opción si desea comprobar si el elemento está desactivado

String getAttribute(WebElement element,String attribute) : Utilice esta opción si desea obtener atributos como atributos aria-seleccionada y otra personalizados de elementos.

void selectCheckbox(String label) : Usar esto para seleccionar elemento casilla de verificación usando la etiqueta.

void selectCheckbox(WebElement parentElement, String label) : Usar esto para seleccionar elemento casilla de verificación usando la etiqueta.

void selectRadio(String label) : Usar esto para seleccionar elemento de radio que utiliza la etiqueta.

void selectRadio(WebElement parentElement, String label) : Utilice esta opción para seleccionar el elemento de radio de DOM padres usando la etiqueta.

void selectDropdown(String label) : Usar esto para seleccionar desplegable elemento de la lista utilizando etiqueta (utilizar este si sólo uno desplegable está presente o cargado en UI).

void selectDropdown(WebElement parentElement, String label) : Usar esto para seleccionar el elemento de la lista desplegable desde el DOM padres usando la etiqueta.

Cómo utilizar este plugin: Tendrá que la dependencia en su proyecto.

Maven

<dependency>
  <groupId>io.github.sukgu</groupId>
  <artifactId>automation</artifactId>
  <version>0.0.4</version>
<dependency>

para la etiqueta HTML que resida, en un elemento dom sombra-root

<properties-page id="settingsPage"> 
  <textarea id="textarea">
</properties-page>

Puede utilizar este código en su marco para agarrar el elemento de área de texto del objeto.

  import io.github.sukgu.*;
  Shadow shadow = new Shadow(driver);
  WebElement element = shadow.findElement("properties-page#settingsPage>textarea#textarea");
  String text = element.getText();

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=312627&siteId=1
Recomendado
Clasificación