Automações Web e perfis de usuários¶
O Framework Web da BotCity, por padrão, gera um diretório temporário (que posteriormente é apagado) para ser usado como diretório de perfil, desta forma, a cada execução uma nova sessão limpa do navegador é iniciada, garantindo que informações como cookies
, senhas
e certificados armazenados
não interfiram nas execuções.
No entanto, em alguns casos, é pertinente usar um perfil de usuário existente para aproveitar uma sessão já logada em um sistema ou até mesmo para reduzir o risco de ser bloqueado por sistemas de detecção de bots.
Configurando o navegador para usar um perfil específico¶
Por padrão, os navegadores lançados através do Framework Web da BotCity possuem um conjunto de opções selecionadas e escolhidas como essenciais para automações RPA. Porém, você pode precisar personalizar essas opções, como neste caso, onde iremos definir um perfil existente para o navegador inicializado.
Nós iremos definir essa configuração através da propriedade options
do navegador, acessando-a através do default_options
. Assim, é possível definir o caminho do diretório do perfil que deseja utilizar ao iniciar o navegador com o WebBot, passando esse caminho para a variável user_data_dir
.
A seguir, você acompanhará os passos para configurar os navegadores Google, Firefox e MSEdge para usar um perfil já existente em suas navegações com o WebBot.
Google Chrome¶
Para iniciar o navegador Chrome
com um perfil já existente com o Framework Web da BotCity é muito simples, basta importar a propriedade default_options
em seu código, e passar o caminho do perfil de usuário escolhido para a variável user_data_dir
, como mostra o trecho a seguir:
from botcity.web import WebBot, Browser
from botcity.web.browsers.chrome import default_options
def main():
# Instacia o WebBot
bot = WebBot()
# Configure se deseja ou não executar no modo headless.
bot.headless = False
profile_path = "<your browser profile path>/"
# Busque as opções padrão para meu navegador preferido
# Passe os parâmetros headless e user_data_dir
# a ser usado ao criar as default_options
def_options = default_options(
headless=bot.headless,
user_data_dir=profile_path # Informar caminho do perfil que deseja iniciar o navegador
)
# Atualize as opções para usar as opções personalizadas.
bot.options = def_options
# Abre o navegador no site do BotCity com um 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>/";
// Configure se deve ou não executar no modo headless
setHeadless(false);
// Busque as opções padrão para meu navegador preferido
ChromeConfig chromeConfig = new ChromeConfig();
ChromeOptions defOptions = (ChromeOptions) chromeConfig.defaultOptions(
isHeadless(), // Definindo o modo headless (usando o padrão)
profilePath // Informar caminho do perfil que deseja iniciar o navegador
);
// Atualize as opções para usar as opções personalizadas.
setOptions(defOptions);
// Abre o navegador no site do BotCity com um perfil existente
browse("https://botcity.dev");
...
Dica
A instalação padrão do Chrome costuma armazenar as informações de perfis de usuários em um caminho parecido com esse:
C:\Users\<seu_usuário>\AppData\Local\Google\Chrome\User Data\Profile 1"
Firefox¶
Para iniciar o navegador Firefox
com um perfil já existente com o Framework Web da BotCity é muito simples, basta importar a propriedade default_options
em seu código, e passar o caminho do perfil de usuário escolhido para a variável user_data_dir
, como mostra o trecho a seguir:
from botcity.web import WebBot, Browser
from botcity.web.browsers.firefox import default_options
def main():
# Instacia o WebBot
bot = WebBot()
# Configure se deseja ou não executar no modo headless.
bot.headless = False
profile_path = "<your browser profile path>/"
# Busque as opções padrão para meu navegador preferido
# Passe os parâmetros headless e user_data_dir
# a ser usado ao criar as default_options
def_options = default_options(
headless=bot.headless,
user_data_dir=profile_path # Informar caminho do perfil que deseja iniciar o navegador
)
# Atualize as opções para usar as opções personalizadas.
bot.options = def_options
# Abre o navegador no site do BotCity com um 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 as opções padrão para meu navegador preferido
FirefoxConfig firefoxConfig = new FirefoxConfig();
FirefoxOptions defOptions = (FirefoxOptions) firefoxConfig.defaultOptions(
isHeadless(), // Definindo o modo headless (usando o padrão)
profilePath // Informar caminho do perfil que deseja iniciar o navegador"
);
// Atualize as opções para usar as opções personalizadas.
setOptions(defOptions);
// Abre o navegador no site do BotCity com um perfil existente
browse("https://botcity.dev");
...
Dica
A instalação padrão do Firefox costuma armazenar as informações de perfis de usuários em um caminho parecido com esse:
C:\Users\<seu_usuário>\AppData\Local\Mozilla\Firefox\Profiles\profile_1
Microsoft Edge (MSEdge)¶
Para iniciar o navegador Edge
com um perfil já existente com o Framework Web da BotCity é muito simples, basta importar a propriedade default_options
em seu código, e passar o caminho do perfil do usuário para a variável user_data_dir
, como mostra o trecho a seguir:
from botcity.web import WebBot, Browser
from botcity.web.browsers.edge import default_options
def main():
# Instacia o WebBot
bot = WebBot()
# Configure se deseja ou não executar no modo headless.
bot.headless = False
profile_path = "<your browser profile path>/"
# Busque as opções padrão para meu navegador preferido
# Passe os parâmetros headless e user_data_dir
# a ser usado ao criar as default_options
def_options = default_options(
headless=bot.headless,
user_data_dir=profile_path # Informar caminho do perfil que deseja iniciar o navegador
)
# Atualize as opções para usar as opções personalizadas.
bot.options = def_options
# Abre o navegador no site do BotCity com um 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 as opções padrão para meu navegador preferido
EdgeConfig edgeConfig = new EdgeConfig();
EdgeOptions defOptions = (EdgeOptions) edgeConfig.defaultOptions(
isHeadless(), // Definindo o modo headless (usando o padrão)
profilePath // Informar caminho do perfil que deseja iniciar o navegador
);
// Atualize as opções para usar as opções personalizadas.
setOptions(defOptions);
// Abre o navegador no site do BotCity com um perfil existente
browse("https://botcity.dev");
...
Dica
A instalação padrão do Edge costuma armazenar as informações de perfis de usuários em um caminho parecido com esse:
C:\Users\<seu_usuário>\AppData\Local\Microsoft\Edge\User Data\Profile 1
Caso queira definir o perfil default, basta trocar o Profile 1
por Default
.
Com essas instruções, você pode configurar o BotCity Framework Web para usar um perfil existente nos navegadores suportados, permitindo a reutilização de sessões de login e melhorando a eficiência de suas automações web.