Fare clic con il tasto destro e Double Fare clic su Selenium

โšก Riepilogo intelligente

Fare clic con il tasto destro e Double Fare clic su Selenium le azioni del mouse sono automatizzate tramite la classe Actions. Questo tutorial dimostra entrambe le operazioni con il funzionamento Java codice, scenari di test reali e i metodi che li guidano all'interno Selenium WebDriver.

  • ๐Ÿ–ฑ๏ธ Metodo principale: La classe Actions espone il metodo contextClick() per il clic destro e il metodo doubleClick() per il doppio clic su qualsiasi WebElement.
  • ๐Ÿงญ Schema del flusso di lavoro: Individua l'elemento, crea un'istanza di Actions con il driver, chiama l'azione e concatena perform() per eseguirla.
  • ๐Ÿงช Scenario testato: Entrambi gli esempi prendono di mira demo.guru99.com/test/simple_context_menu.html per ottenere risultati verificati e ripetibili.
  • ๐Ÿ†š Distinzione dell'azione: Il clic destro apre i menu contestuali; il doppio clic attiva modifiche di stato come avvisi o modifiche.
  • ๐Ÿค– Integrazione AI: Localizzatori autoriparanti e assistiti dall'IA Selenium I framework riducono l'instabilitร  durante le azioni di clic.

Fare clic con il tasto destro e Double Fare clic su Selenium

Fare clic con il tasto destro del mouse Selenium

Azione clic destro in Selenium WebDriver viene eseguito utilizzando la classe Actions. L'operazione รจ anche chiamata clic contestuale. Il predefinito contextClick() Il metodo della classe Actions esegue il clic destro. Di seguito รจ riportata la sintassi di base.

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

Come fare clic con il tasto destro del mouse Selenium

Lo scenario seguente avvia un Guru99 pagina demo, esegue un clic destro e seleziona un'opzione dal menu contestuale che appare.

Scenario di prova:

  1. Lanciare: https://demo.guru99.com/test/simple_context_menu.html
  2. Fai clic con il pulsante destro del mouse sul pulsante "Fai clic con il pulsante destro del mouse"
  3. Fai clic sul collegamento Modifica nel menu visualizzato.
  4. Fai clic su OK nell'avviso
  5. Chiudi il browser

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();
    }
}

Risultato: Viene visualizzato il menu contestuale e viene selezionata l'opzione Modifica.

Fare clic con il tasto destro del mouse Selenium

Double Fare clic su Selenium

Seguendo lo stesso schema basato sulle azioni, Double Fare clic su Selenium WebDriver utilizza il predefinito doubleClick() metodo. La classe Actions รจ l'helper standard per le operazioni composte del mouse e della tastiera, come clic destro, trascinamento e rilascio e passaggio del mouse.

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

Il flusso di esecuzione รจ il seguente:

  • Crea un'istanza di un oggetto Actions utilizzando l'istanza del driver.
  • Individua l'elemento di destinazione con findElement.
  • Bando doubleClick() e catena perform() eseguire.

Come Double Fare clic su Selenium

Lo scenario successivo dimostra un doppio clic completo che attiva un JavaLo script genera un avviso e lo conferma a livello di programmazione.

Scenario di prova:

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();
    }
}

Risultato: L'avviso viene visualizzato e il testo dell'avviso viene stampato su Eclipse console.

Double Fare clic su Selenium allarme

Double Fare clic su output della console

DOMANDE FREQUENTI

WebElement.click() attiva solo il clic sinistro. Il clic destro e il doppio clic sono eventi composti del mouse che richiedono la classe Actions per essere concatenati e gestiti tramite perform().

Sรฌ. contextClick() simula un vero clic destro e apre il menu contestuale dell'applicazione. I due termini sono usati in modo intercambiabile in Selenium Documenti.

La classe Actions mette in coda gli eventi. Senza il metodo perform(), i passaggi concatenati non vengono mai eseguiti. Il metodo perform() svuota la coda ed esegue ogni azione in coda in ordine.

Sรฌ, JavaScript Executor puรฒ simulare un doppio clic, ma ignora gli eventi reali del browser. L'approccio basato sulle azioni รจ quello consigliato. Selenium standard.

Sรฌ. Il clic destro e il doppio clic tramite Azioni funzionano in Chrome headless e Firefox a condizione che sia supportata l'API W3C Actions. Selenium 4 driver supportano pienamente questa funzionalitร .

La classe Azioni รจ arrivata in Selenium WebDriver 2.0 all'interno di org.openqa.selenium.interactions e viene mantenuto in Selenium 3 e 4 con il supporto di W3C Actions.

strumenti di intelligenza artificiale e Selenium alternative Applica localizzatori auto-riparanti che si adattano alle modifiche degli elementi durante i clic, riducendo i malfunzionamenti intermittenti dovuti a ID dinamici o layout variabili.

Sรฌ. Gli assistenti di codice basati sull'IA possono convertire uno scenario in linguaggio semplice in Selenium Java or Python codice che utilizza contextClick() e doubleClick(), oltre a suggerimenti per localizzatori e attese robusti.

Riassumi questo post con: