Selenium 中的右键单击和双击(示例)
Selenium 中的右键单击
Selenium WebDriver 中的右键单击操作可以使用 Actions 类完成。右键单击操作在 Selenium 中也称为上下文单击 (Context Click)。Actions 类提供的预定义方法 `context click` 用于执行右键单击操作。以下是演示使用 Actions 类进行右键单击操作的代码。
Actions actions = new Actions(driver);
WebElement elementLocator = driver.findElement(By.id("ID"));
actions.contextClick(elementLocator).perform();
如何在 Selenium 中右键单击
测试场景
- 启动 URL:https://demo.guru99.com/test/simple_context_menu.html
- 在按钮上执行右键单击操作:“right click me”
- 单击显示的右键单击选项列表中的“编辑”链接
- 单击显示的警报上的“确定”按钮
- 关闭浏览器
代码
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();
//Launch the Application Under Test (AUT)
driver.get("https://demo.guru99.com/test/simple_context_menu.html");
driver.manage().window().maximize();
// Right click the button to launch right click menu options
Actions action = new Actions(driver);
WebElement link = driver.findElement(By.cssSelector(".context-menu-one"));
action.contextClick(link).perform();
// Click on Edit link on the displayed menu options
WebElement element = driver.findElement(By.cssSelector(".context-menu-icon-copy"));
element.click();
// Accept the alert displayed
//driver.switchTo().alert().accept();
// Closing the driver instance
//driver.quit();
}
}
结果
Selenium 中的双击
Selenium WebDriver 中的双击操作可以使用 Actions 类完成。Actions 类是 Selenium WebDriver 中预定义的类,用于执行多种键盘和鼠标操作,例如右键单击、拖放等。
使用 Actions 类在 Selenium 中双击
Actions actions = new Actions(driver);
WebElement elementLocator = driver.findElement(By.id("ID"));
actions.doubleClick(elementLocator).perform();
- 首先,我们需要通过传递驱动程序实例作为参数来实例化 Actions 类的对象。
- 使用 find element 命令,我们需要找到要双击的元素的定位符。
- 使用 Actions 类的预定义双击方法,我们需要对网页元素执行双击操作。
如何在 Selenium 中双击
测试场景
- 启动 URL:https://demo.guru99.com/test/simple_context_menu.html
- 双击标记为“Double-Click Me To See Alert”的按钮
- 单击显示的警报上的“确定”按钮
代码
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 DobuleClickDemo {
public static void main(String[] args) throws InterruptedException {
WebDriver driver;
System.setProperty("webdriver.chrome.driver","X://chromedriver.exe");
driver= new ChromeDriver();
//Launch the Application Under Test (AUT)
driver.get("https://demo.guru99.com/test/simple_context_menu.html");
driver.manage().window().maximize();
driver.get("https://demo.guru99.com/test/simple_context_menu.html");
driver.manage().window().maximize();
//Double click the button to launch an alertbox
Actions action = new Actions(driver);
WebElement link =driver.findElement(By.xpath("//button[text()='Double-Click Me To See Alert']"));
action.doubleClick(link).perform();
//Switch to the alert box and click on OK button
Alert alert = driver.switchTo().alert();
System.out.println("Alert Text\n" +alert.getText());
alert.accept();
//Closing the driver instance
//driver.quit();
}
}
结果
点击“Double-Click Me to See Alert”按钮,显示弹出窗口。
在 Eclipse 中,您可以在控制台中看到输出。
摘要
- Selenium 中的 Actions 类主要用于执行复杂的键盘和鼠标操作。因此,与 JavaScript 相比,Actions 类更受青睐,用于在 Selenium 中执行右键单击和双击等操作。
- 右键单击操作主要用于在对元素进行右键单击时打开新菜单。Selenium WebDriver 中的右键单击操作可以使用下面提到的预定义命令 Context Click 完成。
Actions action = new Actions(driver); WebElement link = driver.findElement(By.ID ("Element ID")); action.contextClick(link).perform(); - 双击操作用于在双击操作后网页元素的状态发生变化时。Selenium WebDriver 中的双击操作可以使用下面提到的预定义命令 Double Click 完成。
Actions action = new Actions(driver); WebElement link = driver.findElement(By.ID ("Element ID")); action. doubleClick (link).perform();



