最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Java Selenium中的鍵盤控制操作

 更新時間:2023年01月06日 15:21:00   作者:洛陽泰山  
這篇文章主要為大家介紹了如何使用java代碼利用Selenium 控制瀏覽器中需要用到的鍵盤操作。文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下

簡介

本文主要簡介如何使用java代碼利用Selenium 控制瀏覽器中需要用到的鍵盤操作。

鍵盤控制

webdriver 中 Keys 類幾乎提供了鍵盤上的所有按鍵方法,我們可以使用 send_keys + Keys 實現(xiàn)輸出鍵盤上的組合按鍵如 “Ctrl + C”、“Ctrl + V” 等。

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
 
/**
 * @author Lenovo
 */
public class SeleniumDemo {
    private final static String webDriver = "webdriver.chrome.driver";
    private final static String webDriverPath ="E:\\chromedriver\\chromedriver.exe";
 
    public static void main(String[] args) throws InterruptedException {
        System.setProperty(webDriver, webDriverPath);
        WebDriver driver= new ChromeDriver();
        //有道翻譯頁面
        driver.get("https://fanyi.youdao.com/index.html#/");
        WebElement element=driver.findElement(By.id("js_fanyi_input"));
        //輸入賬戶名
        element.sendKeys("admin");
        // 模擬回車鍵進行跳轉(zhuǎn)(輸入內(nèi)容后)
        element.sendKeys(Keys.ENTER);
        //Ctrl + A 全選輸入框中內(nèi)容
        element.sendKeys(Keys.CONTROL, "A");
        //Ctrl + C 復(fù)制輸入框中內(nèi)容
        element.sendKeys(Keys.CONTROL, "C");
        //Ctrl + V 粘貼輸入框中內(nèi)容(第一粘貼會把原來的內(nèi)容替換)
        element.sendKeys(Keys.CONTROL, "V");
        //Ctrl + V 粘貼輸入框中內(nèi)容
        element.sendKeys(Keys.CONTROL, "V");
        //Ctrl + V 粘貼輸入框中內(nèi)容
        element.sendKeys(Keys.CONTROL, "V");
    }
}

其他常見鍵盤操作:

操作描述
Keys.F1F1鍵
Keys.SPACE空格
Keys.TABTab鍵
Keys.ESCAPEESC鍵
Keys.ALTAlt鍵
Keys.SHIFTShift鍵
Keys.ARROW_DOWN向下箭頭
Keys.ARROW_LEFT向左箭頭
Keys.ARROW_RIGHT向右箭頭
Keys.ARROW_UP向上箭頭
Keys.BACK_SPACEBackspace建

組合鍵使用

        //組合鍵
        element.sendKeys(Keys.CONTROL,Keys.SHIFT, "A");

高頻使用

//輸入文本
element.sendKeys("洛陽泰山");

補充知識

鍵盤操作除了使用Selenium 控制鍵盤外還可以使用 java robot (java.awt包下)的控制鍵盤結(jié)合使用。

使用示例

