Clique com o botão direito e Double Clique em Selenium

⚡ Resumo Inteligente

Clique com o botão direito e Double Clique em Selenium As ações do mouse são automatizadas por meio da classe Actions. Este tutorial demonstra ambas as operações com exemplos práticos. Java código, cenários de teste reais e os métodos que os executam internamente Selenium WebDriver.

  • 🖱️ Método principal: A classe Actions expõe os métodos contextClick() para clique com o botão direito do mouse e doubleClick() para clique duplo em qualquer WebElement.
  • 🧭 Padrão de fluxo de trabalho: Localize o elemento, instancie as Ações com o driver, chame a ação e encadeie perform() para executar.
  • 🧪 Cenário testado: Ambos os exemplos têm como alvo o demo.guru99.com/test/simple_context_menu.html para resultados verificados e repetíveis.
  • 🆚 Diferenciação de ação: Clicar com o botão direito do mouse abre menus contextuais; clicar duas vezes ativa mudanças de estado, como alertas ou edições.
  • 🤖 Integração de IA: Localizadores com capacidade de autorreparação e assistência por IA Selenium Os frameworks reduzem a instabilidade durante ações de clique.

Clique com o botão direito e Double Clique em Selenium

Clique com o botão direito em Selenium

Ação de clique com o botão direito em Selenium O WebDriver é implementado usando a classe Actions. A operação também é chamada de Clique de Contexto. Os valores predefinidos contextClick() O método da classe Actions executa o clique com o botão direito do mouse. Abaixo está a sintaxe básica.

Actions actions = new Actions(driver);
WebElement elementLocator = driver.findElement(By.id("ID"));
actions.contextClick(elementLocator).perform();

Como clicar com o botão direito em Selenium

O cenário abaixo inicia um GuruNa página de demonstração 99, o usuário clica com o botão direito do mouse e seleciona uma opção no menu de contexto que aparece.

Cenário de teste:

  1. Lançamento: https://demo.guru99.com/test/simple_context_menu.html
  2. Clique com o botão direito do mouse no botão “clique com o botão direito do mouse em mim”.
  3. Clique no link Editar no menu exibido.
  4. Clique em OK no alerta.
  5. Feche o navegador

Code:

package test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;

public class ContextClick {
    public static void main(String[] args) throws InterruptedException {
        WebDriver driver;
        System.setProperty("webdriver.chrome.driver", "X://chromedriver.exe");
        driver = new ChromeDriver();

        driver.get("https://demo.guru99.com/test/simple_context_menu.html");
        driver.manage().window().maximize();

        Actions action = new Actions(driver);
        WebElement link = driver.findElement(By.cssSelector(".context-menu-one"));
        action.contextClick(link).perform();

        WebElement element = driver.findElement(By.cssSelector(".context-menu-icon-copy"));
        element.click();
    }
}

Resultado: O menu de contexto aparece e a opção Editar é selecionada.

Clique com o botão direito em Selenium

Double Clique em Selenium

Seguindo o mesmo padrão baseado em ações, Double Clique em Selenium O WebDriver usa o predefinido doubleClick() método. A classe Actions é a auxiliar padrão para operações compostas de mouse e teclado, como clique com o botão direito, arrastar e soltar e passar o mouse sobre o elemento.

Actions actions = new Actions(driver);
WebElement elementLocator = driver.findElement(By.id("ID"));
actions.doubleClick(elementLocator).perform();

O fluxo de execução é o seguinte:

  • Instancie um objeto Actions usando a instância do driver.
  • Localize o elemento alvo com findElement.
  • Ligar doubleClick() e corrente perform() executar.

Como Double Clique em Selenium

O próximo cenário demonstra um clique duplo completo que aciona um JavaO script gera um alerta e o confirma programaticamente.

Cenário de teste:

Code:

package test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.Alert;

public class DoubleClickDemo {
    public static void main(String[] args) throws InterruptedException {
        WebDriver driver;
        System.setProperty("webdriver.chrome.driver", "X://chromedriver.exe");
        driver = new ChromeDriver();

        driver.get("https://demo.guru99.com/test/simple_context_menu.html");
        driver.manage().window().maximize();

        Actions action = new Actions(driver);
        WebElement link = driver.findElement(By.xpath("//button[text()='Double-Click Me To See Alert']"));
        action.doubleClick(link).perform();

        Alert alert = driver.switchTo().alert();
        System.out.println("Alert Text\n" + alert.getText());
        alert.accept();
    }
}

Resultado: O alerta aparece e o texto do alerta é impresso na tela. Eclipse console.

Double Clique em Selenium alerta

Double Clique em Saída do console

Perguntas Frequentes

O método WebElement.click() dispara apenas um clique esquerdo. O clique direito e o clique duplo são eventos compostos do mouse que exigem que a classe Actions os encadeie e os dispare através do método perform().

Sim. `contextClick()` simula um clique com o botão direito do mouse e abre o menu de contexto do aplicativo. Os dois termos são usados ​​de forma intercambiável em Selenium docs.

A classe Actions enfileira eventos. Sem o método perform(), as etapas encadeadas nunca são despachadas. O método perform() limpa a fila e executa cada ação enfileirada em ordem.

Sim, JavaO Executor de Scripts pode disparar um clique duplo, mas ignora os eventos reais do navegador. A abordagem com Ações é a recomendada. Selenium padrão.

Sim. O clique com o botão direito e o clique duplo através das Ações funcionam no Chrome sem interface gráfica. Firefox desde que a API W3C Actions seja compatível. Selenium 4 drivers oferecem suporte completo a isso.

A turma de Ações chegou em Selenium O WebDriver 2.0 está dentro de org.openqa.selenium.interactions e é mantido em Selenium 3 e 4 com suporte para Ações W3C.

ferramentas de IA e Selenium alternativas Aplique localizadores com capacidade de autorreparação que se adaptam às mudanças de elementos durante os cliques, reduzindo falhas intermitentes causadas por IDs dinâmicos ou layouts variáveis.

Sim. Assistentes de código de IA podem converter um cenário em linguagem simples em Selenium Java or Python Código que utiliza contextClick() e doubleClick(), além de sugerir localizadores e esperas robustos.

Resuma esta postagem com: