Automatización Web y perfiles de usuario¶
El Framework Web de BotCity, por estándar, genera un directorio temporal (que luego se borra) para ser utilizado como directorio de perfil, por lo que con cada ejecución comienza una nueva sesión de limpieza del navegador, asegurando que información como cookies
, contraseñas
y Los certificados almacenados
no interfieren con las ejecuciones.
Sin embargo, en algunos casos, es pertinente utilizar un perfil de usuario existente para aprovechar un sistema ya registrado en un sistema o incluso para reducir el riesgo de ser bloqueado por los sistemas de detección de bots.
Configuración del navegador para usar un perfil específico¶
De manera predeterminada, los navegadores iniciados a través de la BotCity Web Framework tienen un conjunto de opciones seleccionadas y elegidas como esenciales para las automatizaciones RPA. Sin embargo, es posible que deba personalizar estas opciones, como en este caso, donde definiremos un perfil existente para el navegador.
Definiremos esta configuración a través de la propiedad options
navegador y acceder a él a través del default_options
. Por lo tanto, es posible definir la ruta del directorio de perfil que desea utilizar al iniciar el navegador con WebBot, pasando esta ruta a la variable user_data_dir
.
A continuación, seguirá los pasos para configurar los navegadores Google, Firefox mi MSEdge para utilizar un perfil existente al navegar con WebBot.
Google Chrome¶
Para comenzar el navegador Chrome
con un perfil existente con BotCity's Framework Web es muy simple, solo importe la propiedad default_options
en su código, y pase la ruta del perfil de usuario elegido a la variable user_data_dir
, Como se muestra en el siguiente extracto:
from botcity.web import WebBot, Browser
from botcity.web.browsers.chrome import default_options
def main():
# Instancia de Webbot
bot = WebBot()
# Configure si desea ejecutar o no en el modo sin headless.
bot.headless = False
profile_path = "<your browser profile path>/"
# Busque las opciones predeterminadas para mi navegador favorito
# Pasar los parámetros headless y user_data_dir
# para ser utilizado al crear el default_options
def_options = default_options(
headless=bot.headless,
user_data_dir=profile_path # Informar la ruta de perfil que quiere iniciar el navegador
)
# Actualice las opciones para usar opciones personalizadas
bot.options = def_options
# Abre el navegador al sitio web de BotCity con un perfil existente
bot.browse("https://botcity.dev")
...
import dev.botcity.framework.bot.WebBot;
import dev.botcity.framework.web.browsers.Browser;
import dev.botcity.framework.web.browsers.ChromeConfig;
public void action(BotExecution botExecution) {
try {
String profilePath = "<your browser profile path>/";
// Configurar si ejecutar o no en modo headless
setHeadless(false);
// Busque las opciones predeterminadas para mi navegador favorito
ChromeConfig chromeConfig = new ChromeConfig();
ChromeOptions defOptions = (ChromeOptions) chromeConfig.defaultOptions(
isHeadless(), // Definición del modo headless (usando el estándar)
profilePath // Informar la ruta de perfil que quiere iniciar el navegador
);
// Actualice las opciones para usar opciones personalizadas
setOptions(defOptions);
// Abre el navegador al sitio web de BotCity con un perfil existente
browse("https://botcity.dev");
...
Tip
La instalación predeterminada de Chrome generalmente almacena información de perfil de usuario en el camino a esto:
C:\Users\<user>\AppData\Local\Google\Chrome\User Data\Profile 1"
Firefox¶
Para comenzar el navegador Firefox
con un perfil existente con BotCity's Framework Web es muy simple, solo importe la propiedad default_options
en su código, y pase la ruta del perfil de usuario elegido a la variable user_data_dir
, Como se muestra en el siguiente extracto:
from botcity.web import WebBot, Browser
from botcity.web.browsers.firefox import default_options
def main():
# Instancia de Webbot
bot = WebBot()
# Configurar si ejecutar o no en modo headless
bot.headless = False
profile_path = "<your browser profile path>/"
# Busque las opciones predeterminadas para mi navegador favorito
# Pasar los parámetros headless y user_data_dir
# para ser utilizado al crear el default_options
def_options = default_options(
headless=bot.headless,
user_data_dir=profile_path # Informar la ruta de perfil que quiere iniciar el navegador
)
# Actualice las opciones para usar opciones personalizadas
bot.options = def_options
# Abre el navegador al sitio web de BotCity con un perfil existente
bot.browse("https://botcity.dev")
...
import dev.botcity.framework.bot.WebBot;
import dev.botcity.framework.web.browsers.Browser;
import dev.botcity.framework.web.browsers.FirefoxConfig;
public void action(BotExecution botExecution) {
try {
String profilePath = "<your browser profile path>/";
// Configure se deve ou não executar no modo headless
setHeadless(false);
// Busque las opciones predeterminadas para mi navegador favorito
FirefoxConfig firefoxConfig = new FirefoxConfig();
FirefoxOptions defOptions = (FirefoxOptions) firefoxConfig.defaultOptions(
isHeadless(), // Definición del modo headless (usando el estándar)
profilePath // Informar la ruta de perfil que quiere iniciar el navegador
);
// Actualice las opciones para usar opciones personalizadas
setOptions(defOptions);
// Abre el navegador al sitio web de BotCity con un perfil existente
browse("https://botcity.dev");
...
Tip
La instalación predeterminada de Firefox generalmente almacena información de perfil de usuario en el camino a esto:
C:\Users\<user>\AppData\Local\Mozilla\Firefox\Profiles\profile_1
Microsoft Edge (MSEdge)¶
Para comenzar el navegador Edge
con un perfil existente con BotCity's Framework Web es muy simple, solo importe la propiedad default_options
en su código, y pase la ruta del perfil de usuario elegido a la variable user_data_dir
, Como se muestra en el siguiente extracto:
from botcity.web import WebBot, Browser
from botcity.web.browsers.edge import default_options
def main():
# Instancia de Webbot
bot = WebBot()
# Configure se deve ou não executar no modo headless
bot.headless = False
profile_path = "<your browser profile path>/"
# Busque las opciones predeterminadas para mi navegador favorito
# Pasar los parámetros headless y user_data_dir
# para ser utilizado al crear el default_options
def_options = default_options(
headless=bot.headless,
user_data_dir=profile_path # Informar la ruta de perfil que quiere iniciar el navegador
)
# Actualice las opciones para usar opciones personalizadas
bot.options = def_options
# Abre el navegador al sitio web de BotCity con un perfil existente
bot.browse("https://botcity.dev")
...
import dev.botcity.framework.bot.WebBot;
import dev.botcity.framework.web.browsers.Browser;
import dev.botcity.framework.web.browsers.EdgeConfig;
public void action(BotExecution botExecution) {
try {
String profilePath = "<your browser profile path>/";
// Configure se deve ou não executar no modo headless
setHeadless(false);
// Busque las opciones predeterminadas para mi navegador favorito
EdgeConfig edgeConfig = new EdgeConfig();
EdgeOptions defOptions = (EdgeOptions) edgeConfig.defaultOptions(
isHeadless(), // Definición del modo headless (usando el estándar)
profilePath // Informar la ruta de perfil que quiere iniciar el navegador
);
// Actualice las opciones para usar opciones personalizadas
setOptions(defOptions);
// Abre el navegador al sitio web de BotCity con un perfil existente
browse("https://botcity.dev");
...
Tip
La instalación predeterminada de Edge generalmente almacena información de perfil de usuario en el camino a esto:
C:\Users\<user>\AppData\Local\Microsoft\Edge\User Data\Profile 1
Si desea definir el perfil predeterminado, simplemente cambie el Profile 1
por Default
.
Con estas instrucciones, puede configurar BotCity Framework Web para usar un perfil existente en los navegadores compatibles, lo que permite la reutilización de sesiones de inicio de sesión y mejorando la eficiencia de sus automatizaciones web.