我尝试使用 Appium Desktop 1.13
和 java_client 7.0.0
以及 iOS 13.1.3
滚动查看 iOS
中的元素,但它返回错误:
Error Domain = com.facebook.WebDriverAgent Code=1 "Failed to find scrollable visible parent with 2 visible children"
我已经尝试使用元素 ID
和 Xpath,但两者都不起作用。对于 Xpath,它不会返回错误,但不会执行滚动操作。
String elementID = ((RemoteWebElement) element).getId();
JavascriptExecutor js = (JavascriptExecutor) driver;
HashMap<String, String> scrollObject = new HashMap<String, String>();
scrollObject.put("element", elementID);
scrollObject.put("toVisible", "not an empty string");
js.executeScript("mobile: scroll", scrollObject);
预期的结果是屏幕将滚动到指定的元素,但是当我使用 Xpath 时,它不会滚动而没有任何错误,而当我使用 elementID
时,它返回一个错误
请您参考如下方法:
看起来卷轴command对于 iOS 来说是
driver.executeScript("mobile: scroll", ImmutableMap.of("direction", "down"));
你应该尝试这个:
void Rolldown ():
Map<String, Object> args = new HashMap<>();
args.put("direction", "down");
driver.executeScript("mobile: scroll", arg);
while (true):
//Use wait explicit to detect if element exist. If not
// Rolldown()
boolean exist = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath( "element")));
if (!exist)
Rolldown();