鼠标键盘操作Actions类和Robot

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);

三、拖动元素

练习地址:https://www.jqueryui.org.cn/demo/5621.html

  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);
        
    }
复制代码

 

posted @   iTao0128  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示