Explicación detallada de la tecnología de posicionamiento y manipulación de elementos de la interfaz RPA

¿Qué es RPA? RPA es una abreviatura de Automatización Robótica de Procesos. En "Combate RPA inteligente", lo definimos así: a través de tecnologías específicas que pueden simular operaciones humanas en la interfaz de la computadora, las tareas de proceso correspondientes se ejecutan automáticamente de acuerdo con las reglas, reemplazando o ayudando a los humanos a completar las operaciones informáticas relacionadas. Para resumirlo en una frase: use robots de software para automatizar tareas que anteriormente realizaban los humanos.

inserte la descripción de la imagen aquí

Entonces, ¿qué es IPA? IPA (Automatización Inteligente de Procesos) = RPA+AI. En pocas palabras, es usar IA para fortalecer las diversas capacidades de RPA. Por ejemplo: fortalecer la capacidad de reconocimiento de elementos de interfaz de RPA, capacitar a RPA para completar la toma de decisiones inteligente durante la ejecución de tareas de RPA, etc. Por lo general, comparamos RPA con la pinza y AI con el cerebro. AI es responsable de pensar, RPA es responsable de la acción. RPA es una plataforma digital que puede llamar a todas las capacidades de software y hardware de las computadoras. La IA puede existir como uno de los componentes inteligentes y ser invocada por RPA. La IA también se puede potenciar como parte de RPA, como la lógica de programación de robots inteligentes.

En la actualidad, existen principalmente dos tecnologías de IA en los campos de CV y ​​NLP, que son ampliamente utilizadas en RPA.

  1. visión por computador

CV (Visión por computadora) La visión por computadora es un campo que se especializa en cómo extraer información útil de imágenes digitales. En RPA, las tecnologías comunes de CV incluyen la comparación de plantillas, el reconocimiento óptico de caracteres, la detección de objetivos, etc.:

Coincidencia de plantillas Coincidencia de plantillas: la coincidencia de plantillas es un algoritmo para ubicar imágenes pequeñas (plantillas) en imágenes grandes. Por ejemplo, busque la posición de un icono en el escritorio, busque un botón en un formulario, etc.
OCR (Reconocimiento óptico de caracteres) Reconocimiento óptico de caracteres: Al ingresar una imagen, el modelo OCR la analiza y procesa, y genera información estructurada de caracteres en la imagen (coordenadas de caracteres, valores específicos de caracteres). Por ejemplo, identificación de código de verificación, extracción de información en facturas, etc.

OD (Detección de objetos) Detección de objetivos: Al ingresar una imagen a la computadora, deje que la computadora analice los objetos en ella. Por ejemplo, analice todos los controles (botones, cuadros de edición, etc.) en un formulario de solicitud para operaciones posteriores de RPA.

  1. procesamiento natural del lenguaje

PNL (procesamiento del lenguaje natural) El procesamiento del lenguaje natural es un campo que se especializa en cómo extraer información útil del texto. En RPA, los escenarios comunes incluyen:
Procesamiento inteligente de documentos IDP (Intelligent Document Processing): como análisis automático de documentos contractuales: procesamiento automático de una gran cantidad de documentos contractuales, respuesta rápida a revisión, búsqueda, revisión y otras tareas. Análisis y extracción de información de documentos: analice documentos extensos, como documentos de licitación de empresas y documentos internos. Coincidencia precisa del personal de recursos humanos y los puestos: extraiga información clave de los currículos para crear retratos de talento y relacione puestos precisos.
Revisión de texto: amarillo anti-revisión, identificando información vulgar como pornografía en textos; identificando información reaccionaria como religión y armas. Identificación relacionada con la política, identificando información relacionada con la política y otra información confidencial en el texto. Filtrado de publicidad, identificación y bloqueo de información publicitaria, e identificación y análisis de discursos de usuarios. Detección de spam, identificando información de spam como maldecir y cepillar publicaciones en el texto.

  1. Valor

