在硒中按电话键盘输入键

时间:2018-02-02 10:30:37

标签: java selenium appium

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的方法,但它不起作用,有人可以建议我如何在硒中按电话键盘输入键。

3 个答案:

答案 0 :(得分:5)

根据你的评论:

  • 要按 Enter ,您可以使用:

    WebElement.sendKeys(Keys.ENTER);
    
  • 要按返回,您可以使用:

    WebElement.sendKeys(Keys.RETURN);
    
  • 如果您想在手机键盘上按,可以使用:

    WebElement.sendKeys(Keys.KEYCODE_NUMPAD_ENTER);
    

以下是有用的JavaDoc链接:

答案 1 :(得分:1)

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

ApplicationSetup.driver.getKeyboard().pressKey(Keys.ENTER);
ApplicationSetup.driver.getKeyboard().sendKeys(Keys.ENTER);
ApplicationSetup.driver.getKeyboard().sendKeys(Keys.RETURN);

答案 2 :(得分:1)

这就是我一直在使用的。

driver.pressKeyCode(AndroidKeyCode.ENTER);