No se puede interactuar con un elemento web en tiempo de ejecución

En este artículo se proporciona una solución a un problema en el que una acción de automatización web no puede interactuar con un elemento web durante el tiempo de ejecución en Microsoft Power Automate.

Se aplica a: Power Automate
Número de KB original: 4599079

Síntomas

Se produce un error en una acción de automatización web (por ejemplo, "Hacer clic en vínculo", "Rellenar campo de texto" o "Obtener detalles del elemento") durante el tiempo de ejecución en Microsoft Power Automate.

Comprobación del problema

Durante el desarrollo inicial del flujo de escritorio, puede capturar e interactuar con el elemento web.

Causa

Algunas páginas web cambian dinámicamente su estructura HTML subyacente. Por lo tanto, el selector CSS que se usó inicialmente para localizar el elemento ya no es aplicable.

Solución

Para solucionar este problema, puede crear manualmente un nuevo selector CSS sólido. Podrá localizar el elemento de interés aunque cambie la estructura HTML.

Para ello, capture de nuevo el elemento web después del error y compare el nuevo selector CSS con el anterior.

Los selectores CSS se pueden revisar y editar a través de la ventana Generador de selectores :

La página Generador de selectores que puede usar para revisar y editar selectores CSS.

Observe las diferencias entre los dos selectores: puede haber uno o varios elementos o atributos diferentes.

Edite el selector para que contenga solo las partes estáticas que no son propensas a cambiar. Se podrían seguir algunos de los métodos siguientes:

  1. Quite los valores dinámicos como números y modifique los operadores pertinentes en consecuencia ("Comienza con", "Termina con", "Contiene", etc.).
  2. Quite un elemento completo de la ruta de acceso del selector si es necesario.
  3. Busque el elemento que usa su texto visible en la página web mediante el selector "Contiene".

Ejemplos:

  • El selector contiene un elemento que tiene una clase dinámica, como div[class="some_class123"]. Esto se puede modificar al div[class^="some_class"] operador ("Comienza con").
  • El selector contiene un elemento que tiene muchos atributos dinámicos, como div[class="some_class123"][id="some_id123"] > a[id="some_id"]. Esto se puede modificar a a[id="some_id"] (omitiendo completamente la primera parte).
  • El elemento de interés tiene texto estático: el selector se puede modificar para incluir solo ese texto. Por ejemplo, div[class="some_class123"][id="some_id123"] > a[id="some_id"] podría modificarse a a:contains("the_text_we_see_on_the_webpage").