Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法单击未处于焦点的编辑文本字段_Java_Android_Selenium Webdriver_Appium - Fatal编程技术网

Java 无法单击未处于焦点的编辑文本字段

Java 无法单击未处于焦点的编辑文本字段,java,android,selenium-webdriver,appium,Java,Android,Selenium Webdriver,Appium,我有一种情况,比如我正在使用Appium1.3.7和Selenium webdriver 2.44自动化本机应用程序,因为我想输入出生日期字段,当我单击出生日期字段时,它会弹出一个窗口来输入出生日期的详细信息,该窗口未对焦,appium无法在窗口上输入详细信息,因为它无法识别此处我无法附加屏幕截图 请帮助我如何进入焦点并输入出生日期详细信息。。 使用谷歌,我尝试了很多方法,比如: 方法:1 方法:3 方法:4 方法:5 对于拾取者,您必须使用在其上滑动。我使用的是Scala,但逻辑是显而易见的:

我有一种情况,比如我正在使用Appium1.3.7和Selenium webdriver 2.44自动化本机应用程序,因为我想输入出生日期字段,当我单击出生日期字段时,它会弹出一个窗口来输入出生日期的详细信息,该窗口未对焦,appium无法在窗口上输入详细信息,因为它无法识别此处我无法附加屏幕截图

请帮助我如何进入焦点并输入出生日期详细信息。。 使用谷歌,我尝试了很多方法,比如:

方法:1 方法:3 方法:4 方法:5
对于拾取者,您必须使用在其上滑动。我使用的是Scala,但逻辑是显而易见的:

def setYear(year: Int): Unit = {
require(year >= 1915 || year <= 2015)
val picker = drvr.findElementById("cz.app.yearPicker")
while (picker.getText != year.toString) {
  if (picker.getText.toInt > year) {
     swipePickerDown(picker)
     } else { swipePickerUp(picker) }
  }
}

def swipePickerUp(picker: AndroidElement): Unit = {
  picker.swipe(SwipeElementDirection.UP, 400)
}

def swipePickerDown(picker: AndroidElement): Unit = {
  picker.swipe(SwipeElementDirection.DOWN, 400)
}

好的,谢谢你让我知道任何人都请回复,因为这对我很重要。你试过完整的xpath了吗?比如,获取整个Hirrearchy?该窗口是否包含选择器android 4.4-,或常规日历android 5.0+?
    WebElement Touch1= dr.findElement(By.xpath("//*[@class='android.widget.EditText']"));
//    
       TouchAction action = new TouchAction(dr);
       action.press(168,440);
       action.waitAction(300);
       action.perform();
dr.tap(168,440,405,591);
WebElement DOBsample = dr.findElementByXPath("//*[text()[contains(.,'20')]]");
DOBsample.click();
dr.sendKeyEvent(66);
def setYear(year: Int): Unit = {
require(year >= 1915 || year <= 2015)
val picker = drvr.findElementById("cz.app.yearPicker")
while (picker.getText != year.toString) {
  if (picker.getText.toInt > year) {
     swipePickerDown(picker)
     } else { swipePickerUp(picker) }
  }
}

def swipePickerUp(picker: AndroidElement): Unit = {
  picker.swipe(SwipeElementDirection.UP, 400)
}

def swipePickerDown(picker: AndroidElement): Unit = {
  picker.swipe(SwipeElementDirection.DOWN, 400)
}