我正在使用appium,并且正在尝试从iOS的日期选择器中选择日期。
这是我的代码
JavascriptExecutor js = (JavascriptExecutor) driver;
Map<String, Object> params = new HashMap();
params.put("order", "next");
params.put("offset", 0.15);
params.put("element", dayPicker);
for (int i=0;i<10;i++) {
js.executeScript("mobile: selectPickerWheelValue", params);
}
我想选择某天和某年为10。下面是ui的快照。
但是当我尝试使用上面的代码时,我收到以下错误消息。
org.openqa.selenium.WebDriverException: An unknown server-side error
occurred while processing the command. Original error: Error
Domain=com.facebook.WebDriverAgent Code=1 "Picker wheel value has not
been changed after 2 seconds timeout" UserInfo= .
{NSLocalizedDescription=Picker wheel value has not been changed after 2
seconds timeout}
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z'
我也尝试过滚动,但是不幸的是滚动发生了2次并停止了。这是代码。
JavascriptExecutor js = (JavascriptExecutor) driver;
Map<String, Object> params = new HashMap();
params.put("element", dayPicker);
params.put("direction", "down");
params.put("text", "10");
params.put("toVisible", "true");
js.executeScript("mobile: scroll" , params);
System.out.println("******"+dayPicker.getText());
我还想从应用程序其他部分的国家列表中选择国家。因此,如果您能帮助我了解如何使用这些方法,例如scroll,swipe
我正在使用最新的appium桌面版本1.6和appium服务器1.8。
答案 0 :(得分:0)
找到了替代解决方案
((IOSDriver) driver).findElementByClassName("XCUIElementTypePickerWheel")
.sendKeys(text);
答案 1 :(得分:0)
找到不同选择器(日期,月份,年份)的xpath并相应地设置值(尝试set_value('1')
或set_value('= 1')
)
date_picker = driver.find_element_by_xpath('//XCUIElementTypePickerWheel')
date_picker.set_value('1')
答案 2 :(得分:0)
JavascriptExecutor js = (JavascriptExecutor) driver;
Map<String, Object> params = new HashMap();
params.put("order", "next");
params.put("offset", 0.15);
params.put("element",((RemoteWebElement) driver.findElement(dayPicker)).getId());
for (int i=0;i<10;i++) {
js.executeScript("mobile: selectPickerWheelValue", params);
}