首页 > 其他分享 >鼠标键盘操作Actions类和Robot

鼠标键盘操作Actions类和Robot

时间:2023-04-08 22:03:09浏览次数:41  
标签:CONTROL 鼠标 元素 driver Robot Actions new

Actions类

一、鼠标右击、双击

  Java代码

//定位百度首页右上角  新闻
WebElement Xw=driver.findElement(By.xpath("//*[@id='u1']/a[1]"));
//new Actions对象
Actions RightClick=new Actions(driver);
//在 新闻 上点击鼠标右键
RightClick.contextClick(Xw).perform();
Thread.sleep(3000);
//双击 新闻
RightClick.doubleClick(Xw).perform();
Thread.sleep(3000);

二、鼠标移动到指定位置

  java代码

//定位百度首页右侧 更多产品
WebElement gdcp=driver.findElement(By.xpath("//*[text()='更多产品']"));
//实例化Actions
Actions MTE=new Actions(driver);
//鼠标移动到 更多产品上
MTE.moveToElement(gdcp).perform();
//等待3秒
Thread.sleep(3000);

三、拖动元素

  java代码

//定位要拖动的元素
WebElement dg=driver.findElement(By.xpath("//*[text()='拖动']"));
//实例化Actions
Actions tuodong=new Actions(driver);
Thread.sleep(1000);
//将定位的dg拖动(100,300)
tuodong.dragAndDropBy(dg,100,300).perform();
Thread.sleep(2000);

四、将元素拖到另一元素上

  java代码

//定位要拖动的元素
WebElement ElementStart=driver.findElement(By.xpath("//*[text()='拖动']"));
//定位终点上的元素
WebElement ElementEnd=driver.findElement(By.xpath("//*[text()='tuodongduodong']"));
//实例化Actions
Actions CM=new Actions(driver);
CM.clickAndHold(ElementStart)
    .moveToElement(ElementEnd)
    .release(ElementEnd)
    .perform();

五、下拉框多选

  HTML源码

<td>多选下拉框</td>                    
        <select id="selects" multiple="multiple">
            <option label="java">java</option>
            <option label="c">c</option>
            <option label="c++">c++</option>
            <option label="VB">VB</option>
            <option label="php">php</option>
            <option label="python">python</option>
            <option label="ruby">ruby</option>
        </select>

java代码

//获取下拉框中所有的文本元素
        List<WebElement> list=driver.findElements(By.xpath("//*[@id='selects']/option"));
        //实例化Actions
        Actions AtList=new Actions(driver);
        //按下CONTROL键
        AtList.keyDown(Keys.CONTROL)
        //点击第一个元素,第一个元素是被默认选中的,所以不想选择第一个就再点一下
        .click(list.get(0))
        //点击第二个元素
        .click(list.get(2))
        //点击第四个元素
        .click(list.get(3))
        //释放CONTROL键
        .keyUp(Keys.CONTROL)
        //执行
        .perform();

 

Robot类

按下按键 keyPress()

释放按键 keyRelease()

public void Robot() throws AWTException{
        driver.get("https://www.baidu.com/");
        //实例化Robot
        Robot rb=new Robot();
        //按下CONTROL键
        rb.keyPress(KeyEvent.VK_CONTROL);
        //按下s键
        rb.keyPress(KeyEvent.VK_S);
        Thread.sleep(1000);
        //松开s键
        rb.keyRelease(KeyEvent.VK_S);
        //松开CONTROL键
        rb.keyRelease(KeyEvent.VK_CONTROL);
        
    }

 

标签:CONTROL,鼠标,元素,driver,Robot,Actions,new
From: https://www.cnblogs.com/ixtao/p/17299334.html

相关文章

  • Windows 系统 多桌面切换的 鼠标实现
    我作为一个开发者正常在日常的工作环境中大多是使用MacOS系统进行开发。也经常会接触到windows系统。我认为,苹果操作系统在使用体验方面非常人性化,比如提供了很多方便的快捷键和快捷指令。对于我来说,最喜欢的功能就是苹果的多桌面,让我可以更加高效地处理任务。虽然Windows操作......
  • JS 模拟鼠标事件mouse over、click
     <!DOCTYPEhtml><html><head><metacharset="utf-8"><metahttp-equiv="content-type"content="text/html;charset=utf-8"><metaname="renderer"content="webkit&quo......
  • threejs_交互_鼠标点击_添加物体_删除物体
    click点击添加物体,shirft+click点击删除物体<!DOCTYPEhtml><htmllang="en"><head> <metacharset="utf-8"> <title>three.jswebgl-interactive-voxelpainter</title> <metaname="viewport"conten......
  • Chrome浏览器插件:CrxMouse(鼠标手势控制浏览器)
    CrxMouse是一款谷歌浏览器插件,它可以通过手势来控制您的浏览器,在您的日常网络浏览中提高效率和速度。插件介绍CrxMouse是一个非常流行的谷歌浏览器插件,它允许您通过鼠标手势来控制您的浏览器。该插件集成了大量的手势功能,使您可以在不使用键盘或鼠标的情况下轻松地进行网页浏览......
  • JS轮播图定时播放,鼠标经过轮播图时不停,鼠标离开轮播图时播放速度越来越快
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=d......
  • js 鼠标事件的位置x,y
    1.clientX和clientY与x,yclientX和clientY与x,y一样的,都是客户当前显示的屏幕上(反之可能被卷去)可视区域坐标,指鼠标的坐标,以浏览器显示网页区域的左上角开始,x,y是新浏览器支持2.offsetX,offsetYoffsetX,offsetY针对目标元素(就是被点击的元素)offsetXoffsetY是相对于触发元素不......
  • DOM:让一个元素跟随鼠标移动而移动
    <!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metahttp-equiv="X-UA-Compatible"content="IE=edge">  <metaname="viewport"content="width=......
  • Python 自动化指南(繁琐工作自动化)第二版:二十、使用 GUI 自动化控制键盘和鼠标
    原文:https://automatetheboringstuff.com/2e/chapter20/了解用于编辑电子表格、下载文件和启动程序的各种Python模块是很有用的,但有时您需要使用的应用没有任何模块。在计算机上实现任务自动化的终极工具是你编写的直接控制键盘和鼠标的程序。这些程序可以通过发送虚拟击键......
  • FastAdmin 中table字段太长,显示省略号,鼠标停留显示文字
    {field:'question',title:__('Question'),operate:false,formatter:function(value,row,index,field){return"<spanstyle='display:block;overflow:hidden;text-overflow:ellipsis;white-space:......
  • Python基础之pyautogui模块(详细总结鼠标键盘操作)
    来源:https://zhuanlan.zhihu.com/p/471275277仅用于个人学习(以防自己忘记)1.GUI控制功能控制鼠标键盘使用的模块为:pyautogui,这个模块操作起鼠标键盘的时候,非常的迅速,而且如果该模块控制了鼠标后,程序比较难关闭,这时我们有两个方法专门针对以上的情况:1.1自动防故障功能 ......