Espera¶
Usando métodos de espera, você poderá sincronizar partes do processo que estão esperando por algo antes de executar uma determinada ação.
Espere¶
Você pode fazer o processo esperar/dormir por um intervalo de tempo em milissegundos.
Aguardando por arquivos¶
Além de aguardar situações do processo, você também pode aguardar por alguns arquivos.
Esses métodos podem ser úteis quando você precisa aguardar até que um arquivo seja salvo ou esteja disponível no disco.
Aguarde por um arquivo específico¶
Se você tiver o caminho de um arquivo específico, poderá usá-lo diretamente no método wait_for_file
.
Aguarde por um novo arquivo¶
Nos casos em que você não tem ou não conhece o caminho específico do arquivo, você pode usar o método de espera com base na extensão do arquivo.
# Esperando por um novo arquivo sem o caminho do arquivo.
# No primeiro parâmetro, você pode definir a pasta onde o arquivo é esperado.
caminho_do_arquivo = bot.wait_for_new_file(path=bot.download_folder_path, file_extension=".pdf", timeout=60000)
print(f"novo arquivo criado => {caminho_do_arquivo}")
Aguarde a finalização dos downloads¶
Você pode esperar até que todos os downloads sejam concluídos antes de fechar o navegador ou prosseguir com o processo de automação.
Aguarde uma nova página¶
Nos casos em que uma nova página é aberta, você pode fazer um tratamento para aguardar esta página corretamente antes de prosseguir com o processo.
# Iniciando o processo.
bot.browse("https://documentation.botcity.dev/")
print("Abrindo uma nova página")
# Usando o método como um 'context manager'.
with bot.wait_for_new_page(waiting_time=10000, activate=True):
# O código dentro do bloco 'with' será responsável por abrir uma nova página.
btn_nova_pag = bot.find_element('/html/body/div[3]/nav/div/ul/li[5]/a', By.XPATH)
btn_nova_pag.click()
# Ao sair do bloco 'with', a nova página já estará carregada e ativada.
print("nova página aberta, continuando o processo...")
// Iniciando o processo.
browse("https://documentation.botcity.dev/");
System.out.println("Abrindo uma nova página");
// Passando o bloco de código responsável por abrir a nova página.
waitForNewPage(true, 10000, new Runnable() {
@Override
public void run() {
WebElement btnNovaPag = findElement(By.xpath("/html/body/div[3]/nav/div/ul/li[5]/a"));
btnNovaPag.click();
}
});
System.out.println("nova página aberta, continuando o processo ...");
Aguarde a visibilidade do elemento¶
Você pode esperar até que um elemento esteja visível ou oculto na página.
Aguarde pelo elemento obsoleto¶
Além disso, também é possível esperar até que o elemento fique obsoleto (desatualizado).