Categorías
Herramientas

iMacros Review: Tutorial para automatizar tareas

Querido amigo, si estas hasta las pelotillas ⚽?? de repetir una misma tarea miles de veces, esa tarea que dices jod… otra vez… Hoy te voy a dar una gran noticia: ¡Esto se ha acabado! Voy a presentarte una extensión que os ayudará a automatizar todas estas tareas repetitivas que nos llevan de cabeza.

Esta extensión se llama iMacros, no es más que un addon para el navegador en el que podremos crear macros y automatizar cualquier tipo de tarea que podamos realizar en el navegador. Algunos ejemplos de uso de iMacros es el poder rellenar formularios que tenemos que repetir, realización de auto publicaciones, realizar capturas de diferentes urls, conseguir puntos en addmefast y mucho más.

automatizacion tareas

En esta guía te voy a explicar cómo instalar esta extensión, las diferentes formas de grabación y ejemplos prácticos de 3 usos de iMacros.

Cómo instalar iMacros en el navegador

Para poder utilizar esta extensión debemos tener instalado uno de estos dos navegadores web: Mozilla Firefox o Google Chrome. Personalmente recomiendo utilizar Firefox ya que iMacros no funciona al 100% en Google Chrome.

Cuando ya tengamos el navegador web, pasamos a instalar el addon para el navegador:

Descargar iMacros para Firefox

Descargar iMacros para Chrome

Descargamos la extensión gracias a los enlaces anteriores, instalamos y reiniciamos el navegador, ya tendremos listo iMacros 🙂

Ahora nos aparecerá el icono de iMacros en la barra de herramientas en Firefox, hacemos clic en el icono de iMacros y se nos abrirá un panel en el lado izquierdo del navegador.

addon firefox imacros

El panel de iMacros esta dividido en una pequeña ventana en la parte superior del panel donde podemos visualizar los ficheros de nuestras tareas automatizadas y una ventana en la parte inferior del panel donde podremos reproducir, grabar y editar cualquier tarea automatizada.

En la parte inferior nos encontramos con las siguientes pestañas:

  • Pestaña Ejecutar: En esta pestaña encontramos los botones “Ejecutar”, “Pausa”, “Detener” y “Ejecutar (Bucle)”, con estos 4 botones podemos empezar, detener y pausar la macro seleccionada.
  • Pestaña Grabar: La etiqueta Grabar podremos registrar todos nuestros movimientos en el navegador web por ejemplo cuando abrimos una ventana, cuando hacemos clic en cualquier botón, cuando rellenamos un campo de un formulario, etc.
  • Pestaña Manage: La última pestaña contiene botones para poder compartir las macros, actualizar la lista de macros, opciones de las macros y opciones de ayuda.

Modos de grabación de tareas

La pestaña de grabar es la que más opciones tiene y la que más utilizaremos, en esta pestaña grabaremos todos los movimientos y acciones que realicemos en el navegador. Dependiendo que se quiera grabar podremos utilizar diferentes modos de grabación.

Para cambiar de modo de grabación dentro de la pestaña “Grabar” pulsamos el botón “Record options” y nos aparecen las siguientes opciones de grabación:

Opciones grabacion imacros

  1. Seleccionar la mejor manera de grabación automáticamente: Este es el modo predefinido ya que es el más recomendado para webs en HMTL. Este modo encuentra las diferentes atributos en elementos como ID, NAME, Text, HREF, etc. para seleccionarlos y grabarlos de la mejor forma que considera iMacros.
  1. Modo de grabación de eventos: Es el último comando para automatizar controles web que el clásico comando TAG de iMacros no puede automatizar. Este modo de grabación es para usuarios avanzados.
  1. Modo convencional de grabación
  1. Coordenadas X/Y: Con esta opción se grabará las coordenadas XY de la ventana donde se clica.

Casos prácticos de automatización de tareas con iMacros

Después de ver cómo instalar iMacros y las diferentes maneras de grabación, vamos a realizar unos ejemplos para ver cómo funciona esta extensión de automatización.

Mencionar que las macros creadas con el modo de grabación tienen una extensión *.iim que sólo tendrá sentencias de iMacros, pero también podemos ejecutar ficheros con extensión *.js en los que podemos utilizar comandos de iMacros y el lenguaje de programación JavaScript.

Vamos al lio:

giphy

Cómo dar FAVs automáticamente (Dificultad baja)

El primero caso práctico tiene una complejidad baja, la funcionalidad de esta macro será dar FAVs a tantos tweet cómo queramos. Para esta macro, utilizaremos la siguiente macro que dará 5 FAV a los 5 primeros tweets del timeline:

VERSION BUILD=8940826 RECORDER=FX
TAB T=1
URL GOTO=https://twitter.com/
TAG POS=1 TYPE=BUTTON ATTR=TXT:Megusta
WAIT SECONDS=2
TAG POS=2 TYPE=BUTTON ATTR=TXT:Megusta
WAIT SECONDS=2
TAG POS=3 TYPE=BUTTON ATTR=TXT:Megusta
WAIT SECONDS=2
TAG POS=4 TYPE=BUTTON ATTR=TXT:Megusta
WAIT SECONDS=2
TAG POS=5 TYPE=BUTTON ATTR=TXT:Megusta
WAIT SECONDS=2

Cómo leer urls de un csv (Dificultad media)

Con este segundo caso leeremos fila a fila de un fichero csv todas las filas y se imprimirán por ventana. Hay que tener en cuenta que este fichero será con la extensión *.js ya que utilizamos sentencias de javascript como por ejemplo el bucle for:

var load;
load =  «CODE:»;
load +=  «SET !DATASOURCE urlsAEliminar.csv» + «\n»;
load +=  «SET !DATASOURCE_COLUMNS 1» + «\n»;
load +=  «SET !DATASOURCE_LINE {{i}}» + «\n»;
load +=  «PROMPT {{!COL1}}» + «\n»;
for(i=1;i<4;i++) {
iimSet(«i»,i);
iimPlay(load);
siteName = iimGetLastExtract(0);
}

Para ejecutar esta funcionalidad, necesitamos copiar este código dentro de un fichero con extensión js y guardarlo dentro de la carpeta de Macros donde podremos ejecutarlo. También necesitaremos crear un fichero csv con todas las urls fila a fila y guardarlo en la carpeta de Datasources de iMacros.

Cómo desindexar diferentes urls automáticamente (Dificultad alta)

Pasamos ya al último nivel en el que combinamos la grabación de la acción de eliminar url de Google Webmaster Tools con el script anterior en el que leemos las urls de un fichero csv. Pero, ¿con esto que conseguimos? Con esta combinación logramos poder automatizar la tarea de enviar a la Search Console de Google la eliminación de las urls que queremos desindexar.

var load;
load =  «CODE:»;
load +=  «SET !DATASOURCE urlsAEliminar.csv» + «\n»;
load +=  «SET !DATASOURCE_COLUMNS 1» + «\n»;
load +=  «SET !DATASOURCE_LINE {{i}}» + «\n»;
load +=  «TAG POS=2 TYPE=DIV ATTR=TXT:Ocultar<SP>temporalmente» + «\n»;
load +=  «TAG POS=1 TYPE=INPUT:TEXT FORM=ID:newremovalform ATTR=ID:urlt CONTENT={{!COL1}}» + «\n»;
load +=  «TAG POS=1 TYPE=INPUT:BUTTON FORM=ID:newremovalform ATTR=NAME:urlt.submitButton» + «\n»;
load +=  «TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:the-form ATTR=ID:submit-button» + «\n»;
load +=  «WAIT SECONDS=» + Math.round(Math.random()*(5-3)+parseInt(3)) + «\n»;
for(i=1; i<=41; i++) {
iimSet(«i»,i);
iimPlay(load);
siteName = iimGetLastExtract(0);
}

Conclusiones

Desde mi punto de vista es una de las extensiones más útiles que he encontrado ya que nos permite realizar ‘todo’ lo que queramos dentro de un navegador web con infinitas posibilidades de automatización de tareas. En los próximos posts publicaré javascripts para iMacros que realizan tareas muy útiles y espero que os sirvan y ayuden 😉

Ahora sólo queda poner el piloto automático de tu trabajo y ahorrar tiempo que podemos emplear en otras tareas.

Espero que os haya gustado esta herramienta y automaticéis la compartición del post ?

bender aplausos

¡Haz clic para puntuar esta entrada!
(Votos: 4 Promedio: 5)

23 respuestas a «iMacros Review: Tutorial para automatizar tareas»

Buenos días. Gusto en saludarte.
Me he encontrado con tu post sobre iMacros el cual en estos momentos estoy investigando para automatizar el proceso de documentación de aplicaciones web para mi trabajo. Comentas que estarás subiendo algunos scripts para facilitar tareas, ¿dónde los puedo ubicar? ¿algún tutorial de javascripts que me puedas recomendar? ya que estoy retomando nuevamente la programación y los js no han sido mi fuerte. Gracias de antemano por la ayuda que me puedas brindar. Saludos.

hola David, muy bueno tu doc, pero no logro hacer correr el Currente.imm, me da mensaje de
»
La dirección no resulta comprensible

Firefox no sabe cómo abrir esta dirección, porque uno de los protocolos siguientes (imacros) no está asociado con ningún programa o no está permitido en este contexto.

Podría necesitar instalar otro software para abrir esta dirección.