El valor de la aplicación de RPA se refleja principalmente en los siguientes aspectos:
Mejora de la eficiencia empresarial: en términos de tiempo, 5 x 8h = 40h para jugadores humanos. ¡El robot jugador 7 x 24h = 168h es 4,2 veces más que un humano! Después de todo, los robots RPA tienen 3 días hábiles al día y trabajan un día y dos días extra... En términos de velocidad, la rapidez con la que responde el sistema empresarial es la rapidez con la que RPA puede ejecutarse. Y no habrá problemas como la fatiga o la disminución de la precisión debido a las horas de trabajo extendidas.
Reducir el riesgo humano: los humanos son buenos en la abstracción y el razonamiento. Las máquinas son buenas para la repetición. Los seres humanos son propensos al mal funcionamiento y al juicio erróneo cuando están cansados, la interferencia externa y las fluctuaciones emocionales subjetivas. Los robots RPA son buenos para realizar trabajos específicos una y otra vez.

Atraviese el sistema comercial: no es necesario transformar el sistema original, no es necesario desarrollar interfaces o SDK para lograr el acoplamiento. Eso es lo que escuchas "no intrusivo". Una aplicación típica es completar la transferencia de datos entre aplicaciones aisladas.

  1. ruta de desarrollo

El desarrollo de RPA se puede resumir aproximadamente en las siguientes etapas:
Etapa tripulada: en esta etapa, RPA aparece como un "asistente virtual", que cubre casi las funciones principales de la automatización de robots y todas las operaciones del software de automatización de escritorio existente. Implementado en las PC de los empleados para mejorar la eficiencia del trabajo. La desventaja es que es difícil realizar una automatización de extremo a extremo y no se puede aplicar a gran escala. Sin embargo, ha podido reducir efectivamente el tiempo promedio de procesamiento comercial, lo que puede mejorar efectivamente la experiencia del cliente y ahorrar costos.
Etapa desatendida: en esta etapa, RPA se denomina "fuerza de trabajo virtual" y el objetivo principal es realizar la automatización de extremo a extremo y la clasificación de empleados virtuales. Implementado principalmente en la máquina virtual VMS, puede organizar el contenido del trabajo, administrar los robots de forma centralizada y analizar el rendimiento de los robots. La desventaja es que el trabajo de los robots de software RPA todavía requiere control y gestión manual. Los robots RPA desatendidos pueden funcionar las 24 horas del día, los 7 días de la semana, y reemplazar la interacción humano-computadora con procesos comerciales, lo que brinda mayores posibilidades para aumentar la eficiencia y reducir los costos.

Etapa de RPA autónomo: en esta etapa, el objetivo principal de RPA es lograr una automatización de extremo a extremo y una fuerza de trabajo virtual multifuncional a escala. Generalmente implementado en servidores en la nube y SaaS, se caracteriza por la calificación automática, el equilibrio de carga dinámico, la conciencia del contexto, el análisis avanzado y el flujo de trabajo. La desventaja es que todavía es difícil tratar con datos no estructurados. Sin embargo, con la integración de más tecnologías, la RPA autónoma puede mejorar fundamentalmente el valor comercial y brindar más ventajas a los usuarios.

Etapa cognitiva de RPA: esta etapa será la dirección del desarrollo de RPA en el futuro. Comience a utilizar tecnologías como la inteligencia artificial, el aprendizaje automático y el procesamiento del lenguaje natural para realizar el procesamiento, la predicción y el análisis de datos no estructurados, y la aceptación automática del procesamiento de tareas. Con capacidades cognitivas, todo el proceso de toma de decisiones lo realizan robots, lo que automatiza todas las tareas largas y complejas.

01
Módulo central de RPA
1. Plataforma de desarrollo

inserte la descripción de la imagen aquí
plataforma de desarrollo RPA

La plataforma de desarrollo es una herramienta para que los diseñadores de procesos diseñen procesos. Tiene principalmente las siguientes funciones:

Diseño de Procesos: Cuando tenemos una idea y queremos convertirla en un proceso que se pueda personalizar y ejecutar, necesitamos usarla para diseñar un proceso. Interfaz de programación visual, programación de código bajo, proporciona un método de arrastrar y soltar para el diseño de lógica empresarial. Debe tener la capacidad de diseñar procesos complejos, como procesos, subprocesos, bibliotecas de terceros, componentes personalizados y otras funciones. También es necesario tener la capacidad de "encapsular", desde procesos pequeños hasta procesos grandes. Y aportar el concepto de “reutilización” para no tener que reinventar la rueda. Además, existen varias herramientas necesarias en el proceso de diseño de procesos:
A. Analizador de elementos: En la interfaz, los botones, cuadros de edición, etc. que vemos a simple vista son todos "elementos" en el mundo RPA. Muchos componentes visuales toman un elemento como parámetro de entrada para realizar las acciones correspondientes, como "hacer clic en un botón", "ingresar texto en un cuadro de edición", etc. A través del analizador de elementos, podemos seleccionar fácilmente un elemento de destino en la pantalla. Con el analizador de elementos, el diseñador de procesos no necesita tener demasiado conocimiento técnico de los elementos de interfaz subyacentes para identificar y ubicar los elementos, señalando dónde están.
B. Grabador de elementos: como sugiere el nombre, genera automáticamente un montón de componentes visuales al registrar una operación del usuario. Suele ser útil cuando la interferencia ambiental es relativamente pequeña. En combinación con la depuración y el ajuste fino, a menudo se puede diseñar rápidamente un prototipo de proceso.
C. Captura de datos: esta es una función particularmente interesante que puede capturar información estructurada en la pantalla: cualquier dato que parezca una lista, tabla o árbol debe admitir la captura.
D. Paquete de componentes inteligentes: es decir, algunos componentes visuales potenciados por IA A través de un simple arrastrar y soltar, se pueden completar algunas funciones como las siguientes:
Información de extracción de imágenes: extracción de tarjetas de identificación, extracción de facturas, extracción de licencias comerciales, extracción de tarjetas bancarias, Sorteo de billetes de tren, etc.
Información de extracción de documentos: contratos de compra, contratos de préstamos minoristas bancarios, juicios civiles, folletos de bonos, etc.
Análisis inteligente de documentos: clasificación de texto, revisión de texto, resumen de texto, extracción de etiquetas, extracción de opiniones, análisis de sentimientos, etc.
Depuración de procesos: durante el desarrollo del proceso, es posible que necesitemos realizar una depuración en tiempo real para encontrar problemas en el proceso. Como puntos de interrupción aleatorios, depuración de un solo paso, entrada de un solo paso, salida de un solo paso, ver el estado actual (como variables) y otra información. Con la función de depuración, podemos permanecer fácilmente en cualquier paso del proceso y verificar el estado del contexto actual para ajustar y optimizar el proceso.
Gestión de versiones: una vez desarrollado el proceso, debemos publicarlo en la consola. Este proceso también se denomina "publicación". Un producto RPA maduro debe tener soporte completo de control de versiones y puede lanzar una versión específica para el proceso actual. También se debe admitir la reversión a cualquier versión histórica. Por supuesto, también debería permitir que varios diseñadores de procesos modifiquen el mismo proceso al mismo tiempo.

Picture-in-Picture: El objetivo principal es proporcionar aislamiento ambiental. Al proporcionar una capa de sesión virtual, la operación del robot está aislada de la máquina host actual. Mientras el robot se está ejecutando, el profesor de negocios también puede usar la computadora normalmente sin interferir entre sí.

Soporte de código: también es un modo experto, que llama directamente a la API subyacente, la API de bloque, etc. Proporciona una expansión de complejidad arbitraria, lo que permite a los estudiantes de diseño de procesos con capacidad de programación ampliar las capacidades de RPA.

2. Centro de control

inserte la descripción de la imagen aquí
Centro de control RPA
El centro de control es el cerebro del robot RPA, desde el cual se emiten todas las tareas, y también se puede decir que es la unidad central de procesamiento del robot RPA. Tiene principalmente las siguientes funciones:
Gestión de procesos: gestionar los procesos visuales publicados, importar y exportar, ver versiones específicas de procesos, etc.
Gestión de bots: administre bots RPA. Incluye funciones como revisar robots en línea, habilitar y deshabilitar robots, compartir robots, etc. También puede ver directamente el escritorio del robot a través de la tecnología de escritorio remoto.

Gestión de tareas: una tarea es una plantilla (estática, estática) para que un robot ejecute un proceso. Se puede crear una tarea seleccionando un proceso específico y configurando parámetros específicos. Después de crear la tarea, el centro de control programará el robot RPA de acuerdo con la información de programación de la tarea.

Gestión de trabajos: cuando una tarea comienza a ejecutarse, se generará un "trabajo" (tiempo de ejecución, dinámico). Contiene diversa información sobre el tiempo de ejecución del robot. Como registros en ejecución, estado en ejecución, etc.

Activos de datos: un entendimiento simple es una base de datos segura en la nube. Cuando se cumplen los permisos, el proceso puede agregar, eliminar, verificar y modificar los datos especificados. Al mismo tiempo, también existe el concepto de campos seguros, por ejemplo, cuando un campo es de tipo "cifrado", no deberíamos poder imprimir su valor directamente en la plataforma de desarrollo.

Gestión de derechos: modelo de gestión de derechos basado en roles. Se pueden asignar diferentes roles a diferentes cuentas y se pueden asignar diferentes funciones a diferentes roles.

Gestión de inquilinos: la multi-tenencia es una arquitectura de software en la que una sola instancia de software puede servir a varios grupos de usuarios diferentes. SaaS es un ejemplo de una arquitectura multiusuario. Los datos están completamente aislados entre diferentes inquilinos.

Gestión de operación y mantenimiento: gestionar el propio servidor RPA. Se puede realizar monitoreo de recursos del servidor, monitoreo de operación del sistema, etc.

Informe de análisis: el centro de control proporciona todos los datos sobre el robot, y podemos usar estos datos para realizar varios análisis estadísticos. Por ejemplo, analizar la tasa de éxito de ejecución de un determinado proceso, la eficiencia de ejecución de un determinado robot, etc.

Auditoría de registros: cada operación debe dejar rastros. Debe incluir registros relacionados de robots RPA, así como registros relacionados de operaciones de usuario.

3. robot

Robot RPA: En pocas palabras, es para ejecutar las tareas enviadas por el centro de control. Actuador para RPA!
02
Analizador de elementos RPA
Es necesario entender dos conceptos: árbol de interfaz de usuario, selector de elementos.
Árbol de interfaz de usuario: la presentación de la estructura de datos abstracta de la interfaz de usuario, incluidos datos estáticos y datos dinámicos. Cada nodo del árbol es un elemento de la interfaz de usuario. Para cada elemento, podemos ver sus atributos y operar pruebas.
Selector de elementos: un medio para ubicar un elemento o grupo de elementos en el árbol de la interfaz de usuario. Puede ubicar con precisión un elemento, como encontrar un formulario titulado X; también puede ubicar vagamente un elemento, encontrando un elemento cuyo nombre de botón comience con X.

Entonces, ¿por qué necesita analizadores elementales? ¡La razón es que hay demasiadas tecnologías de marco de interfaz de usuario! Cada tecnología requiere una forma diferente de adaptación. Por ejemplo, para automatizar la Web, necesitamos entender la tecnología de automatización Web; para automatizar los programas Java, necesitamos entender la tecnología de automatización Java; para automatizar los programas SAP, necesitamos entender la tecnología del motor de automatización SAP. La adaptación de este marco de interfaz de usuario debe dejarse en manos del proveedor de RPA para que la complete. Necesitamos una forma unificada y sencilla de automatizar cada elemento de la interfaz de usuario que vemos. Los diseñadores de procesos solo necesitan entender: ¡Oh! ¡Aquí hay un botón y necesito hacer clic en él!
Mirando el proceso de desarrollo del analizador de elementos desde el método de posicionamiento:
posicionamiento de coordenadas absolutas: complemento auxiliar automático de medicamentos para beber. Controle el cambio de color de un punto de coordenadas específico en la pantalla. Cuando el color de la barra de sangre se vuelva gris, beba una botella de medicina dorada para el dolor (presione el botón para usar el elemento de medicina dorada para el dolor)

inserte la descripción de la imagen aquí

Diagrama esquemático del reconocimiento de imágenes 1
Reconocimiento de imágenes: encuentre una imagen pequeña en una imagen grande. Compruebe si aparece un "gopher" en la pantalla en un bucle y, cuando aparezca, utilice el ratón para hacer clic en la posición de destino.
inserte la descripción de la imagen aquí

Diagrama de reconocimiento de imagen 2
Posicionamiento del selector: el modelo de objeto de documento DOM (Document Object Model) abstrae toda la interfaz de la interfaz de usuario en una estructura de datos de "árbol" y utiliza XPath, CSS Selector y otra sintaxis para localizar. Podemos escribir el selector de forma muy "precisa", o podemos escribir el selector de forma muy "confusa".

inserte la descripción de la imagen aquí
Diagrama esquemático del árbol DOM de posicionamiento del selector
Posicionamiento inteligente: use IA para potenciar RPA. Por ejemplo, los algoritmos relacionados con la detección de objetivos se utilizan para el posicionamiento.
inserte la descripción de la imagen aquí
Diagrama esquemático de la detección de objetivos.

Las dos tareas principales de RPA: posicionamiento de elementos y manipulación de elementos.
Posicionamiento de elementos:
basado en el punto de coordenadas de la pantalla (HitTest): principalmente la función de captura del analizador de elementos, que permite al diseñador de procesos seleccionar fácilmente un elemento objetivo.

Basado en selector: seleccione un elemento o un grupo de elementos en el DOM a través de una sintaxis de selector simple. Principalmente durante el proceso de ejecución, para encontrar el elemento de destino en el entorno de ejecución.

Basado en CV: ubique los elementos de destino a través de la comparación de plantillas o algoritmos de IA relacionados. ¡Es útil cuando el programa comercial no admite la captura!

Operación de elementos:
AT (tecnología de asistencia) basada en métodos: cuando el programa comercial es compatible con AT, podemos llamar directamente al método AT para operar. Por ejemplo, llamar a la función de clic de un botón, establecer el contenido del cuadro de texto, etc. ¡La mayoría de los programas comerciales admiten el método AT!

Basado en mensajes: en Windows, los formularios pueden comunicarse a través de mensajes. Podemos usar Window Message para manipular elementos.

Basado en simulación de teclado y mouse: después de obtener el elemento de destino, si el elemento de destino no admite ningún AT o mensaje, también podemos usar la simulación de teclado y mouse para operar de manera simple y ruda. Esta es también la forma más artificial y se puede utilizar en todos los escenarios.Después de todo, las personas también interactúan con las computadoras de esta manera. La emulación de teclado y mouse también se basa esencialmente en los mensajes de Windows.

Las tecnologías de automatización se pueden clasificar según tengan o no una GUI. RPA admite dos tipos de automatización al mismo tiempo y admite programas comerciales con o sin GUI.
Automatización sin GUI fácil de escribir: el código de prueba es relativamente fácil de escribir y de depurar. Operación estable, no fácilmente afectada por cambios ambientales. Es fácil de mantener y no necesita actualizar el código de prueba con frecuencia. Alta eficiencia operativa, en comparación con la automatización GUI, la automatización sin GUI es muy rápida.
La automatización de GUI cubre principalmente una amplia gama: la mayoría de ellos siguen la especificación de accesibilidad subyacente del marco de UI. No intrusivo, no requiere código fuente ni acceso a SDK para aplicaciones comerciales. (De hecho, en realidad está invadido... ¡en la capa del marco de la interfaz de usuario!) Simule las operaciones del usuario en la mayor medida y simule cómo operan los usuarios.

Hay algunos factores que hacen que la automatización de la GUI sea inestable:

Ventanas emergentes aleatorias: cuando el script de automatización encuentra que el control no se puede colocar normalmente o no se puede operar, el marco de automatización de la GUI ingresa automáticamente al "modo de recuperación de escena anormal". En el "modo de recuperación de escenario anormal", el marco de automatización de la GUI detecta varios cuadros de diálogo posibles a su vez, y una vez que se confirma el tipo de cuadro de diálogo, ejecuta inmediatamente una operación predefinida (por ejemplo: haga clic en el botón "Aceptar"). y luego vuelve a intentar el cuadro de diálogo anterior Paso fallido.

Cambios en las propiedades de control: la coincidencia absoluta es más precisa, pero la "coincidencia aproximada" es más flexible, lo que puede mejorar la tasa de reconocimiento de los controles. A menudo, en el proceso de diseño de procesos, es necesario sopesar el elemento de destino y el uso de atributos antes que el nivel adyacente.

Pruebas A/B del sistema bajo prueba: la interfaz que se ve durante el proceso de desarrollo no es la misma que se ve durante el tiempo de ejecución. El procesamiento de bifurcaciones debe realizarse en el script del caso de prueba para identificar correctamente las diferentes bifurcaciones.

También hay algunos retrasos de página aleatorios que causan fallas en el reconocimiento de control: introduzca un mecanismo de reintento, que puede estar en el nivel de paso, el nivel de página o el nivel de proceso comercial.

03
Tecnología tras bambalinas del analizador de elementos
1. API Win32

La API subyacente del sistema operativo Windows de Microsoft. La ventaja es que se ve muy profundo, potente y de bajo nivel, y admite bien los controles estándar de Windows. La desventaja es que es muy complicado y la eficiencia de desarrollo es baja. Los controles personalizados no son compatibles.

Reconocimiento de ventanas: debe encontrar el identificador de la ventana a través de FindWindow y EnumWindows, y luego llamar a otras API GetWindowText, GetWindowRect, GetWindowLong, etc. para obtener las propiedades de la ventana, a fin de encontrar el control o la ventana deseada.
Manipulación y adquisición de propiedades: use SetWindowText y GetWindowText para manipular el texto que se muestra en el control, configure la ventana de nivel superior a través de SetForegroundWindow y obtenga la ventana de nivel superior actual a través de GetForegroundWindow. Métodos similares incluyen GetActiveWindow y SetActiveWindow. Teóricamente hablando, la mayoría de los controles o ventanas se pueden operar a través de la API de Windows y el mensaje de Windows, y también se pueden obtener algunas propiedades de algunos controles.

  1. MSAA

MSAA (Microsoft Active Accessibility) es una tecnología que mejora las capacidades de control de accesibilidad de Windows. MSAA no está diseñado para pruebas automatizadas por naturaleza. Su importancia es proporcionar un conjunto de interfaces para que los desarrolladores puedan desarrollar fácilmente software que puedan usar personas discapacitadas, como programas de lectura de pantalla (cuando el mouse se mueve hacia el botón, puede hacer un sonido, para ayudar a las personas con discapacidad visual a operar computadoras), haciendo realidad el sueño de Microsoft de popularizar las computadoras para todas las familias. MSAA es principalmente una tecnología basada en COM. Utilice IAccessible para representar la información de los elementos de la interfaz de la interfaz de usuario. Se proporcionan API como AccessibleObjectFromWindow para obtenerlo. MSAA puede consultar información de elementos, como información de elementos en una ubicación específica. Regístrese para eventos para recibir notificaciones cuando cambie la información del elemento. Por ejemplo, cuando un botón está deshabilitado o cambia una cadena. Manipular elementos de la interfaz, como botones, cuadros desplegables, menús, etc.
Ventajas: en comparación con la API de Windows, los usuarios solo necesitan tratar con IAccessible, la información de control que se puede obtener a través de esta interfaz es relativamente rica y no es necesario realizar la operación básica a través de Windows Message. Otra gran ventaja es el soporte de controles personalizados. Por supuesto, no significa que al desarrollar y escribir un control personalizado, MSAA pueda identificar este control, sino que cuando los desarrolladores implementan controles personalizados, se puede implementar la interfaz IAccessible, y a través de esta interfaz, se exponen algunas propiedades y operaciones, y los probadores pueden usar este control como un control estándar y automatizarlo a través de MSAA. Parece un poco engorroso, pero al menos brinda la posibilidad de automatizar controles personalizados.

Desventajas: intrínsecamente insuficiente, MSAA nunca se ha diseñado para pruebas automatizadas, por lo que no considerará las necesidades de las pruebas automatizadas, y la información de control obtenida es más que la API de Windows, pero todavía está lejos de ser suficiente en comparación con las necesidades de las pruebas automatizadas. , y solo se admite una operación básica, y otras operaciones deben pasar a través de Windows Message. Además, después de que Microsoft lanzó WPF, las limitaciones de MSAA se hicieron cada vez más obvias (esto también se debe a que las propiedades de control de WPF son más completas, más personalizables y más gratuitas, lo cual es difícil de describir con MSAA), que es una de las razones por qué Microsoft lanzó UIAutomation.
Cómo funciona: La aplicación que brinda la información se llama Servidor, es la encargada de manejar la notificación del evento NotifyWinEvent, obtiene la información del elemento WM_GETOBJECT. El servidor devuelve información del elemento a través de IAccessible. El cliente puede obtener IAccessible a través de AccessibleObjectFromWindow, AccessibleObjectFromPoint, AccessibleObjectFromEvent, accNavigate, get_accParent.
3. Automatización de la interfaz de usuario de UIA

UIA es una nueva generación del marco de Accesibilidad de Microsoft, que es compatible con todos los sistemas operativos que admiten WPF. UIA proporciona acceso programático a la mayoría de los elementos de la interfaz de usuario. Abstrae las propiedades comunes de la mayoría de los marcos de interfaz de usuario, como la propiedad Contenido de los botones WPF, la propiedad Título de los botones Win32 y la propiedad ALT de las imágenes HTML, todas las cuales están asignadas a la propiedad Nombre de UIA. Además, UIA también es compatible con MSAA. En términos de arquitectura, cuando UIA apunta a controles estándar, llama a MSAA Server a través de UI Automation Proxy, que básicamente cubre las funciones de MSAA.
inserte la descripción de la imagen aquí
Automatización de la interfaz de usuario de UIA
4. JAB

JAB (Java Access Bridge) es principalmente un marco que proporciona información de elementos para aplicaciones Java. Principalmente destinado a lectores de pantalla u otros programas de control secundarios. Usando JAB, podemos acceder a programas comerciales desarrollados por fabricantes como las aplicaciones de la serie Oracle, Kingdee y UFIDA.
5. SAP

SAP proporciona un motor de secuencias de comandos para la automatización de la interfaz de usuario. SAP Scripting Engine es una interfaz basada en COM que proporciona el soporte integral de secuencias de comandos de SAP. El parámetro sapgui/user_scripting debe establecerse en TRUE en la transacción RZ11.
6. Canal virtual de Citrix

Citrix proporciona un mecanismo de canal virtual para satisfacer las necesidades de comunicación entre el cliente y el servidor. Usando Virtual Channel, podemos enviar comandos arbitrarios a los escritorios virtuales de Citrix y obtener la información necesaria para el negocio. Citrix se implementa en base al protocolo ICA (Independent Computing Architecture).
inserte la descripción de la imagen aquí
Canal virtual de Citrix
7. Canal virtual RDP

RDP (Remote Desktop Protocol) es un protocolo de escritorio remoto desarrollado por Microsoft. RDP también proporciona un mecanismo de canal virtual para satisfacer las necesidades de comunicación entre el cliente y el servidor.
inserte la descripción de la imagen aquí
Canal virtual RDP
8. Control del navegador

Selenium: un marco de control de navegador de código abierto compatible con la mayoría de los navegadores. La mayoría de los rastreadores web del mercado están implementados con Selenium. Además, Selenium es muy amigable con los lenguajes de programación y admite el acceso de la mayoría de los lenguajes de programación. Pero... Selenium es tan famoso que muchos sitios web comerciales han realizado muchas operaciones antiautomatización para Selenium, lo que conduce a procesos de verificación como códigos de verificación y formularios de verificación aleatorios cuando Selenium opera páginas web. Además, Selenium no es muy compatible con IE.
Automatización de IE: MSHTML/Trident - interfaz IWebBrowser2. El navegador IE utiliza el motor de navegador Trident, que fue lanzado en 1997 por IE4. Automatice la manipulación proporcionando la interfaz IWebBrowser. IE11 en Windows 10 detuvo el mantenimiento el 2022-06-15.
Extensión de Chrome: una extensión del navegador Chrome es una tecnología que permite a los desarrolladores personalizar la experiencia del usuario. Se pueden utilizar tecnologías web como HTML, CSS, JavaScript para personalizar la experiencia de navegación.
CDP (Protocolo Chrome Devtools): El protocolo DevTools es un protocolo de comunicación compatible con Chrome, Chromium o cualquier navegador basado en el motor Blink. El protocolo puede inspeccionar, depurar, monitorear, etc. el navegador. Blink es el motor de renderizado de Chromium.

  1. automatización de oficinas

La automatización de Microsoft Office se realiza principalmente a través de la interfaz IDispatch de la tecnología COM. A través de IDispatch, podemos automatizar con cualquier lenguaje que admita llamadas COM, como Python, VBS, etc.

Supongo que te gusta

Origin blog.csdn.net/weixin_57291105/article/details/131846868
Recomendado
Clasificación