Como abrir uma nova guia no selênio

Como abrir uma nova guia no selênio

Com o selênio, um URL pode ser aberto em uma nova guia. Para isso, você pode aplicar as mangas e as chaves.Métodos de acorde. Várias chaves podem ser fornecidas de uma só vez usando as chaves.função de acorde. Também podemos iniciar as novas guias no mesmo navegador usando o Selenium webdriver e alternar entre eles. Este artigo discute sobre o novo processo e funcionalidade de abertura do Selenium Webdriver. Demonstramos essa função com alguns exemplos simples.

Como abrir uma nova guia no selênio

Usando o selênio, é possível automatizar as instruções do navegador. É funcional para todos os programadores, trabalha com todos os principais sistemas operacionais e possui conteúdo criado em vários idiomas, incluindo Python, Java, C#e outros. O novo comando da janela do Selenium 4 facilita para seus usuários abrir uma nova guia ou janela. A guia ou janela criada tem o foco depois que o comando é executado.

Comando para abrir uma nova guia no selênio

O comando a seguir pode ser usado para abrir uma nova guia em Selenium:

motorista.obtenha (url);


Também pode ser escrito da seguinte maneira:

String url = "url";
motorista.obtenha (url);


Agora, vamos explicar alguns exemplos que explicam o processo de abrir uma nova guia no selênio.

Exemplo 1:

Neste primeiro exemplo, usamos alguns métodos simples e básicos para desenvolvedores inexperientes e experientes para ajudá -los em sua codificação inicial.

Para executar o código, precisamos criar uma classe chamada "newtabexample" primeiro.


Agora, executamos o seguinte código:

Classe pública newtabexample

public static void main (string [] args)

WebDriverManager.cromedriver ().configurar();
Webdriver mydriver = new Chromedriver ();
Meu motorista.gerenciar().Timeouts ().Impliclywait (3o, TimeUnit.Segundos);
Meu motorista.Get ("http: // www.Bing.com ");
Sistema.fora.println (mydriver.gettitle ());
Meu motorista.troque para().NewWindow (WindowType.ABA);


Agora, entendemos este código. Primeiro, lançamos o “Bing.com ”através do motorista“.Obtenha ”método. Então, adicionamos uma impressão de comando no motorista “.gettitle ”, que lhe dá o título da página. Escrevemos o motorista “.alternar ”para o novo método da janela. Nesta nova janela em particular, você pode passar uma nova guia ou nova janela que deseja abrir. Escrevemos o tipo de tipo de janela. Então, escreva o nome da janela. O tipo de janela é uma enumeração (que você deseja abrir uma nova guia ou nova janela). Aqui, abrimos uma nova guia, então escrevemos "Tab". Depois de executar este código, ele abre uma nova guia em branco. Agora, vamos executá -lo e ver o resultado.


Depois de executar o código anterior, obtemos o resultado em duas janelas: um é o Bing.com e a outra guia está em branco.

Meu motorista.troque para().NewWindow (WindowType.ABA);


Depois de abrir uma nova guia, ele mostra onde exatamente o motorista está disponível. Por exemplo, abrimos duas guias - a guia 1 e a guia número 2. Na guia número 1, temos “Bing.com ”. No Tab Número 2, temos “Facebook.com ”. Antes, quando lançamos nosso motorista onde lançamos “Bing.com ”, o motorista está disponível na primeira guia. Mas no momento em que escrevemos o “driver.Gettitle ”, isso é Bing. No momento em que escrevemos o “driver.alternar ”para uma nova janela, o tipo de janela é guia. Agora, a nova janela em branco é aberta. O motorista muda aqui, o que significa que o driver está disponível na nova guia aberta. Então, o controle do motorista está disponível aqui.

Depois disso, se escrevermos a impressão “Driver.Gettitle ”novamente, o motorista está disponível na janela em branco na guia em branco. Não deve te dar nenhum título novamente. Quando você executa o código, você encontrará uma guia em branco.

Exemplo 2:

Agora, primeiro criamos uma nova classe para executar o script chamado "NewWindowExample".


O primeiro passo para abrir o selênio é inserir a configuração.SetProperty e o driver do Chrome. Então, insira os pacotes para os dois.

