Código Python
Código Python
Ejecuta un bloque de código Python personalizado dentro del flujo de automatización y retorna la salida producida. Ideal para escenarios que requieren bibliotecas científicas, de procesamiento de datos u otras funcionalidades nativas del ecosistema Python que no están disponibles en JavaScript.
Para que esta acción funcione, es necesario tener Python instalado en la máquina donde se ejecutará el robot.
Opciones
Código
Escribe el bloque de código Python que se ejecutará. Usa print() para definir el valor que retornará la acción: el retorno capturado es todo lo que se imprima en la salida estándar durante la ejecución.
Acceder a las salidas de acciones anteriores
El código Python se ejecuta como un proceso separado y no tiene acceso directo a las variables del flujo. Para pasar valores de acciones anteriores, usa la sintaxis de interpolación de JavaScript (${...}) directamente en el código: el valor se sustituye antes de que Python se ejecute:
# El valor de la acción anterior se inserta antes de que Python se ejecute
nome = "${actions['lerNome']['value']}"
codigo = "${actions['lerCodigo']['value']}"
print(f"Cliente: {nome} — Código: {codigo}")
Para valores numéricos o booleanos, la interpolación funciona directamente:
total = ${actions['calcularTotal']['value']}
print(total * 2)
Para objetos o listas, usa JSON.stringify para serializar y json.loads para deserializar en Python:
import json
dados = json.loads('${JSON.stringify(actions["consultarDados"]["value"])}')
for item in dados:
print(item["nome"])
Acceder a los parámetros del robot
Usa {{PARAMETROS.nombre}} para insertar un parámetro directamente en el código:
servidor = "{{PARAMETROS.servidor}}"
print(f"Conectando em: {servidor}")
Para secretos (parámetros marcados como contraseña), usa {{SEGREDOS.nombre}}.
La sintaxis ${...} la evalúa JavaScript antes de que Python se ejecute. Python recibe el código con los valores ya sustituidos: nunca ve el ${...}.
Retornos
Código Javascript
actions["id-de-la-accion"].value // salida producida por el código Python mediante print (Cualquiera)
Selección de campos
- value — contenido impreso por el código Python durante la ejecución (Cualquiera)
Reglas y Condiciones
- El campo Código es obligatorio.
- El retorno de la acción es el contenido impreso mediante
print()durante la ejecución. - Python debe estar instalado y configurado correctamente en la máquina donde se ejecuta el robot.
- Los errores de ejecución en el código Python interrumpen la ejecución del robot.
Usar bibliotecas externas
Roberty utiliza un Python propio (versión 3.8) y es posible instalar cualquier biblioteca mediante pip. Consulta el tutorial Instalar bibliotecas Python externas para el paso a paso completo.