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();
相关文章
|
2月前
|
数据采集 测试技术 Python
自动化淘宝秒杀:使用Selenium WebDriver的实战指南
本文详细介绍了如何利用Selenium WebDriver自动化淘宝秒杀操作,包括环境配置、代码实现及注意事项,旨在帮助读者提升秒杀成功率,同时提醒合理使用以遵守平台规则。
124 8
|
24天前
|
Web App开发 数据采集 JavaScript
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
本文介绍了Selenium、Chrome DevTools及Chrome DevTools Protocol (CDP) 的基本功能与应用。Selenium是一款开源自动化测试工具,适用于网页端应用程序测试和数据采集,具备跨平台特性。Chrome DevTools内置浏览器中,提供调试、分析Web应用程序的功能,包括元素、控制台、源代码和网络选项卡等。CDP是一套用于与Chromium内核浏览器通信的API,支持自动化测试和性能分析。文中还展示了Selenium与CDP结合使用的示例,如捕获网络请求数据和打印网页内容,并推荐了相关书籍和资源以供深入学习。
147 39
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
|
1月前
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE:Web自动化测试的利器。作为开源工具,Selenium IDE支持录制与回放用户操作,适用于Chrome、Firefox等多浏览器,简化了测试流程,提升了效率,降低了自动化测试的门槛。它还支持导出多种编程语言的脚本,便于测试集成与复用。
90 19
Selenium IDE:Web自动化测试的得力助手
|
1月前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
189 17
Selenium:强大的 Web 自动化测试工具
|
2月前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
|
2月前
|
数据采集 存储 监控
实现自动化数据抓取:使用Node.js操控鼠标点击与位置坐标
本文介绍了如何使用Node.js和Puppeteer实现自动化数据抓取,特别是针对新闻网站“澎湃新闻”。通过设置代理IP、User-Agent和Cookie,提高爬虫的效率和隐蔽性,避免被网站封锁。代码示例展示了如何模拟鼠标点击、键盘输入等操作,抓取并整理新闻数据,适用于需要规避IP限制和突破频率限制的场景。
115 10
|
3月前
|
数据采集 Web App开发 JavaScript
Selenium爬虫技术:如何模拟鼠标悬停抓取动态内容
本文介绍了如何使用Selenium爬虫技术抓取抖音评论,通过模拟鼠标悬停操作和结合代理IP、Cookie及User-Agent设置,有效应对动态内容加载和反爬机制。代码示例展示了具体实现步骤,帮助读者掌握这一实用技能。
153 0
Selenium爬虫技术:如何模拟鼠标悬停抓取动态内容
|
3月前
|
JavaScript 前端开发 测试技术
精通Selenium:从基础到高级的网页自动化测试策略
【10月更文挑战第6天】随着Web应用变得越来越复杂,手动进行功能和兼容性测试变得既耗时又容易出错。自动化测试因此成为了现代软件开发不可或缺的一部分。Selenium是一个强大的工具集,它支持多种编程语言(包括Python),允许开发者编写脚本来模拟用户与Web页面的交互。本文将带领读者从Selenium的基础知识出发,逐步深入到高级的应用场景,通过丰富的代码示例来展示如何高效地进行网页自动化测试。
679 5
|
2月前
|
Web App开发 设计模式 JavaScript
自动化测试之美:如何利用Selenium实现Web应用的高效测试
【10月更文挑战第29天】在软件开发的世界中,测试是确保产品质量的关键步骤。本文将带你了解如何使用Selenium这一强大的自动化测试工具,提高Web应用测试的效率和准确性。通过实际案例,我们将探索Selenium的核心功能及其在现代软件开发中的应用,旨在帮助读者掌握自动化测试的精髓,从而提升软件测试工作的整体效能。
62 0
|
3月前
|
Web App开发 Java 测试技术
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
66 0