通過 Robot 類實現(xiàn)發(fā)送鍵盤組合鍵

    /* 發(fā)送鍵盤組合鍵,模擬"全選 Ctrl+A ->復(fù)制 Ctrl+C ->粘貼 Ctrl+V"快捷鍵功能
     *         第 2 種方法: 通過 Robot 類實現(xiàn)
     * */
    @Parameters("baseUrl1")
    @Test
    public void RobotCtrlACV(String baseUrl1) throws InterruptedException, AWTException {
        driver.get(baseUrl1 + "/");
        WebElement inputBox = driver.findElement(By.xpath("http://*[@id=\"query\"]"));
        inputBox.clear();
        inputBox.sendKeys("搜狗");

        Thread.sleep(2000);
        // 定義一個 Robot 對象
        Robot robot = new Robot();
        // 模擬 全選 Ctrl+A
        robot.keyPress(KeyEvent.VK_CONTROL);  // 按下 Ctrl 鍵
        robot.keyPress(KeyEvent.VK_A);  // 按下字母鍵,這里大小寫均可
        robot.keyRelease(KeyEvent.VK_A);  // 釋放字母鍵,這里大小寫均可
        robot.keyRelease(KeyEvent.VK_CONTROL);  // 釋放 Ctrl 鍵
        // 模擬 復(fù)制 Ctrl+C
        robot.keyPress(KeyEvent.VK_CONTROL);  // 按下 Ctrl 鍵
        robot.keyPress(KeyEvent.VK_C);  // 按下字母鍵,這里大小寫均可
        robot.keyRelease(KeyEvent.VK_C);  // 釋放字母鍵,這里大小寫均可
        robot.keyRelease(KeyEvent.VK_CONTROL);  // 釋放 Ctrl 鍵

        Thread.sleep(2000);

        driver.navigate().to("http://www.baidu.com" + "/");
        inputBox = driver.findElement(By.xpath("http://*[@id=\"kw\"]"));
        inputBox.clear();

        // 模擬 粘貼 Ctrl+V
        robot.keyPress(KeyEvent.VK_CONTROL);  // 按下 Ctrl 鍵
        robot.keyPress(KeyEvent.VK_V);  // 按下字母鍵,這里大小寫均可
        robot.keyRelease(KeyEvent.VK_V);  // 釋放字母鍵,這里大小寫均可
        robot.keyRelease(KeyEvent.VK_CONTROL);  // 釋放 Ctrl 鍵

        Thread.sleep(2000);
    }

當然也可以通過 Actions 類實現(xiàn)

  /* 發(fā)送鍵盤組合鍵,模擬"全選 Ctrl+A ->復(fù)制 Ctrl+C ->粘貼 Ctrl+V"快捷鍵功能
    *         第 1 種方法: 通過 Actions 類實現(xiàn)
    * */
    @Parameters("baseUrl1")
    @Test
    public void ActionsCtrlACV(String baseUrl1) throws InterruptedException, AWTException {
        driver.get(baseUrl1 + "/");
        WebElement inputBox = driver.findElement(By.xpath("http://*[@id=\"query\"]"));
        inputBox.clear();
        inputBox.sendKeys("搜狗");

        Thread.sleep(2000);
        // 定義一個 Actions 對象
        Actions action = new Actions(driver);
        // 模擬 全選 Ctrl+A
        action.keyDown(Keys.CONTROL);  // 按下 Ctrl 鍵
        action.sendKeys(Keys.chord("A"));  // 按下字母鍵,這里大小寫均可
        action.keyUp(Keys.CONTROL);  // 釋放 Ctrl 鍵
        // 模擬 復(fù)制 Ctrl+C
        action.keyDown(Keys.CONTROL);  // 按下 Ctrl 鍵
        action.sendKeys(Keys.chord("c"));  // 按下字母鍵,這里大小寫均可
        action.keyUp(Keys.CONTROL);  // 釋放 Ctrl 鍵
        // 這一步,必不可少,作用是使得以上組合鍵生效
        action.build().perform();

        Thread.sleep(2000);

        driver.navigate().to("http://www.baidu.com" + "/");
        inputBox = driver.findElement(By.xpath("http://*[@id=\"kw\"]"));
        inputBox.clear();

        // 模擬 粘貼 Ctrl+V
        action.keyDown(Keys.CONTROL);  // 按下 Ctrl 鍵
        action.sendKeys(Keys.chord("v"));  // 按下字母鍵,這里大小寫均可
        action.keyUp(Keys.CONTROL);  // 釋放 Ctrl 鍵
        // 這一步,必不可少,作用是使得以上組合鍵生效
        action.build().perform();

        Thread.sleep(2000);
    }

到此這篇關(guān)于詳解Java Selenium中的鍵盤控制操作的文章就介紹到這了,更多相關(guān)Java Selenium鍵盤內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

苗栗市| 双鸭山市| 宁武县| 临洮县| 辛集市| 新竹县| 湖北省| 大冶市| 镇巴县| 射阳县| 江川县| 赤水市| 正宁县| 泸溪县| 克拉玛依市| 大连市| 五原县| 庄河市| 故城县| 潞城市| 屏边| 肥城市| 手机| 谢通门县| 西乌珠穆沁旗| 水富县| 佛学| 共和县| 清水县| 马关县| 封丘县| 双流县| 建湖县| 红河县| 通许县| 信丰县| 会理县| 博爱县| 油尖旺区| 石渠县| 伊通|