首页 > 解决方案 > 在 Naukri 主页上选择位置时 sendKeys(Keys.ARROW_DOWN) 不起作用

问题描述

我是硒的新手。我正在尝试自动化 Naukri 主页。但是,在字段位置中, sendKeys(Keys.ARROW_DOWN) 不起作用。代码运行良好,直到 a.sendKeys("ch")。我正在使用下面的代码。请指导。

driver.findElement(By.xpath("//input[@class='sugInp']")).sendKeys("java");
        
        Thread.sleep(2000);
        
        List<WebElement> options = driver.findElements(By.xpath("//ul[@class='Sdrop']/li/div/strong"));
        
        for(WebElement o:options)
        {
            if(o.getText().equalsIgnoreCase("developer"))
            {
                o.click();
                System.out.println("success");
                break;
            }
            
        }
        
        Thread.sleep(5000);

           Robot r = new Robot();
           r.keyPress(KeyEvent.VK_TAB);
           System.out.println("Tab success");
           
           Actions a = new Actions(driver);
           a.sendKeys("ch");
           a.sendKeys(Keys.ARROW_DOWN);
           a.sendKeys(Keys.ARROW_DOWN);
           a.sendKeys(Keys.ENTER);
           a.build().perform();

标签: seleniumarrow-keys

解决方案


我想你错过了你的元素。请试试这个。

WebElement txtUsername = driver.findElement(By.id("email"));

Actions builder = new Actions(driver);
Action seriesOfActions = builder
    .moveToElement(txtUsername)
    .click()
    .keyDown(txtUsername, Keys.SHIFT)
    .sendKeys(txtUsername, "hello")
    .keyUp(txtUsername, Keys.SHIFT)
    .doubleClick(txtUsername)
    .contextClick()
    .build();
    
seriesOfActions.perform() ;

推荐阅读