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