¿Cómo guardar la tabla que se genera con nuestro robot en un archivo PDF usando Robocorp?
¿Cómo guardar la tabla que se genera con nuestro robot en un archivo PDF usando Robocorp?
En esta oportunidad, aprenderemos a almacenar los datos que se generan con ayuda de nuestro robot, en un archivo tipo PDF. Para ello, actualizaremos nuestro código así:
- Creamos una nueva tarea “Task” que indique la función a realizar, en este caso como pretendemos exportar el documento escribimos un “TAB” seguido de la frase “Export the table as a PDF”.
- Insertar una nueva “Keyword” con el mismo nombre asignado antes y en la misma indicamos que función cumple, ingresando una línea de código perteneciente al “keyword”, como aprendimos anteriormente, así:
- Seguido de un “TAB” escribimos la variable a ejecutar, para ello, escribimos un signo pesos “$” y entre corchetes “{“ , “}” el nombre que recibirá esta, que será “sales_results_html” junto con el símbolo “=”.
- A continuación, agregamos un “TAB” y el nombre de una nueva actividad llamada “Get Element Attribute” del listado de opciones, escogemos la librería de “Selenium”.
- Actualizamos el “locator” y el “attribute” el cual tomaremos luego de inspeccionar la tabla a capturar.
- El “locator” lo cambiamos por el “id” es decir, “id:sales-results”, mientras que el “attribute” que será el tipo de atributo que tiene nuestra página, el cual para la nuestra es “outerHTML”.
3. Insertar una nueva librería en nuestras “Settings” nombrada como “Library” + “TAB”, con el nombre de “rpa.pdf”.
4. Complementamos la “Keyword” recién creada, insertando en una nuevas líneas, actividades adicionales así:
- En la primera de ellas, al final, insertamos un “TAB” seguido de las palabras “Html To Pdf”, cambiamos el “content” por el nombre de la variable que habíamos creado, es decir, “${sales_results_html}”, y actualizamos el “output_path” por la ruta de guardado, que será la mima del ejercicio anterior, es decir, “${OUTPUT_DIR}${/}”, junto con el nombre que recibirá al momento de guardarse, el cual será “sales_results.pdf”.
- En la segunda, al inicio de la misma, asignaremos el tiempo de espera que tomará el robot para que la tabla se cargue en la página y ejecute su proceso. Para esto, insertamos un “TAB” seguido de las palabras “Wait until element” y dentro del listado elegimos la denominada como “Wait until element is Visible”. En el “locator” indicamos cuál es el elemento el cual es “id:sales-results”
5. Guardamos los cambios realizados con el comando “Ctrl” + “S” y corremos el robot con el comando “Ctrl” + “Shift” + “P”, seleccionando la opción “Robocorp: Run Robot”, para revisar los cambios realizados.
6.Buscamos dentro de la carpeta de ejemplo de nuestro robot, la carpeta de “output” y allí encontraremos la captura realizada con el nombre asignado, es decir, “sales_results.pdf” y verificamos su contenido.
De esta manera y para finalizar la presente sesión, como resultado de la misma tu código será este:
*** Settings *** Documentation robot que hace un login. Library RPA.Browser.Selenium auto_close=${FALSE} Library RPA.HTTP Library RPA.Excel.Files Library RPA.PDF *** Keywords *** Open intranet robocorp Open Available Browser https://robotsparebinindustries.com/#/ Log in Input Text username maria Input Password password thoushallnotpass Submit Form Wait Until Page Contains Element id:sales-form Download the excel file Download https://robotsparebinindustries.com/SalesData.xlsx Fill and submit the form for one person [Arguments] ${sales_rep} Input Text firstname ${sales_rep}[First Name] Input Text lastname ${sales_rep}[Last Name] Select From List By Value salestarget ${sales_rep}[Sales Target] Input Text salesresult ${sales_rep}[Sales] Click Button Submit Fill the form using the data from the excel file Open Workbook SalesData.xlsx ${sales_reps}= Read Worksheet As Table header=True Close Workbook FOR ${sales_rep} IN @{sales_reps} Fill and submit the form for one person ${sales_rep} END Collect the results Screenshot css:div.sales-summary ${OUTPUT_DIR}${/}sales_summary.png Export the table as a PDF Wait Until Element Is Visible id:sales-results ${sales_results_html}= Get Element Attribute id:sales-results outerHTML Html To Pdf ${sales_results_html} ${OUTPUT_DIR}${/}sales_results.pdf *** Tasks *** Open Browser And Log In Open intranet robocorp Log in Download the excel file Fill the form using the data from the excel file Collect the results Export the table as a PDF