在Naukri主页上选择位置时,sendKeys(Keys.AROW_DOWN)不起作用



我是硒的新手。我正在尝试自动化Naukri主页。但是,在字段位置,sendKeys(Keys.AROW_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();

我认为您错过了元素。请试试这个。

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() ;

为什么不直接点击列表中所需的元素,而不是使用Actions

这就是没有Actions的情况

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(3000);
driver.findElement(By.cssSelector("input#qsb-location-sugg.sugInp")).sendKeys("ch");
Thread.sleep(3000);
List<WebElement> elements = driver.findElements(By.xpath("//*[@id='sugDrp_qsb-location-sugg']/ul/li"));
System.out.println(elements.get(1).getText());
elements.get(1).click();

不要在脚本的任何地方使用Thread.sleep((,一定要使用waits。

相关内容

最新更新