-
Sección 0 - Introducción
-
Sección 1 - Instalación Rocketbot
-
Sección 3 - Creando un nuevo Bot
-
Sección 4 - Variables
-
Sección 5 - Web
-
Sección 6 - Excel
-
Sección 7 - Lógica
-
Sección 8 - Enviar información a archivo
-
Sección 9 - Email
-
Sección 10 - Robot Hijo
-
Sección 11 - Robot Final
Anterior
Mi primer Robot
Siguiente
Cuestionario
lilianars
Hola. Por algun motivo luego de ejecutar el aplicativo rocketbot no carga la página http://localhost:5000/#!/ y no puedo poner en práctica el curso.
Marcela Vergara
Hola!,
En qué navegador se está abriendo?, intenta ingresar esa url en Chrome.
Si el problema persiste te recomiendo visitar nuestro foro y realizar la pregunta allá adjuntando más información para responderte de forma más rápida, por ejemplo qué error te muestra en la consola cuando no te abre la url.
Link del foro: http://forum.rocketbot.co/
Saludos!.-
CamiloOrtiz
Se tiene alguna forma de ir guardando automaticamente? es que esta realizando el paso a paso de la sección y lamentablemente no habia guardado, y presioné F5 y se me desapareció todo lo que llevaba…. o de que forma se puede recuperar lo que se tenia… gracias
Marcela Vergara
Hola Camilo,
No va guardando automáticamente, porque a veces solo estamos realizando pruebas y no queremos que guarde esos cambios, por eso debemos dar click en el botón Guardar en BD o en archivo.
Si se te recargó la página lamentablemente no se puede recuperar.
Saludos.-
MPineda
Buen dia Marcela, como estas?
Una duda, con la funcion; re.sub mencionas que si 2 patrones se repiten con el simbolo $ solo quitas el ultimo repetido, pero si quiero quitar solo el .0 que aparece en medio o en cualquier punto de texto que no sea el final, como aplicaria?
Gracias!
Marcela Vergara
Hola Mario,
Depende de lo que quieras realizar, si por ejemplo quieres eliminar la primera coincidencia podrías utilizar:
re.sub(".0", "", "{var}", 1)
, si quieres eliminar cualquier .0 que encuentre puedes usar .replace().Te dejo info sobre el módulo re de python: https://docs.python.org/es/3/library/re.html
Saludos!.-
ronaldrios
Buen día Marcela si yo quisiera de la cadena de texto extraer solo una parte del texto y almacenarlo en una variable como lo podría hacer?
Gracias!
Saludos.
Marcela Vergara
Hola Ronald,
Puedes utilizar por ejemplo split o expresiones regulares para ir extrayendo distintas partes de tu texto y eso lo almacenas a una variable con el comando “Asignar Variable”, donde en Data ingresas la instrucción y en el input de abajo (asignar a variable) lo guardas en la que quieras.
JoseL
Si es una parte continua podrías utilizar “{variable}”[:i]. En este caso i seria el carácter final del que quieres copiar. Si la pones antes de los dos puntos entonces lo tomara de atrás para adelante… espero te sirva
josemedina
Hola Marcela, espero estés muy bien. Por favor, tengo una duda, sobre la sección 6 el ejercicio de ejecución del Java no lo pude hacer yo copio la instrucción desde google escribo return y pego la instrucción sin embargo al guardarla desparece todo lo que pegue y al ejecutar el comando el resultado que me da es “bnone”. Estoy usando Rocketbot en Windows 10 y trabajo todo en google chrome. Muchas gracias.
Marcela Vergara
Hola José,
Qué versión de Rocketbot tienes?, cuándo la descargaste?.
josemedina
Hola Marcela. Pienso que la última la descargué el lunes por la tarde.
Marcela Vergara
José,
Se corrigió eso en la versión de ayer, podrías por favor bajarla nuevamente, probar y nos comentas.
Saludos!.-
josemedina
Vale muchas gracias lo intento
josemedina
Perfecto Marcela. Muchas gracias.
Marcela Vergara
Super!
parraae
Es posible tener una lista de todos las comandos Python que si generen retorno de información que se puedan utilizar en Rocketbot en asignar variable?
Marcela Vergara
Hola parrae,
No tenemos una lista con comandos, pero puedes buscar métodos de python que no modifiquen la variable.
De todas formas, en la nueva versión de Rocketbot se agregó el comando Execute Python, el cual es una consola y ahí si puedes utilizarlos, ejemplo:
Tienes una variable
{res} = [3,2,4,1]
En Asignar variable no puedes hacer esto para ordenarla:
{res}.sort()
ya que el método sort muta la lista y no retorna un valor.
Pero en el nuevo comando si lo puedes utilizar, de la siguiente forma:
var = {res}
var.sort()
SetVar('res', var)
Con el SetVar estás guardando el valor ordenado en la misma variable {res}
nitzamartinez
Al final del video habiamos creado una lista desordenada de numeros. Podriamos entonces en el evento execute python
var = {lista}
var.sort()
SetVar(‘lista’, var)???
porque lo intente y no me tomo el comando para poder ejecutarlo.
Gracias
Marcela Vergara
Está correcto como lo realizas, qué error te muestra?
marcharrier
Hola, tengo un problema, al ejecutar en ésta clase Chorme, no abre pestaña y me dice el siguiente mensaje: Message: session not created: This version of ChromeDriver only supports Chrome version 84.
Alguna solución para ello?
Marcela Vergara
Hola Marcelo,
Si, eso sucede cuando se te actualiza el navegador, acá la solución: http://forum.rocketbot.co/question/error-al-abrir-google-chrome/#comment-90
Saludos!.-
Sthefania
Hola Marcerla, estoy iniciando el curso pero los videos no cargan rápido, avanzan menos de un minuto y se queda cargando intento desde varios computadores pero sucede siempre, alguna recomendación?
Marcela Vergara
Hola Sthefania,
Revisamos los videos pero cargan de forma fluida, puede ser tu ancho de banda, quizás hay más personas utilizando la misma red y cargando más cosas, o si tienes abierto algo que pueda consumir tu ancho de banda intenta cerrandolo (como utorrent o programas de intercambio de archivos por ejemplo).
Saludos!.-
itzaFernandez
Hola, el problema también lo tengo yo y mi conexión de internet esta bien y no hay anda más utilizando el ancho de banda, incluso esto mismo pasa con los cursos y otras secciones de la página de Rocketbot
rodo
No me aparece el botón guardar con las opciones guardar como… solo guardar…
rodo
ya lo vi, esta e noto lado. la versión del video no evoluciona con lo de la interfaz.
ivan.ferreira
¡Hola Marcela!
¿Es posible asignar una variable solicitando la entrada al usuario? Como el comando input() de python.
Jeferson Padilla Talaga
Hola, estaba ejecutando la asignación del texto con Js del ejercicio del banco central, pero al ejecutar el siguiente Js en rocketbot : “document.getElementsByClassName(‘mb-0 text-center’)[5].innerText” me retorna: b’None’, aunque en la consola si me devuelve el valor del dolar. al usar el .decode solo me queda None.
¿Por qué pasa esto?
user
Hola Jeferson,
En Rocketbot en JS, antes del document.. debes agregar el
return
, y seleccionar una variable en el input de abajo, para que guarde el valor.Johanvega
Hola marcela.
Estaba tratando de obtener el JS de una página diferente a la del banco para extraer el valor del dolar pero en la consola al digitar document.getelementbyclassname me aparece en la parte de abajo undefined no me arroja el resultado como se te presentaba en el video, esto se debe a algo en especial?
Johanvega
Es decir al digitar document.get… no se despliegan la lista con las opciones no se si me hago entender
Marcela Vergara
Hola Johanvega,
En qué página lo estás realizando?
Nelson Angel
Buenos dias
Marcela
Si yo tengo el siguiente texto: losdiasdelasemana
Quiero que ese texto me quede separado entre palabras asi: los dias de la semana
Como lo puedo hacer??
Muchas gracias
Saludos,
JOHANNA
Hola porque cuando anoto [num for num in {Number} if num%2==0] me genera el error invalid syntax (string, line 1)
Carlos Damian Loaiza Artunduaga
Hola, tengo una duda si quisiera generar una alerta con un elemento de una lista como puedo imprimir ese valor?
por ejemplo como podria poner generar la alerta con: elemento[0]
Intenté ponerlo como {elemento[0]} pero no lo imprime correctamente
Marcela Vergara
Hola Carlos,
No permite imprimirlo de esa forma, primero debes asignar {elemento}[0] a una variable, y esa variable la puedes poner en el comando de Alerta.
Sebastian
Buenas
No se por qué motivo cuando extraigo valores a una variable hay veces me dan y otra veces no alguien sabe que podría hacer ?
Marcela Vergara
Hola Sebastián,
Puede ser un tema de tiempos, agrega una espera con el comando
Esperar por Objeto
y tipo de espera “Visible”, antes de extraer los valores.RanfeDom
Hola, si necesito incrementar una variable en incrementos de 2 en 2, con que instrucción sería?
Marcela Vergara
Hola Ranfe,
Con el comando Asignar Variable puedes incrementar tus variables, en este caso sería
{var} + 2
, de esa forma irás sumando de 2 en 2.itello
Hola ningún comando me esta funcionando ¿alguna librería que deba importar?
Marcela Vergara
Hola itello,
Qué comando específicamente estás utilizando y qué instrucción?, qué error te indica?
IvanSilva
Hola buenas, tuve un problema al ejecutar JS en el minuto 14:45.
Al momento de rescatar la variable tal como se indica {return document.getElementsByClassName(‘mb-0 text-center’)[5].innerText} este me arroja el valor de la variable como {dolar = b’\n $789,62\n ‘}, y al aplicar el .decode la variable pasa a tener el valor {dolar = }
Si alguien me pudiese orientar sería de mucha ayuda, saludos!
IvanSilva
“dolar = “
IvanSilva
built-in method decode of bytes object at 0x0DA554E8
IvanSilva
Me fijé que faltaba en el .decode los paréntesis .decode(), problema solucionado
Marcela Vergara
Buenisimo Iván!
Fredy Vaquiro
Excelente como entrega la explicación, Gracias!
Marcela Vergara
Muchas gracias a ti Fredy por el interés en el curso :).
Saludos!.-
Gilberto Lopez
Hola, tengo una duda, quiza por mi desconocomiento de phyton, pero quisiera saber como podria partir un texto, es decir por ejemplo tengo este texto “31/03/2021 – 14/09/2021” es un dato que extraigo de una web y me interesa separarlo las dos fechas en dos variables, que tipo de expresion podria utilizar para ello? Ya he intentando utilizar split para separarlo en lista, pero el resultado no me genera una lista si no la misma cadena. siendo que estoy dando como separador el ‘-‘. Te agradeceria mucho me pudieras ayudar. ¡Saludos!
Marcela Vergara
Hola Gilberto,
Debes agregar lo siguiente en el comando Asignar Variable:
"{var}".split("–")[0].strip()
, y asignarlo a la primera variable donde quieres guardar el valor, si te fijas el separador del split si bien es un guión, no es el normal, es un poco más largo por eso no te resultaba el split, lo que hice fue copiar el guión que enviaste como texto en las fechas y ese colocarlo.Luego esto
"{var}".split("–")[1].strip()
para obtener la segunda fecha.nitzamartinez
Hola, en el ejercicio de saltos de linea, inicialmente coloque la variable texto_saltos : “esto es un texto con saltos de lineas”.
Al querer hacer el else coloque linea y me arrojo un si. No se por que?. Despues modifique en la variable lineas por linea y en el else coloque linea y efectivamente me arrojo un no.
No entendi la diferencia.
Marcela Vergara
Hola nitzamartinez,
Lo que hace esa instrucción es buscar una palabra textual dentro del Texto, si el texto es “salto de lineas” y buscas por linea será falso, porque esa palabra no existe, eb cambio si buscas lineas, será verdadero ya que esa palabra si se encuentra.
AlvdaUrimo
hola buenas,
tengo el siguiente error al tratar de ejecutar el JS en Rocketboot
“Message: javascript error: Cannot read properties of undefined (reading ‘inner Text’) (Session info: chrome=95.0.4538.69)”.
el comando lo escribo asi:
“return document.getElementsByClassName(‘win-big’)[0].innerText”
cabe resaltar que he cambiado el fragmento ‘win-big’ por:
‘ViewTable ResultsTable GreenBar’
‘ECell CTR’
y da el mismo error. *TENIENDO EN CUENTA QUE ES PARA LA PAGINA DEL BANCO DE COLOMBIA banrep.gov.co
Marcela Vergara
Hola Alvaro,
Qué necesitas extraer?, donde dice Tasa representativa del Mercado (TRM)?, porque la clase ViewTable.. corresponde a una tabla, no te entregará el valor, si necesitas el valor, prueba con esto return
document.getElementsByClassName('down-big')[0].innerText
Emirtho raga
Buenas Noches,
cuando utilizo la expresion decode, sobre algunos valores no pueden cambiarse en ese caso cual seria la solución crear una variable para darle salida reemplazando la b’
user
Hola Emirtho,
Con qué valor te da problema?, puedes escribirlo acá?
También puedes probar con
decode('Latin-1')
Emirtho raga
Si esa era la solución gracias!!!…..
Marcela Vergara
Super!
Igor Gajardo
Buenas noches, muy bien explicado el uso de asignaciones de variables en el vídeo, desde ya, muchas gracias por los cursos. Me queda la duda con la última parte, donde se desea ordenar una lista. ¿Cómo debería ingresar esta acción dentro del comando de asignar variables? lo ingresé como {Lista_Num}.sort, pero me imprimió el siguiente error “”
Si lo hago cómo {Lista_Num}.sorted, me manda error y dice “‘list’ object has no attribute ‘sorted'”
Si lo hago como sorted.{Lista_Num}, me manda error “invalid syntax (, line 1)”
y finalmente, si lo hago como sort.{Lista_Num}, me manda el mismo error que el anterior “invalid syntax (, line 1)”
Cómo debería ingresar la instrucción sort o sorted en está acción?
Saludos!
Igor Gajardo
Perdón, el primero error para {Lista_Num].sort es
Saludos!
Marcela Vergara
Hola Igor,
Cómo estás?, el comando sería de la siguiente forma:
sorted({Lista_Num})
jdtrujillo98
Hola Marcela, si tengo un texto sumamente largo como lo puedo acortar, trate con .replace pero no me lo permite. Quedo atento
Marcela Vergara
Hola jdtrujillo98, replace es para reemplazar un texto por otro, qué necesitas realizar específicamente?, extraer solo una parte del texto?, eliminar desde un punto hacia el final?
Jader Alvarino
Buenas noches
Quiero Enviar esta Variable alojada en un array , <> , pero al probar con la función “Enviar Texto desde Web” , escribe todo el contenido del array.
Debí usar la función “Asignar variable” , para poder realizarlo
Hay alguna forma de enviarlo directamente?
Muchas gracias por Su ayuda
Jader Alvarino
la variable es {ArrDataExcel}[{StrnameField}].
Error al escribir el comentario
Jader Alvarino
** {ArrDataExcel}[{StrnameField}].
Error al escribir el comentario
Marcela Vergara
Hola Jader, no se puede enviar directamente ya que esas son instrucciones python, debes primero obtener el valor que quieres con un Asignar Variable tal como lo realizaste, y luego se puede enviar.
SebastianLeiva
Hola Marcela, recién comenzando, la verdad es que no tengo conocimientos de Python, pero siguiendo tus instrucciones he podido realizar lo que hay en el video, como sabias que el lenguaje era java cuando tomaste los códigos, la otra pregunta es, que clase de curso de Python me aconsejarías para poder entender de mejor manera los comandos.
Marcela Vergara
Hola Sebastián, te refieres a lo que usé en el navegador?, porque los navegadores interpretan Javascript, y el código que inserté en la consola era en ese lenguaje.
Te recomendaría cualquier curso básico de Python, por lo general todos ven string, listas, ciclos, etc., que es lo que más se usa en Rocketbot, te dejo también el link del Libro Python
jgtellezv
Muy buen curso. muchas gracias.
donde consulto el manual para ver todas las funcionalidades que tiene el asignar variable y los demas comandos del rocketbot?.
atte
Alberto
Hola Marcela,
En caso que el texto que me genere una variable este con \n que entiendo que es un salto, pero no quiero que el resultado los muestre como puedo hacer para que la cadena de texto se vea como sino tuviese salto.
Saludos y gracias
Marcela Vergara
Hola Alberto, en ese caso si los quieres quitar, puedes reemplazar el salto de línea por vacío o por un espacio, con el comando Asignar Variable, de esta forma:
"""{var}""".replace('\n', ' ')
Christian Huidobro Quispe
Hola Marcela, estoy intentando agregar un item a un dictionario, y no puedo conseguirlo, podrian ayudarme por favor
Marcela Vergara
Hola Christian,
En el comando Asignar Variable, lo puedes realizar de esta forma
{**{var_dict}, **{"new_key": "new_value"}}
También puedes utilizar el comando Execute Python del menú Scripts
cparra
Muy clara toda la explicación.
spelaez
Hola Marcela, como estas? Como extraer el valor del dolar si en mi caso el banco central de mi pais lo tiene codificado de esta manera al inspecionar el elemento?? Puede hacerse Javascript o lo jago obteniendo del valor del input? Gracias.
4.918,94
Marcela Vergara
Hola spelaez, para extraer el valor lo podrías hacer con el comando extraer texto del menú web (por su id si tiene, o xpath por ejemplo) o a través de JS con el comando Ejecuta JS
Zury
Hola Marcela, saludos. Mi primer robot es para iniciar sesion en Zoom, asi que debo entrar direccion de correo y password en los respectivos objetos de entrada. Ejecuta bien hasta el click en el objeto, veo el cursor en espera de texto, asi que el proximo paso es enviar (texto) la direccin de correo, pero recibo este error: Message: element not interactable (Session info: chrome=110.0.5481.105)
Zury
(zoom.us login page) Segun veo, al seleccionar el objeto puede seleccionar la etiqueta o cuadro de texto, la etiqueta y el espacio para escribir estan dentro del mismo cuadro y una vez que regreso al codigo para copiar el xpath automaticamente cambia el codigo, es decir, en vez del cuadro de texto selecciona la etiqueta.
Marcela Vergara
Hola Zury, mira lo que me funcionó es hacer un click en el label y luego un click con este xpath
//input[@type="email"]
y finalmente el enviar texto webGian_Vidal_Chavez
disculpe, como inicializo una lista vacía, para luego agregar elementos dentro de un bucle?
Marcela Vergara
Hola GianCarlo, puedes realizarlo con el comando Asignar Variable del menú Sistema, ahí en el primer input ingresas
[]
y abajo la variable que quieres pasarle esa infoJuankaever
Hola buenas tardes, estoy intentando subir un archivo a ILOVEPDF en la siguiente ruta https://www.ilovepdf.com/es/dividir_pdf#split,extract, para dividir el archivo, y en el boton SELECCIONAR ARCHIVO PDF al hacer clic, me abre una ventana emergente. Como se trabaja para seleccionar el archivo?
Intente buscar el “input File” en el sitio, pero este simplemente no existe, ya que esta vinculado a una función javascript;, que simplemente no es posible de ubicar. En definitiva el boton seleccione un archivo si bien dispara el modulo de input file, no es mas que un evento pero dentro de una función javascript que no es posible de ubicar en esta página.
Se agradece cualquier sugerencia
Muchas Gracias
Marcela Vergara
Hola juan!
Si está el elemento input file, solo que no se visualiza tan fácilmente, se deben abrir ciertas etiquetas, está en un
//input[@type="file"]
en el comando Upload file del menú Web, con eso sube el archivo sin problemaFrancelly RG
Hola, tengo una duda, estoy realizando el ejercicio de replace, estoy usando el comando y el ejemplo de este curso, asi: “{fecha}”.replace(‘/’.’-‘), pero me marca un error de sintaxis, ya revise varias veces, lo intente de nuevo, y no me estoy equivocando al escribir, no se si hay alguna nueva modificación, actualización.
Marcela Vergara
Hola Francelly RG!, veo que tienes un punto en vez de una coma, sería de esta forma:
"{fecha}".replace('/','-')
Cpedernera
Hola Marcela, muchas gracias por la explicación, tengo una duda, necesito recorrer una lista de listas y separar la sub lista que contenga la palabra ‘Abierta’ en uno de sus valores… según lo que mostrabas en el video para los pares, quiero usar algo similar.
[elemento for elemento in {archivo_data} if elemento != ‘Abierta’]
Pero, si lo uso de esa manera no me filtra nada, pero me imagino porque el archivo data es una lista de listas y esto solo está buscando sobre una lista, cómo lo tendría qué hacer para poder trabajar con estos datos?
ejemplo:
[[177756, ‘PJ CHILE SPA’, ‘DESARROLLO – ARRIENDO’, ‘Carola Hueche’, ’19-10-2023′, 2, ‘Confirmada’, ’19/10/2023 09:30:22 Nómina Cerrada’], [177683, ‘PJ CHILE SPA’, ‘PERSONAS’, ‘Cristian Pedernera Cofre’, ’18-10-2023′, 1, ‘Abierta’, ’18/10/2023 16:20:02 Nómina Creada’]]
La nueva lista, solo debería tener 1 de las 2.
Marcela Vergara
Hola Cpedernera, debes realizarlo de esta forma:
[elemento for elemento in {archivo_data} if 'Abierta' in elemento][0]
carjaramillomed
Hola, no me funciona el “, “.join({Texto_join}). Dice un error: closing parenthesis ‘)’ does not match opening parenthesis ‘[‘ (, line 1)
Marcela Vergara
Hola, qué tienes en la var {Texto_join}? indica error con un corchete
[
mcuadros
Excelente clase