Automações e extensões da Web¶
Em alguns casos, é necessário usar extensões de navegador para prosseguir com um processo.
Neste guia, percorreremos as etapas necessárias para configurar extensões no navegador que estamos usando.
Usando Extensões no Firefox¶
Com o navegador Firefox selecionado, podemos adicionar facilmente uma extensão usando um arquivo .xpi
.
O Framework Web da BotCity oferece um método específico para instalar uma extensão no Firefox, tudo o que precisamos é o arquivo .xpi
referente à extensão.
...
# Importe para WebBot
from botcity.web import WebBot, Browser, By
bot = WebBot()
# Configuração para usar o Firefox
bot.browser = Browser.FIREFOX
# Definindo o caminho do Firefox Webdriver
bot.driver_path = "<webdriver path>"
# Definindo o caminho de extensão
extension_path = "<path to the .xpi file>"
# Adicionando a extensão
bot.install_firefox_extension(extension=extension_path)
bot.browse(...)
...
...
// Configuração para usar o Firefox
setBrowser(Browser.FIREFOX);
// Definindo o caminho do Firefox Webdriver
setDriverPath("<webdriver path>");
// Definindo o caminho de extensão
String extensionPath = "<path to the .xpi file>";
// Adicionando a extensão
installFirefoxExtension(extensionPath);
browse(...);
...
Dica
Você pode encontrar extensões e baixar os arquivos .xpi
no site de complementos do Firefox.
Usando extensões no Chrome e Edge¶
Para Chrome e Edge, em vez de usar um método específico
Adicionaremos a extensão através das options
do navegador.
Assim como no Firefox, precisaremos de um arquivo que faça referência à extensão, nesse caso, será um arquivo .crx
.
Aviso
Em alguns casos, Chrome e Edge podem não ser capazes de adicionar uma extensão corretamente.
Este é um problema do navegador, causando uma exceção ao tentar carregar uma extensão específica.
Para evitar esses casos, é recomendável usar Firefox sempre que possível.
...
# Para Chrome
from botcity.web.browsers.chrome import default_options
# Para Edge
# from botcity.web.browsers.edge import default_options
# Importe para WebBot
from botcity.web import WebBot, Browser, By
bot = WebBot()
# Configuração para usar o Chrome
bot.browser = Browser.CHROME
# Definindo o caminho do Chrome Webdriver
bot.driver_path = "<webdriver path>"
# Definindo o caminho de extensão
extension_path = "<path to the .crx file>"
# Usando as default_options para adicionar extensões
def_options = default_options()
def_options.add_extension(extension_path)
bot.options = def_options
bot.browse(...)
...
...
// para Chrome
import dev.botcity.framework.web.browsers.ChromeConfig;
import org.openqa.selenium.chrome.ChromeOptions;
// para Edge
// import dev.botcity.framework.web.browsers.EdgeConfig;
// import org.openqa.selenium.edge.EdgeOptions;
// Configuração para usar o Chrome
setBrowser(Browser.CHROME);
// Definindo o caminho do Chrome Webdriver
setDriverPath("<webdriver path>");
// Definindo o caminho de extensão
String extensionPath = "<path to the .crx file>";
// Usando o DefaultOptions para adicionar extensões
ChromeConfig config = new ChromeConfig();
ChromeOptions options = (ChromeOptions) config.defaultOptions(isHeadless(), getDownloadPath(), null, PageLoadStrategy.NORMAL);
options.addExtensions(new File(extensionPath));
setOptions(options);
browse(...);
...