O que é a aula de opções do Chrome?
A classe de opções do Chrome é usada para manipular várias propriedades do driver do Chrome. A classe de opções do Chrome é geralmente usada em conjunto com os recursos desejados.
Exemplo:
O exemplo abaixo mostra uma maneira de abrir o navegador Chrome no modo maximizado usando a classe ChromeOptions. Precisamos passar uma instância da classe ChromeOptions para a inicialização do driver da web.
ChromeOptions options = new ChromeOptions ()options.addArgument ("start-maximized");Driver ChromeDriver = novo ChromeDriver (opções);
Abaixo está a lista de argumentos disponíveis e mais comumente usados para a classe ChromeOptions
- start-maximized : abre o Chrome no modo de maximização
- anônimo: abre o Chrome no modo anônimo
- sem cabeça: abre o Chrome no modo sem cabeça
- disable-extensions : Desativa as extensões existentes no navegador Chrome
- disable-popup-blocking : Desativa os pop-ups exibidos no navegador Chrome
- make-default-browser: Torna o navegador Chrome padrão
- versão : imprime a versão do navegador Chrome
- disable-infobars: evita que o Chrome exiba a notificação 'O Chrome está sendo controlado por um software automatizado
Neste tutorial, você aprenderá
- O que é a aula de opções do Chrome?
- Classe de capacidades desejadas
- Opções do Chrome para extensão Adblocker
- Opções do Chrome para modo de navegação anônima
- Opções do Chrome para Headless Chrome
Classe de capacidades desejadas
A classe de recursos desejada é usada para modificar várias propriedades do driver da web. A classe Desired Capabilities fornece um conjunto de pares de valores-chave para alterar as propriedades individuais do driver da web, como nome do navegador, plataforma do navegador, etc. O método mais comumente usado da classe Desired Capabilities é o método setCapability. Os recursos desejados são usados com mais frequência com o Selenium Grid, onde o mesmo caso de teste precisa ser executado em navegadores diferentes.
Exemplo:
O exemplo abaixo mostra a maneira de habilitar o navegador Chrome para aceitar certificados SSL em sites por padrão usando a classe Desired Capabilities.
// Crie um objeto da classe de recursos desejada com o driver do ChromeDesiredCapabilities SSLCertificate = DesiredCapabilities.chrome ();// Defina a capacidade predefinida - valor ACCEPT_SSL_CERTS para verdadeiroSSLCertificate.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true);// Abra uma nova instância do driver do Chrome com a capacidade desejadaDriver WebDriver = novo ChromeDriver (SSLCertificate);
Abaixo estão os tipos de recursos predefinidos mais comumente usados.
Nome da Capacidade | Descrição |
ACCEPT_SSL_CERTS | Esta propriedade diz ao navegador para aceitar Certificados SSL por padrão |
PLATFORM_NAME | Esta propriedade é usada para definir a plataforma do sistema operacional usado para acessar o site |
BROWSER_NAME | Esta propriedade é usada para definir o nome do navegador para uma instância do driver da web |
VERSÃO | Esta propriedade é usada para definir a versão do navegador |
Opções do Chrome para extensão Adblocker
A extensão Adblocker do navegador Chrome pode ser tratada usando as classes Opções do Chrome e Capacidades desejadas. Abaixo estão as etapas para acessar a extensão AdBlocker no navegador Chrome usando a classe Desired Capabilities.
Etapa 1) A extensão AdBlocker deve ser instalada no navegador Chrome antes de usar a classe Opções do Chrome
Etapa 2) Extraia o arquivo CRX correspondente à extensão AdBlocker por meio de http://crxextractor.com/
Etapa 3) Passe o caminho do arquivo CRX baixado para a classe Opções do Chrome
Etapa 4) Instancie o driver da web usando a classe de recursos desejada e o objeto de opções do cromo
Exemplo:
O exemplo abaixo demonstra como ativar a extensão do bloqueador de anúncios no navegador Chrome usando as opções de opções do Chrome e a classe de recursos desejados.
ChromeOptions options = new ChromeOptions ();options.addExtensions (new File ("Path to CRX File"));Capacidades de DesiredCapabilities = new DesiredCapabilities ();abilities.setCapability (ChromeOptions.CAPABILITY, options);Driver ChromeDriver = novo ChromeDriver (recursos);
Extrair arquivo CRX:
As etapas abaixo demonstram o processo de extração do arquivo CRX por meio do Ad Blocker por meio do site - http://crxextractor.com/
Etapa 1) Vá para http://crxextractor.com/ e clique no botão Iniciar
Etapa 2) Insira a extensão do Chrome - URL do Ad Blocker na caixa de texto. O URL para Adblock na loja on-line do Chrome é https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom
e clique ok
Etapa 3) Ao clicar no botão OK, o rótulo do botão mudará para Obter .CRX conforme abaixo. Clique no botão Obter .CRX, o arquivo CRX correspondente à extensão será baixado
Etapa 4) Salve o arquivo na máquina local, anote o caminho salvo. A próxima etapa é passar o caminho salvo para a classe Opções do Chrome
Código de amostra:
- Você verá anúncios em http://demo.guru99.com/ conforme abaixo
- Com a extensão AdBlocker ativada no navegador Chrome, os anúncios devem ser desativados
pacote adblock;import java.io.File;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.chrome.ChromeOptions;import org.openqa.selenium.remote.DesiredCapabilities;public class AdblockDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions options = new ChromeOptions ();options.addExtensions (new File ("X: //extension_3_40_1_0.crx"));Capacidades de DesiredCapabilities = new DesiredCapabilities ();abilities.setCapability (ChromeOptions.CAPABILITY, options);options.merge (capacidades);Driver ChromeDriver = novo ChromeDriver (opções);driver.get ("http://demo.guru99.com/test/simple_context_menu.html");driver.manage (). window (). maximize ();//driver.quit ();}}
Explicação do código:
- Inicialmente, você precisa definir o caminho para o arquivo chromedriver.exe usando o método set property, já que está usando o navegador Chrome para teste
- Você precisa definir o caminho para o arquivo CRX para adicionar o método de extensões
- Em seguida, você precisa criar um objeto da classe de recursos desejada e passá-lo para a instância do driver da web. Da versão Selenium 3.8.1, a classe de recursos do driver foi descontinuada e você precisa mesclar o objeto de recursos com o objeto Opções do Chrome antes de passar o mesmo como um argumento para o construtor do driver do Chrome
- Abra o URL - http://demo.guru99.com/test/simple_context_menu.html com a extensão Ad Blocker habilitada
- Maximize e feche o navegador
NOTA: Estamos habilitando a extensão AdBlocker no navegador Chrome por meio do script de automação, em vez de habilitar manualmente a extensão AdBlocker no navegador Chrome. O arquivo CRX é uma forma de acessar a extensão do bloqueador de anúncios usando um script de automação
Resultado:
O navegador Chrome será ativado com a extensão AdBlocker ativada conforme abaixo, sem nenhum anúncio
Opções do Chrome para modo de navegação anônima
As opções do Chrome podem ser usadas no modo incógnito usando o argumento predefinido - incógnito .
Abaixo está o código de exemplo para fazer o mesmo.
Código de amostra:
teste de pacote;import java.io.File;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.chrome.ChromeOptions;import org.openqa.selenium.remote.DesiredCapabilities;public class Incognito {public static void main (String [] args) {// TODO stub do método gerado automaticamenteSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions options = new ChromeOptions ();options.addArguments ("- incógnito");Capacidades de DesiredCapabilities = new DesiredCapabilities ();abilities.setCapability (ChromeOptions.CAPABILITY, options);options.merge (capacidades);Driver ChromeDriver = novo ChromeDriver (opções);driver.get ("http://demo.guru99.com/test/simple_context_menu.html");driver.manage (). window (). maximize ();//driver.quit ();}}
Explicação do código :
- Inicialmente, você precisa definir o caminho para o arquivo chromedriver.exe usando o método set property, já que está usando o navegador Chrome para teste
- Em seguida, você precisa criar um objeto da classe Chrome Options e passá-lo para a instância do driver da web. Como queremos abrir o navegador Chrome no modo anônimo, você precisa passar o argumento -incognito para a classe Opções do Chrome.
- Em seguida, crie um objeto da classe Desired Capabilities e mescle o objeto da classe Desired Capabilities com o objeto da classe Opções do Chrome usando o método merge
- Você precisa criar um objeto da classe Chrome Driver e passar o objeto Chrome Options como um argumento
- Finalmente, precisamos passar o URL - http://demo.guru99.com/test/simple_context_menu.html para o método driver.get
- Maximize e feche o navegador
Resultado:
A janela do navegador Chrome será aberta no modo de navegação anônima conforme abaixo
Opções do Chrome para Headless Chrome
Um navegador sem cabeça é executado em segundo plano. Você não verá a GUI do navegador ou as operações operadas nele.
As opções do Chrome para executar o navegador Chrome no modo headless podem ser realizadas usando os argumentos predefinidos - headless .
O código de exemplo para fazer isso é mencionado abaixo.
Exemplo:
teste de pacote;import java.io.File;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.chrome.ChromeOptions;import org.openqa.selenium.remote.DesiredCapabilities;public class HeadlessModeDemo {public static void main (String [] args) {// TODO stub do método gerado automaticamenteSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions options = new ChromeOptions ();options.addArguments ("- headless");Capacidades de DesiredCapabilities = new DesiredCapabilities ();abilities.setCapability (ChromeOptions.CAPABILITY, options);options.merge (capacidades);Driver ChromeDriver = novo ChromeDriver (opções);driver.get ("http://demo.guru99.com/");driver.manage (). window (). maximize ();String title = driver.getTitle ();System.out.println ("Título da página: + título);driver.quit ();}}
Explicação do código :
- Inicialmente, você precisa definir o caminho para o arquivo chromedriver.exe usando o método set property, já que está usando o navegador Chrome para teste
- Em seguida, crie um objeto da classe Chrome Options e passe-o para a instância do driver da web. Visto que queremos abrir o navegador Chrome no modo headless, precisamos passar o argumento -headless para a classe Chrome Options.
- Crie um objeto da classe Desired Capabilities e mescle o objeto da classe Desired Capabilities com o objeto da classe Opções do Chrome usando o método merge
- Crie um objeto da classe Chrome Driver e passe o objeto Chrome Options como um argumento
- Finalmente, precisamos passar a URL - http://demo.guru99.com/ para o método driver.get
- Imprima o título da página e feche o navegador
Resultado
O navegador não ficará visível para o código acima, pois o Chrome estará funcionando no modo Headless. O título da página será obtido e exibido conforme abaixo.
Resumo:
- A classe de opções do Chrome é usada para manipular várias propriedades do driver do Chrome
- A classe Desired Capabilities fornece um conjunto de pares de valores-chave para modificar propriedades individuais do driver da web, como nome do navegador, plataforma do navegador, etc.
- Para manipular quaisquer extensões do navegador Chrome, o arquivo CRX correspondente à extensão deve ser extraído e adicionado à classe Opções do Chrome
- --incognito e -headless são argumentos predefinidos fornecidos pela classe Chrome Options para usar o navegador Chrome no modo incógnito e no modo headless