• Selenium常用API的使用java语言之9-模拟键盘操作


    Keys()类提供了键盘上几乎所有按键的方法。 前面了解到, sendKeys()方法可以用来模拟键盘输入, 除此之 外, 我们还可以用它来输入键盘上的按键, 甚至是组合键, 如 Ctrl+A、 Ctrl+C 等。

    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.By;
    import org.openqa.selenium.Keys;
     
    public class Keyboard {
     
      public static void main(String[] args)throws InterruptedException {
     
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.baidu.com");
     
        WebElement input = driver.findElement(By.id("kw"));
     
        //输入框输入内容
        input.sendKeys("seleniumm");
        Thread.sleep(2000);
     
        //删除多输入的一个 m
        input.sendKeys(Keys.BACK_SPACE);
        Thread.sleep(2000);
     
        //输入空格键+“教程”
        input.sendKeys(Keys.SPACE);
        input.sendKeys("教程");
        Thread.sleep(2000);
     
        //ctrl+a 全选输入框内容
        input.sendKeys(Keys.CONTROL,"a");
        Thread.sleep(2000);
     
        //ctrl+x 剪切输入框内容
        input.sendKeys(Keys.CONTROL,"x");
        Thread.sleep(2000);
     
        //ctrl+v 粘贴内容到输入框
        input.sendKeys(Keys.CONTROL,"v");
        Thread.sleep(2000);
     
        //通过回车键盘来代替点击操作
        input.sendKeys(Keys.ENTER);
        Thread.sleep(2000);
     
        driver.quit();
      }
    }
    

    需要说明的是,上面的脚本没有什么实际意义,但向我们展示了模拟键盘各种按键与组合键的用法。

    • import org.openqa.selenium.Keys;

    在使用键盘按键方法前需要先导入 keys 类。

    以下为常用的键盘操作:
    sendKeys(Keys.BACK_SPACE) 回格键(BackSpace)
    sendKeys(Keys.SPACE) 空格键(Space)
    sendKeys(Keys.TAB) 制表键(Tab)
    sendKeys(Keys.ESCAPE) 回退键(Esc)
    sendKeys(Keys.ENTER) 回车键(Enter)
    sendKeys(Keys.CONTROL,‘a’) 全选(Ctrl+A)
    sendKeys(Keys.CONTROL,‘c’) 复制(Ctrl+C)
    sendKeys(Keys.CONTROL,‘x’) 剪切(Ctrl+X)
    sendKeys(Keys.CONTROL,‘v’) 粘贴(Ctrl+V)
    sendKeys(Keys.F1) 键盘 F1
    ……
    sendKeys(Keys.F12) 键盘 F12

  • 相关阅读:
    HDU 1284 思维上的水题
    Buy Tickets POJ
    K-th Number Poj
    主席树入门+博客推荐
    Greg and Array CodeForces 296C 差分数组
    三连击 P1008 洛谷 python写法
    Lost Cows POJ 2182 思维+巧法
    Bash and a Tough Math Puzzle CodeForces 914D 线段树+gcd数论
    Can you answer these queries? HDU 4027 线段树
    敌兵布阵 HDU 1166 线段树
  • 原文地址:https://www.cnblogs.com/zhizhao/p/11303193.html
Copyright © 2020-2023  润新知