在硒中按电话键盘输入键

问题描述 投票:3回答:3
String str1 = sheet1.getRow(i).getCell(0).getStringCellValue();
String str2 = sheet1.getRow(i).getCell(1).getStringCellValue();

driver2.findElement(By.xpath("//android.widget.EditText[@text='Start - press enter to drop marker']")).clear();
driver2.findElement(By.xpath("//android.widget.EditText[@text='Start - press enter to drop marker']")).sendKeys(str1);
driver2.sendKeyEvent(AndroidKeyCode.ENTER);


driver2.findElement(By.xpath("//android.widget.EditText[@text='End - press enter to drop marker']")).clear();
driver2.findElement(By.xpath("//android.widget.EditText[@text='End - press enter to drop marker']")).sendKeys(str2);

driver2.findElement(By.xpath("//android.widget.Button[@index='1']")).click();

我想在selenium中按电话键盘上的输入键,我使用了一个名为sendKeyEvent的方法,但它无法正常工作,有人可以建议我如何在硒中按电话键盘输入键。

java selenium appium
3个回答
5
投票

根据你的评论:

  • 要按Enter键,您可以使用: WebElement.sendKeys(Keys.ENTER);
  • 要按Return键,您可以使用: WebElement.sendKeys(Keys.RETURN);
  • 如您想在手机键盘上按下它,您可以使用: WebElement.sendKeys(Keys.KEYCODE_NUMPAD_ENTER);

以下是有用的JavaDoc链接:


1
投票

这就是我一直在使用的。

driver.pressKeyCode(AndroidKeyCode.ENTER);

1
投票

您可以尝试以下任何代码:

ApplicationSetup.driver.getKeyboard().pressKey(Keys.ENTER);
ApplicationSetup.driver.getKeyboard().sendKeys(Keys.ENTER);
ApplicationSetup.driver.getKeyboard().sendKeys(Keys.RETURN);
© www.soinside.com 2019 - 2024. All rights reserved.