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);
            
        } 
  • 相关阅读:
    SharePoint 2013 安装.NET Framework 3.5 报错
    SharePoint 2016 配置工作流环境
    SharePoint 2016 站点注册工作流服务报错
    Work Management Service application in SharePoint 2016
    SharePoint 2016 安装 Cumulative Update for Service Bus 1.0 (KB2799752)报错
    SharePoint 2016 工作流报错“没有适用于此应用程序的地址”
    SharePoint 2016 工作流报错“未安装应用程序管理共享服务代理”
    SharePoint JavaScript API in application pages
    SharePoint 2016 每天预热脚本介绍
    SharePoint 无法删除搜索服务应用程序
  • 原文地址:https://www.cnblogs.com/puhongjun/p/10305223.html
Copyright © 2011-2022 走看看