CÓMO HABILITAR LAS APLICACIONES POCO SEGURAS EN GMAIL

Para poder enviar y recibir correos en Gmail desde Rocketbot, es necesario habilitar el acceso a aplicaciones poco seguras, para esto, se realizan los siguientes pasos:

1.- Dar click en la imagen de tu cuenta de Gmail.

2.- Luego dar click en “Cuenta de Google

3.- Click en “Seguridad

4.- Ir al apartado  “Acceso de aplicaciones poco seguras” y dar click en “Activar acceso

5.- Finalmente activar “Permitir el acceso de aplicaciones poco seguras




TIPS COMANDOS ROCKETBOT

FECHAS

MODIFICAR FORMATO DE UNA FECHA CON PYTHON

Variable: fecha: 2019-04-01

Comando "Asignar Variable": 

datetime.strptime("{fecha}", '%Y-%m-%d').strftime('%d.%m.%Y')

Resultado: 01.04.2019


MODIFICAR FORMATO DE UNA FECHA CON JAVASCRIPT

Variable: fecha

Comando "Ejecuta JS":

fecha = "06/12/2018"
fecha = fecha.split("/").reverse().join("");
return fecha;


FECHA DE HOY CON FORMATO

Comando “Asignar Variable”

datetime.now().strftime("%d/%m/%Y %H:%M:%S")

Obtener el día actual (número)

datetime.today().weekday()

Lunes = 0
Martes = 1
Miércoles = 2
Jueves = 3
Viernes = 4
Sábado = 5
Domingo =6

 


RESTAR DOS HORAS

 

Comando "Asignar Variable":

 

datetime.strptime("{hora1}", "%H:%M:%S") - datetime.strptime("{hora2}", "%H:%M:%S")

 

 

 


ÚLTIMO DÍA DEL MES CON SCRIPT PYTHON

Variables:

Archivo last_day.py

Con GetVar estamos trayendo la información de las variables "mes" y "anio" que tenemos declaradas en Rocketbot.

Con SetVar estamos seteando a la variable "resultado" que tenemos declarada en Rocketbot, el valos que nos entrega calendar.monthrange.

 

Resultado:


DÍA LABORAL ANTERIOR

Comando "Asignar Variable":

datetime.today() - timedelta(days={days_delta}[datetime.today().weekday()])

variable:
time_delta =
[2,3,1,1,1,1,1]


OMITIR ALERT DEL NAVEGADOR POR JS

Comando "Ejecuta JS":

alert = function(a){console.log(a)}

opción 2:
alert = console.log


SEPARAR LETRAS Y NÚMEROS DE VARIABLE

Variables de ejemplo

var = 1234567MANDATO
var_num -> donde se guardarán los números
var_letras -> donde se guardaran las letras

Validar si es dígito:

Validar si es letra:

Resultado:

 


DEJAR SOLO EL NÚMERO

Variables:

Comando "Asignar variable":

"".join([ b for b in "{valor}"  if b.isdigit() ])

 

Resultado:

 


LEER UN ARCHIVO .TXT Y ASIGNARLO A UNA VARIABLE

Comando "Asignar Variable":

open("C:/Users/User/Desktop/archivo.txt").read()

Resultado:


ELIMINAR ACENTOS

Tenemos una variable con acento (var), en este caso pasaremos el resultado a var2 para ver el cambio, pero se podría pasar directamente a la misma variable.

Variables:

Comando "Asignar Variable":

unicodedata.normalize('NFKD', "{var}").encode("ascii", "ignore").decode()

Resultado:


OMITIR VENTANA DE CONFIRMACIÓN DEL NAVEGADOR

Comando "Ejecuta JS":

window.confirm = function () { return true }

O con el módulo: AcceptAlert


MODIFICAR DATOS DE UN ARRAY

Variable con Array:

 

Modificar posición 1 ("Mantenedores") por la palabra "nuevo_valor"

Comando "Asignar Variable":