Sistema.setProperty ('WebDriver.cromada.Driver ', ° C: \\ Users \\ abc \\ Downloads \\ Chromedriver_win32 \\ Chromedriver.exe");
Webdriver mydriver = new Chromedriver ();
Meu motorista.gerenciar().janela().maximizar();


Para atingir nosso objetivo, escreva o driver de URL.obtenha () primeiro e cole o URL específico nele. Agora, quando executamos o script, temos a janela específica em uma nova guia.

Se queremos lidar com várias janelas, mudamos de uma janela para outra. Para executar isso, escrevemos um “driver.Trocar". Então, podemos ver que existem opções que estão abertas em selênio. As opções incluem o seguinte:

    • troque para.quadro (int fRameNumber)
    • troque para.quadro (WebElement FrameElement)
    • troque para.Frame (String Framename)
    • troque para().defaultContent ()

Examinamos todo esse procedimento através de nossa codificação.

public static void main (string [] args)
Sistema.SetProperty (“WebDriver.cromada.Driver ”,“ C: \\ Users \\ abc \\ Downloads \\ Chromedriver_win32 \\ Chromedriver.exe");
Webdriver mydriver = new Chromedriver ();
Meu motorista.gerenciar().janela().maximizar();
Meu motorista.Get (“https: // www.eBay.com ”)


Quando executamos esse código no Selenium, obtemos a página da Amazon como uma saída em nossa nova guia.

Meu motorista.troque para().NewWindow (WindowType.ABA);


Usando essa linha em particular (dada anteriormente), convencemos o selênio a abrir uma guia nova quando a execução estiver em vigor.

Agora, precisamos adicionar outro URL. O que nosso script faz depois de executar o código? Primeiro, a janela da Amazon abre. Então, a janela da força de vendas é aberta.

Meu motorista.troque para().NewWindow (WindowType.ABA);
Meu motorista.Get (“https: // bing.com ”)


Exemplo 3:

Agora, no terceiro e no último exemplo deste artigo, criamos um novo nome de classe e criamos uma nova janela ou guia. Neste código, usamos o webdriver e especificamos uma variável. Em seguida, usando um webdriver, podemos criar um objeto usando o gerenciador da web. Isso abre como um driver de cromo. Agora, precisamos abrir o URL. Para isso, usamos o método get que está presente no webdriver. Precisamos fornecer o URL e abri -lo. Então, vamos dar esse URL específico e criar uma variável de string chamada URL e o driver.Encontre o elemento, por localizador XPath que encontramos. Isso retruia o webElement. Então, insira a “impressão.fora.imprimir.em ”como pretendemos abrir este URL em uma nova guia ou uma nova janela. Podemos conseguir isso usando o “driver.alternar ”para o novo método de janela que está presente no selênio. Precisamos fornecer o tipo de janela para o "novo tipo de janela" como o que deveria ser, seja uma guia ou uma janela. Mas o tipo de janela nada mais é do que uma enumeração.

public Enum WindowType
Janela ("janela"),
Guia ("guia"),


Enum aceita uma janela ou uma guia. Precisamos fornecer isso à “janela.tipo.Tab ”. Veja o restante do código no seguinte:

Meu motorista.Get ("https: // www.selênio.dev/");
motorista.gerenciar().janela().maximizar();
String urlname = driver.FindElement (por.xpath ("// tabela [@id = 'tabela1'/tbody/sistema.fora.println (ur1name);
Meu motorista.troque para().NewWindow (WindowType.ABA);
Meu motorista.obtenha (ur1name);
Sistema.fora.println (mydriver.gettitle ());


Isso abre em uma nova guia e muda para essa guia. Depois que a guia estiver aberta, podemos abrir nosso URL sempre que usamos o driver.pegar. O URL, que é a string dessa maneira, abre em uma nova guia.

Conclusão

Fornecemos uma breve introdução ao selanium webdriver e descobrimos como abrir uma nova guia no selênio em detalhes. Com a ajuda de alguns exemplos, também aprendemos a abrir várias guias no Selenium Wedriver e algumas das funções do selênio.