详解Java Selenium中的鼠标控制操作

 更新时间:2023年01月06日 15:05:06   作者:洛阳泰山  
本文主要讲解如何用java 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();

到此这篇关于详解Java Selenium中的鼠标控制操作的文章就介绍到这了,更多相关Java Selenium鼠标内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java中找不到符号的解决方案

    java中找不到符号的解决方案

    这篇文章主要介绍了java中找不到符号的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • 解决struts2 拦截器修改request的parameters参数失败的问题

    解决struts2 拦截器修改request的parameters参数失败的问题

    这篇文章主要介绍了解决struts2 拦截器修改request的parameters参数失败的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • mybatis if test判断BigDecimal遇到的坑及解决

    mybatis if test判断BigDecimal遇到的坑及解决

    这篇文章主要介绍了mybatis if test判断BigDecimal遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Java线程实现时间动态显示

    Java线程实现时间动态显示

    这篇文章主要为大家详细介绍了Java线程实现时间动态显示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • Security中的WebSecurityConfigurerAdapter详解

    Security中的WebSecurityConfigurerAdapter详解

    这篇文章主要介绍了Security中的WebSecurityConfigurerAdapter详解,今天我们要进一步的的学习如何自定义配置Spring Security,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • Java Socket通信介绍及可能遇到的问题解决

    Java Socket通信介绍及可能遇到的问题解决

    最近在学习Java中的Socket通信,所以下面这篇文章主要给大家介绍了关于Java Socket通信介绍及可能遇到问题的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起看看吧。
    2017-10-10
  • Java通过exchange协议发送邮件

    Java通过exchange协议发送邮件

    这篇文章主要为大家详细介绍了Java通过exchange协议发送邮件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • Intellij IDEA 的maven项目通过Java代码实现Jetty的Http服务器(推荐)

    Intellij IDEA 的maven项目通过Java代码实现Jetty的Http服务器(推荐)

    Jetty是一个轻量级的高度可扩展的基于 java的web服务器和servlet引擎,这篇文章主要介绍了Intellij IDEA 的maven项目通过Java代码实现 Jetty 的 Http服务器从而获取到 Http 的 Get 和 Post 请求,需要的朋友可以参考下
    2022-07-07
  • PowerJob LockService方法工作流程源码解读

    PowerJob LockService方法工作流程源码解读

    这篇文章主要为大家介绍了PowerJob LockService方法工作流程源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Java使用Ajax实现跨域上传图片功能

    Java使用Ajax实现跨域上传图片功能

    这篇文章主要介绍了Java使用Ajax实现跨域上传图片功能,需要的朋友可以参考下
    2017-09-09

最新评论