首页 > 解决方案 > Selenium WebDriver Java keyDown not working

问题描述

I'm learning Selenium WebDriver and have one problem. I want to search on amazon website for "car" with uppercaste. I use keyDown, but it does not work. The test programm fits only "car" with lowercase.

HTML code:

<input id="twotabsearchtextbox" value="" name="field-keywords" autocomplete="off" placeholder="" class="nav-input" dir="auto" tabindex="19" type="text"> 

JAVA code:

 public class FirstTestCase {

            public static void main(String[] args) throws InterruptedException {

                System.setProperty("webdriver.gecko.driver", "C:\\Users\\Downloads\\geckodriver-v0.21.0-win64\\geckodriver.exe");


                WebDriver driver = new FirefoxDriver();
                driver.get("https://www.amazon.com/ref=nav_logo");

                WebElement search = driver.findElement(By.id("twotabsearchtextbox"));

                Actions builder2 = new Actions(driver);
                Action seria = builder2
                        .moveToElement(search)
                        .click()
                        .keyDown(search, Keys.SHIFT)
                        .sendKeys(search, "car")
                        .keyUp(search, Keys.SHIFT)
                        .sendKeys(Keys.ENTER)
                        .build();
                seria.perform();
    }

Firefox version: 61.0.1

Geckodriver version: 0.21.0

I would be grateful for help :)

标签: javaseleniumfirefoxselenium-webdrivergeckodriver

解决方案


 seria.keyDown(search, Keys.SHIFT).sendKeys("car").keyDown(search, Keys.SHIFT).build().perform();

This code should work properly for you.


推荐阅读