万事须己运,他得非我贤。这篇文章主要讲述如何从APPIUM中的脚本滚动列表相关的知识,希望能为你提供帮助。
嗨,我在android中使用APPIUM。我需要做的是明智地滚动列表页面。我试着做以下。
MobileElement element =(MobileElement)driver.findElement(By.className("android.widget.ListView"));
javascriptExecutor js = (javascriptExecutor) driver;
HashMap<
String, String>
scrollObject = new HashMap<
>
();
scrollObject.put("direction", "down");
scrollObject.put("element", ((RemoteWebElement) element).getId());
js.executeScript("mobile: scrollTo", scrollObject);
这可以工作,但列表会连续滚动,直到显示最后一个元素。我需要做的是明智地滚动列表页面。
答案这对我有用。
List<
WebElement>
list = driver.findElements(By.xpath("//android.widget.TextView[@resource-id='com.imdb.mobile:id/label']"));
if (list != null &
&
!list.isEmpty()) {
WebElement bottomElement = list.get(list.size() - 1);
WebElement topElement = list.get(0);
TouchAction touchAction = newTouchAction(driver).press(bottomElement).moveTo(topElement).release();
touchAction.perform();
}
另一答案【如何从APPIUM中的脚本滚动列表】由于它是一个可滚动的列表,如何使用
UiScrollable
,例如driver.FindElement(MobileBy.AndroidUIAutomator("new UiScrollable(
new UiSelector().scrollable(true).instance(0)).scrollIntoView(
new UiSelector().resourceId("" + id + "").instance(0))"))
更多选择here
推荐阅读
- C#WinFormApp DataGridView无法在List中显示对象
- 如何使用html2canvas用JavaScript创建网站的屏幕截图
- 什么是.NET Framework C#Xml Parser上的Billion Laughs XML DoS攻击
- 如何在Electron Framework中将信息从一个窗口发送到另一个窗口
- 如何检查Electron Framework中是否有可用的Internet连接
- Cachet(开源状态页系统解决方案)
- 如何在Electron Framework中包含和使用jQuery
- 如何下载Ubuntu更快地发布ISO文件(加速下载)
- 如何使用JavaScript从浏览器中检索计算机的视频卡名称/型号