zoukankan      html  css  js  c++  java
  • java-selenium鼠标键盘操作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);

    三、拖动元素

      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);
            
        } 
  • 相关阅读:
    ROS 学习遇到的问题记录(持续更新)
    09.07 jQuery 随意整理
    JavaScript 随意整理3
    JavaScript 随意整理2
    css 随意整理 08.08
    html 随意整理
    vue day2
    vue day1
    【copy】必备之常用正则表达式 By 其他博主
    note.js 笔记第二课
  • 原文地址:https://www.cnblogs.com/puhongjun/p/10305223.html
Copyright © 2011-2022 走看看