Encontrar selectores

Written By Matias Carcamo

Last updated 15 days ago

Los monitores sintéticos pueden encontrar elementos de un sitio web, mediante la configuración de selectores. Los selectores pueden definirse en dos formas: CSSPath y XPath.

CSSPath

CSSPath es un lenguaje de búsqueda basado en CSS, que permite encontrar elementos de un sitio web.

Para encontrar un elemento con CSSPath, debe tener un selector CSS que indique a qué elemento se refiere. Por ejemplo, si se quiere encontrar el elemento <input type="text">, el selector CSS debe ser #input-text.

XPath

XPath es un lenguaje de búsqueda basado en XML, que permite encontrar elementos de un sitio web.

Para encontrar un elemento con XPath, debe tener un selector XPath que indique a qué elemento se refiere. Por ejemplo, si se quiere encontrar el elemento <input type="text">, el selector XPath debe ser //input[@type="text"].

Configurar selectores

Para un mismo elemento, es posible encontrar múltiples selectores. Es recomendable elegir siempre el selector más conciso, ya que resiste mejor cambios en el sitio web.

Una forma simple de encontrar selectores XPATH, es abrir el navegador web y abrir el inspector de elementos.

Esto abre un panel de la derecha, donde se pueden ver todos los elementos del sitio web. Al colocar el mouse sobre un elemento, se muestra un rectángulo rojo alrededor del elemento.

Una vez posicionado en el elemento deseado, clic derecho → Copy → Copy XPath

El resultado es el XPath del elemento: //*[@id="el-id-1960-54"]. Este método es útil, pero puede llevar a selectores poco robustos.

Configurar múltiples selectores

En una acción es posible definir múltiples selectores, para que el monitor sintético tenga más formas de encontrar el elemento deseado.

En el ejemplo se define //*[@id="el-id-1960-54"] como el selector principal, y .login input[type=text] como un selector secundario. Esto permite que el monitor sintético busque el elemento con el selector principal, y si no lo encuentra, busque el elemento con el selector secundario.