[英]Scroll Date Picker using mobile: selectPickerWheelValue in appium
我正在使用 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());
我還想從應用程序其他部分的國家/地區列表中選擇國家/地區。 因此,如果您能幫助我了解如何使用滾動、滑動等這些方法,那將會很有幫助
我正在使用最新的 appium 桌面版本 1.6 和 appium 服務器 1.8。
找到替代解決方案
((IOSDriver) driver).findElementByClassName("XCUIElementTypePickerWheel")
.sendKeys(text);
找到不同選擇器(日期、月份、年份)的 xpath 並相應地設置值(嘗試set_value('1')
或set_value('= 1')
)
date_picker = driver.find_element_by_xpath('//XCUIElementTypePickerWheel')
date_picker.set_value('1')
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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.