Selenium webdriver 无法使用selenium Webdriver使用keyDown和keyUp事件

Selenium webdriver 无法使用selenium Webdriver使用keyDown和keyUp事件,selenium-webdriver,Selenium Webdriver,我想做以下事情,有人能帮我做错事吗 1打开代码中提到的站点 2在webdriver中使用keydown和keyup事件输入大写字母和小写字母混合的欢迎文本 公共类键向上和向下{ public static void main(String[] args) { WebDriver driver=new FirefoxDriver(); driver.get("http://fleet.idrivesafely.com"); driver.manage().window().

我想做以下事情,有人能帮我做错事吗

1打开代码中提到的站点 2在webdriver中使用keydown和keyup事件输入大写字母和小写字母混合的欢迎文本

公共类键向上和向下{

public static void main(String[] args) {
    WebDriver driver=new FirefoxDriver();
    driver.get("http://fleet.idrivesafely.com");
    driver.manage().window().maximize();
    driver.findElement(By.linkText("Student Login")).click();
    WebElement loc=driver.findElement(By.className("input1"));
    Actions a= new Actions(driver);
    a.moveToElement(loc)
    .keyDown(Keys.SHIFT)
    .sendKeys("wel")
    .keyUp(Keys.SHIFT)
    .sendKeys("co")
    .keyDown(Keys.SHIFT)
    .sendKeys("me");
    a.perform();

}

} 您的代码需要两个小的更改

更改1: WebElement loc=driver.findElementBy.classNameinput1

指向页面上的三个Web元素,而不是使用下面的

WebElement loc=driver.findElement(By.xpath("//input[@class='input1' and @name='pin_no']"));
更改2:它是一个文本字段,因此

a.moveToElement(loc)
使用

因此,您的代码应该如下所示:

    public static void main(String[] args) {
        WebDriver driver=new FirefoxDriver();
        driver.get("http://fleet.idrivesafely.com");
        driver.manage().window().maximize();
        driver.findElement(By.linkText("Student Login")).click();
        WebElement loc=driver.findElement(By.xpath("//input[@class='input1' and @name='pin_no']"));
        Actions a= new Actions(driver);
        a.click(loc).keyDown(Keys.SHIFT).sendKeys("wel").keyUp(Keys.SHIFT).sendKeys("co").keyDown(Keys.SHIFT).sendKeys("me").perform();

@阿比拉什T:这是一个很好的棘手问题。如果你发现上面的代码有效,请将此标记为答案。谢谢
    public static void main(String[] args) {
        WebDriver driver=new FirefoxDriver();
        driver.get("http://fleet.idrivesafely.com");
        driver.manage().window().maximize();
        driver.findElement(By.linkText("Student Login")).click();
        WebElement loc=driver.findElement(By.xpath("//input[@class='input1' and @name='pin_no']"));
        Actions a= new Actions(driver);
        a.click(loc).keyDown(Keys.SHIFT).sendKeys("wel").keyUp(Keys.SHIFT).sendKeys("co").keyDown(Keys.SHIFT).sendKeys("me").perform();