Selenium自动化用法详解【鼠标控制】

简介: Selenium自动化用法详解【鼠标控制】

简介

  本文主要讲解如何用java  Selenium 控制鼠标在浏览器上的操作方法。主要列举的代码示例,无图显示。可以自己上代码执行操作看效果。

鼠标控制

单击左键

模拟完成单击鼠标左键的操作,一般点击进入子页面等会用到。

第一种通过WebElement对象的click()方法实现单击左键

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class SeleniumDemo {
    private final static String webDriver = "webdriver.chrome.driver";
    private final static String webDriverPath ="E:\\chromedriver\\chromedriver.exe";
    public static void main(String[] args) throws InterruptedException {
        System.setProperty(webDriver, webDriverPath);
        WebDriver driver= new ChromeDriver();
        //Jenkins 登录界面
        driver.get("http://119.167.159.214:8080/login");
        Thread.sleep(2000);
        //定位按钮元素
        WebElement commentPlugin=driver.findElement(By.name("Submit"));
        //执行单击操作
        commentPlugin.click();
    }
}

第二种通过Actions对象的click()方法实现单击左键

//定位按钮元素
        WebElement commentPlugin=driver.findElement(By.name("Submit"));
        // 实例化Actions类对象:actions,并将driver传给actions
        Actions actions = new Actions(driver);
        //无定位点击
        actions.click().perform();
        //定位web元素后点击
        actions.click(commentPlugin).perform();

.perform()方法是动作执行的意思,每个动作方法必须再使用.perform()才能执行。

单击右键

鼠标右击的操作与左击有很大不同,需要使用 Actions

//定位按钮元素
        WebElement commentPlugin=driver.findElement(By.name("Submit"));
        // 实例化Actions类对象:actions,并将driver传给actions
        Actions actions = new Actions(driver);
        //无定位右键点击
        actions.contextClick().perform();
        //定位web元素后右键点击
        actions.contextClick(commentPlugin).perform();

双击左键

模拟鼠标双击操作。

//定位按钮元素
        WebElement commentPlugin=driver.findElement(By.name("Submit"));
        // 实例化Actions类对象:actions,并将driver传给actions
        Actions actions = new Actions(driver);
        //无定位双击
        actions.doubleClick().perform();
        //定位web元素后双击
        actions.contextClick(commentPlugin).perform();

按压左键

模拟鼠标按下左键不松手

//无定位鼠标按压左键
        actions.clickAndHold().perform();
        //定位web元素后鼠标按压左键
        actions.clickAndHold(commentPlugin).perform();

鼠标箭头移动

模拟鼠标箭头移动

//移动到定位的元素位置上    
 actions.moveToElement(commentPlugin).perform();

鼠标释放

模拟鼠标按压后,释放鼠标

//鼠标释放
        actions.release().perform();
        //定位释放鼠标释放
        actions.release(commentPlugin).perform();

鼠标拖拽

模拟鼠标选中web元素后拖拽到指定位置的操作

//需要拖拽的web元素
        WebElement source=driver.findElement(By.id("source"));
        //拖拽的目标元素的位置
        WebElement target=driver.findElement(By.id("target"));
        //拖拽操作
        actions.dragAndDrop(source,target).perform();

鼠标等待

一般点击网页的某个按钮,网页需要渲染一端时间才会出现新的dom树,所以我们需要操作等待执行。

//定位web元素后鼠标按压左键
        actions.clickAndHold(commentPlugin).perform();
        //动作等待3秒
        actions.pause(5000);
        //释放鼠标左键
        actions.release(commentPlugin).perform();
相关文章
|
3天前
|
数据采集 Web App开发 测试技术
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
在网络爬虫领域,Selenium与WebDriver是实现跨浏览器自动化数据抓取的利器。本文详细介绍了如何利用Selenium和WebDriver结合代理IP技术提升数据抓取的稳定性和效率。通过设置user-agent和cookie来模拟真实用户行为,避免被网站检测和阻止。文章提供了具体的代码示例,展示了如何配置代理IP、设置user-agent和cookie,并实现了跨浏览器的数据抓取。合理的参数配置能有效减少爬虫被封禁的风险,提高数据抓取效率。
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
|
2天前
|
Web App开发 Java 测试技术
自动化测试的利器:Selenium WebDriver入门与实践
【9月更文挑战第8天】在软件开发的海洋中,测试是确保我们不会溺水的那根救生索。Selenium WebDriver,作为自动化测试的明星工具,让这根救生索更加结实可靠。本文将带你快速上手Selenium WebDriver,从基础设置到实际操作,再到实战演练,让你的开发之旅更加平稳顺畅。
|
11天前
|
Web App开发 Java 测试技术
自动化测试的新篇章:使用Selenium WebDriver进行高效测试
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试犹如一艘航船,带领着质量保证团队驶向效率与精准的彼岸。本文将揭开Selenium WebDriver的神秘面纱,通过实际案例引导您掌握这一强大的自动化测试工具。我们将从Selenium WebDriver的基础概念出发,逐步深入到代码示例,最后探讨其在现实项目中的应用场景和优势,旨在为您的软件测试之旅提供清晰的指南。
|
11天前
|
Web App开发 测试技术 持续交付
探索自动化测试:以Selenium和Python为例
【8月更文挑战第31天】自动化测试在现代软件开发中扮演着不可或缺的角色。本文将通过一个简化的示例,展示如何使用Selenium和Python进行Web应用的自动化测试。我们将从安装必要的工具开始,逐步构建一个简单的测试脚本,并执行它来验证其功能。通过这个过程,我们旨在揭示自动化测试的价值,并激励读者深入探索这一领域。
|
11天前
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【8月更文挑战第31天】在软件开发的世界中,自动化测试是提高产品质量和开发效率不可或缺的一环。本文将深入探讨Selenium这一强大的自动化测试工具,从其架构、优势到实战应用,一步步揭示如何利用Selenium框架提升软件测试的效率和准确性。通过具体的代码示例,我们将展示Selenium如何简化测试流程,帮助开发者快速定位问题,确保软件的稳定性和可靠性。无论你是测试新手还是资深开发者,这篇文章都将为你打开一扇通往高效自动化测试的大门。
|
11天前
|
Java 测试技术 API
探索自动化测试的奥秘:从Selenium到Appium
【8月更文挑战第31天】本文旨在引导读者理解自动化测试的重要性,并逐步深入介绍如何利用Selenium和Appium这两个强大的工具来提升测试效率和质量。文章不仅分享理论知识,还通过具体代码示例,展示如何在Web应用和移动应用测试中实施自动化策略。
|
11天前
|
Web App开发 人工智能 测试技术
探索自动化测试的奥秘:以Selenium为例
【8月更文挑战第31天】在软件发展的快速车道上,自动化测试是确保质量和效率的关键。本文将深入探讨自动化测试的重要性,并以Selenium这一流行的自动化测试框架为例,展示如何通过代码实现自动化测试流程。文章不仅提供了实用的代码示例,还讨论了自动化测试在现代软件开发中扮演的角色和面临的挑战。
|
11天前
|
Web App开发 敏捷开发 Java
自动化测试入门:以Selenium为例
【8月更文挑战第31天】在软件开发的海洋中,自动化测试犹如一座灯塔,指引着项目质量保障的方向。本文将带你驶入Selenium自动化测试的港湾,从搭建环境到编写简单的测试脚本,逐步展开对Web应用功能和界面的自动化验证之旅。通过实际代码示例,我们将一起探索如何利用Selenium工具提升测试效率,确保软件质量的同时,为开发流程增添一份信心与乐趣。
|
11天前
|
Web App开发 安全 测试技术
自动化测试中的Python魔法:使用Selenium和pytest框架
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试是确保航行安全的灯塔。本文将带你探索如何利用Python语言结合Selenium和pytest框架,搭建一套高效的自动化测试体系。我们将从基础设置讲起,逐步深入到编写测试用例,最后通过一个实战案例来展示如何在实际项目中运用这些工具。文章旨在为读者提供一套清晰的自动化测试解决方案,让你的开发之旅更加顺畅。
|
11天前
|
Web App开发 敏捷开发 Java
自动化测试中的神器 —— Selenium WebDriver
【8月更文挑战第31天】在软件开发的海洋里,自动化测试是那艘能带领我们驶向高效与精准彼岸的帆船。本文将带你领略Selenium WebDriver的魅力,从安装到实战,一步步解锁自动化测试的新境界。你将看到代码如何化繁为简,让重复的测试工作变得轻松愉快。让我们一起驾驭这股代码的风,向着软件质量的灯塔进发!