Se indica que primero tome desde la posición 0 a la 1 (se excluye el valor de la posición 1, 'Mantenedores'), luego que agregue "nuevo_valor" y que continúe desde la posición 2 en adelante y se asigna a la variable "dato" .

Resultado:


CREAR ARRAY Y AÑADIR VARIABLES

Crear variable con []

Comando "Asignar Variable":

{array}.__add__(["{dato1}","{dato2}"])

 

Resultado:

Otra forma:{array} + ["{dato1}","{dato2}"]


ELIMINAR DATOS DE ARRAY 

 

Comando Asignar Variable

*Eliminar datos de un array indicando la posición:

Resultado:

 

*Eliminar datos de un array indicando el valor:

 

 

Resultado:

 

 


ABRIR “EJECUTAR” DE WINDOWS

 

Comando "Enviar Tecla":

^{ESC} Ejecutar {ENTER}

 

Resultado:

 

O con el módulo: Enviar Teclas Predefinidas


SETEAR UN ATRIBUTO A UN ELEMENTO

 

Comando "Ejecuta JS":

document.getElementsByClassName("r4nke ")[10].setAttribute("tag","prueba")


DAR CLICK A UN ELEMENTO POR SU QUERYSELECTOR

 

Comando "Ejecuta JS":

document.querySelectorAll('[data-date="20190529"]')[0].click()

ó

document.querySelector('[data-date="20190529"]').click()


MARCAR UN CHECKBOX POR SU ÍNDICE

 

Comando "Ejecuta JS":

$("input[type=checkbox]").eq(0).prop("checked",true);

MARCARLOS TODOS:

$("input[type=checkbox]").prop("checked",true);

DESMARCARLOS TODOS:

$("input[type=checkbox]").prop("checked",false);

DAR CLICK A TODOS (MARCA Y DESMARCA):

$(":checkbox").click();

DAR CLICK AL ÚLTIMO:

$(":checkbox").last().click();


SABER SI UN CHECKBOX ESTÁ MARCADO O NO

Inspeccionar el checkbox:

Obtener el selector:

Click derecho -> copiar -> copiar selector

 

Comando "Ejecuta JS":

return document.querySelector('SELECTOR_COPIADO').cheched

Ejemplo:

Retornar el resultado a una variable, en este caso “checkbox”, al ejecutarlo obtendremos un True o False, dependiendo de si está marcado o no

Para decodificar (sacar la b')

Resultado:

 


 

PARA MARCAR UN CHECK DEPENDIENDO DEL VALOR

 

Ejemplo:

Necesitamos marcar el checkbox si la fecha es igual a "2019-07-02"

Comando "Ejecuta JS":

$('td:contains(2019-07-02)').last().parent().find('input').prop('checked',true).change()

 

Resultado:


CLICK EN UN BOTÓN SUBMIT

Comando "Ejecuta JS":

$(":submit").click()


GUARDAR EN UNA VARIABLE EL STATUS (RESPUESTA) DEL COMANDO EJECUTADO

 

Comando "Asignar Variable":

%rocketbot_last_status%

Ejemplo:

Abrir navegador y obtener la respuesta en la variable {res}

Resultado:


CREAR UNA CARPETA DESDE ROCKET

 

Comando "Asignar Variable":

os.mkdir("C:/el/path")


COPIAR VALOR DE UNA VARIABLE AL PORTAPAPELES

 

Comando “Asignar Variable”

Windows:

os.system("echo {variable} | clip")

MAC:

os.system("echo {variable} | pbcopy")

o con el módulo para Windows: Portapapeles


OBTENER CURRENT WORKING DIRECTORY

 

Comando “Asignar Variable”:

os.getcwd()


OBTENER NOMBRE DE ARCHIVO DE UN PATH

 

Variables:

Comando "Asignar Variable":

os.path.basename(r"{path}")

Resultado:


COMANDO DETENER

 

El comando Detener, si está en un hijo, detendrá ese Robot y continuará con los pasos del Padre.

Si está dentro de un if detiene el if y todo el robot.


CUANDO HAY EVENTOS CHANGE Y NECESITAMOS ACTIVAR EL CAMBIO DEL VALOR

Ejemplo:

*Por ejemplo esta fecha, al cambiar el value con JS lo modificaba pero no “activaba” la búsqueda, para eso, podemos realizar lo siguiente con JQuery y utilizar change():

 

Comando "Ejecuta JS":

$('input[class="form-control ng-pristine ng-untouched ng-valid ng-isolate-scope ng-valid-required ng-valid-date"]').val('{fecha}').change()


REQUEST API

 

Si se realiza un GET en un script Python y arroja este error:

 

('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

 

En el Script se debe agregar el "User-Agent":

 

headers = {

   'User-Agent': 'My User Agent 1.0',

}

data = requests.get(URL_, headers=headers)

data = data.json()


MINIMIZAR TODO PARA MOSTRAR EL ESCRITORIO (WINDOWS)

 

Comando "Enviar Tecla":

{VK_LWIN down}D{VK_LWIN up}

o con el módulo: Enviar Teclas Predefinidas


EN EXCEL AL OBTENER CELDA CON NÚMEROS LOS TRAE COMO FLOAT

Validar si termina en .0 para hacer un "replace"

 

Validamos si la respuesta en {var2} es True, y si es reemplazamos el .0 por nada

 

Secuencia:


VALIDAR CONEXIÓN A INTERNET

 

Comando "Ejecuta JS":

return navigator.onLine

 

Devuelve True o False.


REALIZAR SCROLL

 

Comando "Ejecuta JS"

window.scrollTo(0,500);

*500 px horizontalmente

o con el módulo: WebPro


OBTENER EL TOTAL DE FILAS DE UNA TABLA

 

Comando "Ejecuta JS":

document.getElementsByClassName('tabla_indicadores')[4].getElementsByTagName("tr").length;

*Donde tabla_indicadores es la clase de la tabla de la cual queremos obtener las filas.


SELECCIONAR UNA OPCIÓN DE UN SELECT EN BASE A UNA VARIABLE

 

Comando "Ejecuta JS":

$(‘span:contains({var})’).click()


ENVIAR EMAIL CON ACENTOS DESDE UN ROBOT HIJO

 

Para los tildes y eñes, deberíamos colocar el texto según estas opciones:

á -> á

é -> é

í -> í

ó -> ó

ú -> ú

ñ -> ñ

 

Ejemplo con el módulo del Gmail:

Correo:


ELIMINAR LOS NONE DE UNA LISTA

 

En Script Python:

 

test_list = [1, None, 4, None, None, 5, 8, None] 

# printing original list  

print ("The original list is : " + str(test_list))  

# to remove None values in list 

res = [] 

for val in test_list: 

    if val != None : 

        res.append(val)


Modificar texto para que empiece con letra mayúscula:

Comando: "Asignar Variable"

Resultado:




CREAR TAREA PROGRAMADA (Task Scheduler)

Requisito: Contar con licencia de producción.

Desde el entorno gráfico Windows

1.- Crear un .bat con la ruta donde está instalado Rocketbot, seguido de la instrucción -start= más el nombre del robot a ejecutar, ejemplo:

Archivo robot.bat:

cd C:\ruta\rocketbot\
rocketbot.exe -start=nombre_del_robot

 2.- Abrir Task Manager

3.- Clickear “Create Task” para crear una nueva tarea

4.- En “Name”, colocar el nombre que tendrá la tarea y marcar “Run with highest privileges”.

5.- Vamos a la pestaña “Triggers” y presionamos en “New”.

6.- Esto abrirá la siguiente ventana, donde en “Settings” configuramos cada cuanto queremos que se ejecute la tarea (una vez, diariamente, etc) y en “Start” ponemos la fecha de inicio y la hora en que queremos que se ejecute.

7.- Luego ir a la pestaña “Actions” y dar click en “New

8.-  Esto abrirá la siguiente ventana, donde en “Program/Script”, buscamos el archivo .bat que creamos al inicio y presionamos “OK”

**Esto creará la tarea y aparecerá en el listado del Task Manager:

 

Si existieran problemas al iniciar el bot con la tarea programada, por ejemplo de que no encuentra la ruta a algún módulo o error de licencia, revisar lo siguiente:

 

Desmarcar “Ejecutar con los privilegios más altos”

 

En Acciones -> Editar

Agregar la ruta de Rocketbot en la opción “Iniciar en:”

 

 

Desde la CMD

  1. Abrir la CMD como administrador
  2. Escribir el siguiente comando:
    SCHTASKS /CREATE /SC <DATE> /TN "FOLDERPATH\TASKNAME" /TR "C:\SOURCE\FOLDER\APP-OR-SCRIPT" /ST HH:M

    donde <DATE> debes reemplazarlo por:

    1. Diario: DAILY
      SCHTASKS /CREATE /SC DAILY /TN "MyTasks\Notepad task" /TR "C:\Windows\System32\notepad.exe" /ST 11:00
    2. Semanal:  WEEKLY /D DIA
      SCHTASKS /CREATE /SC WEEKLY /D SUN /TN "MyTasks\Notepad task" /TR "C:\Windows\System32\notepad.exe" /ST 11:00
      
    3. Mensual: MONTHLY /D DIA
      SCHTASKS /CREATE /SC MONTHLY /D 15 /TN "MyTasks\Notepad task" /TR "C:\Windows\System32\notepad.exe" /ST 11:00
  3. Si deseas que la tarea programada se ejecute para un usuario específico, agregar al final lo siguiente:
    /RU USER-ACCOUNT


    Ejemplo:

    SCHTASKS /CREATE /SC DAILY /TN "MyTasks\Notepad task" /TR "C:\Windows\System32\notepad.exe" /ST 11:00 /RU admin
  4. Puedes encontrar más información de los comandos aquí: How create task using task scheduler command prompt

 

MacOs y Linux

  1. Crear un .sh con la ruta donde está instalado Rocketbot, seguido de la instrucción -start= más el nombre del robot a ejecutar, ejemplo:Archivo robot.sh:cd user/ruta/rocketbot/
    rocketbot -start=nombre_del_robot
  2. Abrir la terminal y ejecutar crontab -e. Esto debería abrir un archivo en vim. Ahí es donde se listarán las tareas programadas.
  3. En la pantalla de vim, presionar la tecla i para insertar un nuevo cronjob y colocar 0,15,30,45 * * * * cd ~/.carpeta && ./robot.sh, donde los primeros números representan la fecha en un formato que puedes crear acá crontab.guru
  4. Presionar la tecla esc y luego escribir :wq y listo! ya tienes tu tarea programada.



Captura de Pantalla

Desktop \ Captura de pantalla

Este comando te permite tomar una captura de pantalla de toda la pantalla principal y guardarla en una ubicación específica en tu computadora. Es útil para automatizar tareas que requieren tomar capturas de pantalla, como documentar problemas de software, crear tutoriales, verificar la resolución de pantalla actual o capturar información importante de la pantalla.

Dato de Entrada Descripción Ejemplo
Ruta donde guardar la captura PNG o JPG Ruta donde guardar la captura de pantalla. C:/Users/User/Documents/screenshot.jpg
Imagen de ejemplo

Video de Curso RPA comando Captura de Pantalla



Notificación

Desktop \ Notificación

Este comando se usa para mostrar notificaciones de escritorio. Las notificaciones de escritorio son pequeños mensajes emergentes que aparecen en la pantalla de tu computadora para proporcionar información o alertas.

Dato de Entrada Descripción Ejemplo
Icono del mensaje PNG o JPG (opcional) Ruta del icono de la notificación C:/Users/User/Downloads/icon.png
Título del mensaje Título de la notificación Notificación
Mensaje de la notificación Mensaje de la notificación Esto es una prueba!
Imagen de ejemplo

Video de Curso RPA comando Notificación



Enviar Tecla

Desktop \ Enviar Tecla

Envía texto o una tecla especial a la ventana que está en focus, solo se elige una de las dos opciones.

Datos de entrada Descripción Ejemplo
Texto Texto a escribir
Tecla especial Tecla especial a enviar ENTER
Repetir Cantidad de veces a repetir 1
Imagen de ejemplo

Para poder iterar varias veces la misma tecla, la sintaxis es la siguiente: {KEY 5}, donde “KEY” es lo que se quiere enviar, y “5” la cantidad de veces, se puede utilizar cualquier letra y las siguientes teclas (key):

KEY CODE
BACKSPACE {BACKSPACE}, {BS} or {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL or DELETE {DELETE} or{DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER} or ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS or INSERT {INSERT} or {INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}

💡Nota:
Si necesitamos la tecla contextual, la instrucción es la siguiente: {VK_APPS}
Para más información sobre combinaciones de tecla, revisar https://pywinauto.readthedocs.io/

Video de Curso RPA comando Enviar Tecla



Ejecutar Aplicación

Sistema \ Ejecutar Aplicación

Este comando permite ejecutar cualquier aplicación de nuestro equipo o también un script Python.
Podrás elegir dos modos de abrir la aplicación:

  • Modo Sincrónico: se abre la aplicación y se tiene el control sobre ella. Una vez que termine de cargar la aplicación recién se seguirá con las etapas del robot.
  • Modo Asincrónico: se abre la aplicación sin tener el control sobre ella y sin interrumpir las acciones del robot.

💡Nota:
Para ejecutar un script Python, en el campo ‘Ruta de archivo de la aplicación’ del comando escribimos python (o python3 en el caso que se tengan las dos versiones en el computador) y la URL del script que creamos.

Datos de entrada Descripción Ejemplo
Ruta de archivo de la aplicación Ruta de la aplicación a ejecutar o “python” y la ruta del script a ejecutar python3 /Users/pc/Documents/execute.py
Modo de apertura Seleccione entre Sincrónico o Asincrónico Sincrónico
Asignar resultado a variable Variable Rocketbot que retornará el output de la aplicación si es que tiene uno, de lo contrario quedará vacío {res}
Imagen de ejemplo

Video de Curso RPA comando Ejecutar aplicación en Windows
Video de Curso RPA comando Ejecutar aplicación en Mac



Esperar

Sistema \ Esperar

Este comando normalmente se usa junto con otros comandos. Ayuda a controlar el tiempo de su ejecución automatizada, asegurando que cada paso se ejecute en el momento adecuado.

Por ejemplo, puede usarlo antes de interactuar con una página web, dándole al navegador tiempo para cargarse completamente antes de continuar. También podría ocuparlo junto a el comando Enviar Tecla, esperando primero unos segundos para alcanzar a posicionar con el cursor en el lugar donde se desea insertar el texto enviado.

Datos de entrada Descripción Ejemplo
Segundos Segundos a esperar antes de seguir ejecutando el proceso 2

💡Nota:
Los segundos de espera son absolutos, no es una espera máxima. Se esperarán exactamente los segundos indicados.

Imagen de ejemplo

Video de Curso RPA comando Esperar



Control de ventanas – Maximizar

WEB \ Control de ventanas – Maximizar

Este comando solo se debe agregar, no posee opciones de entrada de datos.

Imagen de ejemplo

Video de Curso RPA comando Maximizar



Control de ventanas – Cambiar de navegador

WEB \ Control de ventanas – Cambiar de navegador

Para esto al momento de abrir el navegador le damos un identificador. Y con el comando Cambiar de navegador, le pasamos el id del navegador al que nos queremos cambiar.

Datos de entrada Descripción Ejemplo
Identificador ID del navegador que indicamos al abrir el navegador 1
Opciones default
Imagen de ejemplo

Video de Curso RPA comando Cambiar de navegador