Te agradezco si me podes guiar para resolverlo
Muchas gracias.

Excelente tutorial, alguien me puede ayudar a como garantizar que se seleccione un icono que tiene forma de imagen. Es que cuando lo selecciono grabando el macro si lo hace (y de hecho no se registra que lo hizo) pero al correr el macro e ir viendo lo que hace no lo selecciona 🙁

Buenas Alan,

¿Me podrías decir que icono es? Puede ser que sea una imagen, una clase de font awesome, dependiendo que tipo podrás hacer una selección u otra.

Saludos

Hola David, navegando por la web en busqueda de soluciones para imacro me cruzé con tu blog. Tengo dos consultas sobre el facebook peró las voy a dividir en dos comentarios diferentes así quedará todo más claro y más esquematico. Para lo que concierne la primera consulta, aprovecho la ocasión para compartir en ejemplo de imacro que permite hacer LIKE a un listado de posts de facebook que tienes que tener guardado en un archivo txt. Una vez tengas tu listado txt de URL de post de facebook a los que quieres hacer like, simplemente das clic a la siguiente macro i magicamente empiezan los LIKEs a materializarse. La macro funciona perfectamente, El unico problem es que si tengo un listado de 10 posts la macro encaja perfectamente. Pero si tengo un listado de 2 posts debido a que se trata de un LOOP la macro después de los 2 posts vuelve a hacer otra vez el LOOP, y otra vez más, y ota vez mas….. Tampoco pasa nada… simplemente vuelve a repasar los LIKE… Peró me gustaria saber si puedes hacer tu aportación a esta macro para dejarla perfecta. Para ello el codigo de la macro en lugar de decir hacer LOOP 10 veces (o 300 veces…) deberia de hacerlo hasta que se acabe el listado de URL del txt. Supongo que con una simple función «IF» se podria hacer. Por ejemplo diciendo algo como : «si no hay más linias de text (es decir más URL) te paras». No se, te dejo a ti que hagas tu aportación para saber si és possible que ese numerito i<=10 pueda llegar a ser variable i en funcion de las linias que hay en el txt.
Para que quede nadie se equivoque, en el listado txt solo tiene que estar la parte final de la URL. A continuación un ejemplo de listado de 2 URL (pero pueden ser 20 o 300…):

TruePlayInfo/posts/214487212609516
blackinsure/posts/229532237644359

La macro para hacer LIKE es la siguiente:

var FirstMacro = "";
FirstMacro = "CODE:";
FirstMacro += "TAB T=1" + "\n";
FirstMacro += "CLEAR\n"
FirstMacro += "URL GOTO=https://m.facebook.com/login/?ref=dbl&fl\n"
FirstMacro += "TAG POS=1 TYPE=INPUT:TEXT FORM=ID:login_form ATTR=ID:m_login_email CONTENT=myemail@myemail.com\n"
FirstMacro += "SET !ENCRYPTION NO\n"
FirstMacro += "TAG POS=1 TYPE=INPUT:PASSWORD FORM=ID:login_form ATTR=NAME:pass CONTENT=MICONTRASSENYA\n"
FirstMacro += "TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:login_form ATTR=NAME:login\n"

var SecondMacro = "";
SecondMacro = "CODE:";
SecondMacro += "TAB T=1" + "\n";
SecondMacro += "SET !ERRORIGNORE YES" + "\n";
SecondMacro += "SET !TIMEOUT_PAGE 10" + "\n";
SecondMacro += "SET !DATASOURCE uidfb.txt" + "\n";
SecondMacro += "SET !DATASOURCE_COLUMNS 1" + "\n";
SecondMacro += "SET !DATASOURCE_LINE {{LOOPNUM}}" + "\n";
SecondMacro += "URL GOTO=https://m.facebook.com/{{!COL1}}" + "\n";
SecondMacro += "WAIT SECONDS=2" + "\n";
SecondMacro += "TAG POS=1 TYPE=A ATTR=TXT:Like" + "\n";
SecondMacro += "WAIT SECONDS=2" + "\n";

iimPlay(FirstMacro);

for(var i=1; i<=10; i++)
{
iimSet("LOOPNUM", i)
iimPlay(SecondMacro);
}

Como puedes ver, se trata de 2 submacros. Si por lo tanto tienes dos perfiles de facebook y quieres hacer me gusta a los mismos post, simplemente tienes que copiar la macro otra vez (indicando third macro y quarter macro…) y cambiar el usuario y la password.

Esto es todo. Ahora dejo a ti que hagas tu aportación.
Te agradezco de antemano por tu colaboración.
Un saludo

Hola david. En este segundo mensaje mensaje quisiera construir una macro para automatizar unos comentarios a unos determinados posts.
Las soluciones pueden ser de dos tipos:

SOLUCION A: las URL de los posts a comentar y el texto de los comentarios se encuentran en el mismo archivo por ejemplo de la siguiente manera
TruePlayInfo/posts/214487212609516
Me gusta este post
blackinsure/posts/229532237644359
este post es muy interesante

SOLUCION B: las URL de los posts a comentar se encuentra en un txt y el texto de los comentarios se encuentra en otro txt. El resultado sería:
Text con URL de los post:
TruePlayInfo/posts/214487212609516
blackinsure/posts/229532237644359

txt con los comentarios:
Me gusta este post
este post es muy interesante

Peró desgraciadamente me he topado con un problema que va más allá de lo que es decidir si utilizar la SOLUCION A o la B.
Te explico. Para poder construir la macro he hecho una grabación de mi pantalla con imacro simulando el resultado que queria obter. La macro que he grabado es la siguiente:

TAB T=1
URL GOTO=https://m.facebook.com/TruePlayInfo/posts/214487212609516
TAG POS=1 TYPE=SPAN ATTR=TXT:Comment
TAG POS=1 TYPE=TEXTAREA FORM=ACTION:https://upload.facebook.com/_mupload_/ufi/mbasic/advanced/?ids&photosrc=advanced_composer_comment&lpwfwef&ft_ent_identifier=214487212609516&gfid=AQCtmC7_89hnsyPD&av=100008108351227 ATTR=NAME:comment_text CONTENT=Megustaestepost

TAB T=1
URL GOTO=https://m.facebook.com/blackinsure/posts/229532237644359
TAG POS=1 TYPE=SPAN ATTR=TXT:Comment
TAG POS=1 TYPE=TEXTAREA FORM=ACTION:https://upload.facebook.com/_mupload_/ufi/mbasic/advanced/?ids&photosrc=advanced_composer_comment&lpwfwef&ft_ent_identifier=229532237644359&gfid=AQDn_UQF33fC2PdO&av=100008108351227 ATTR=NAME:comment_text CONTENT=estepostesmuyinteresante

Como puedes ver el codigo FORM=ACTION es diferente en los dos posts. Más concretamente hay una parte de codigo que si se puede deducir (ID del post, e ID del perfil). Pero hay otra parte del codigo que es totalmente aleatoria:
AQCtmC7_89hnsyPD&av=
AQDn_UQF33fC2PdO&av=

Así que mi pregunta es si hay alguna solución a esto. Si hay una solución podriamos intentar redactar la macro sobre la base de la macro que te proporcioné en el comentario anterior. Al cabo y al final desde mi ignorancia creo que solo se trata de añadir un par de lineas de codigo. Pero hablo desde la ignorancia…
Quedo a la espera de tu respuesta.
Un saludo.

Pues me acabo de enterar de este programita. Seguramente le de mucho uso para mi empresa! Muchas Gracias!

Hola buenos dias!

Tengo una duda, hay alguna meanera de hacer que el menu de imacros no cambie de medida, parece que al cambiar el anuncio que sale en la parte de abajo se modifica la medida del menu de play. Hay alguna manera de que se quede en la misma medida’

Eres grande David, grandes post para ir más allá de lo común y remachacado en todos lados, como se nota la escuela TP que tienes detrás, Un saludo desde Valencia, excelente aporte este y otros muchos!

Hola buen día David, tengo una duda, ¿Hay alguna forma de que IMacros se pueda usar en conjunto con Excel?

Buenas Wilson,

Por supuesto, puedes utilizar la carpeta Datasources donde puedes almacen un excel en csv y leer y escribir los datos,

Saludos

Hola David,
Me podrías decir cómo hacer que imacros rellene una casilla con por ejemplo el texto casa12 y luego vuelva a rellenar con el texto casa13, casa14, etc

Saludos

Victor lo que pregunta puede hacerse de la siguiente manera:

sitio donde vas a rellenar
URL GOTO=https:/ /siaper.contraloria .cl/siaper/siaper/serpub/SEPBusFun.do

el siguiente es la ruta en la cual tienes el archivo con extensión csv que va a tener los datos a rellenar

SET !DATASOURCe D:\Users\ncastroa\Desktop\pjuridica\Sregistro.CSV

‘WAIT SECONDS=5

‘ la ubicación en la web
TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:auxRut CONTENT={{!COL1}}

Hola Rafa,

Puedes crear un pause cada 30 minutos cuando finalice la ejecución del iMacros,

Un saludo

Me gustaria llenar un formulario automaticamente para conseguir una cita en x lugar, pero quiero que se repita mientras el mensaje resultado contenga «XXXXXX» ya que indicara que aun no hay citas por lo cual necesito seguir repitiendo. me ayudas con eso? gracias!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *