我想向下滚动到页面底部并执行一些操作。使用uiautomator
我获得了以下内容:
index=2,
resource-id=com.manoramaonline.arogyam:id/pager,class=android.support.v4.view.ViewPager,
scrollable=true.
请帮我这样做。
我正在试用下面的代码。是否有人指出这个问题?
JavascriptExecutor js = (JavascriptExecutor) driver;
RemoteWebElement element =(RemoteWebElement)driver.findElement(By.xpath(
"//android.support.v4.view.ViewPager[@resource-id='com.manoramaonline.arogyam:id/pager']"));
HashMap<String, String> scrollObject = new HashMap<String, String>();
scrollObject.put("direction", "down");
//i am getting error for this code
scrollObject.put("element", element.getId());
js.executeScript("mobile: scroll", scrollObject);
答案 0 :(得分:0)
我按照代码开始工作。
WebElement element = driver.findElement(By.className("android.widget.ScrollView"));
Actions actions = new Actions(driver);
actions.moveToElement(element);
// actions.click();
actions.perform();
答案 1 :(得分:0)
JavascriptExecutor js = (JavascriptExecutor) driver;
HashMap<String, String> scrollObject = new HashMap<String, String>();
scrollObject.put("direction", "down");
js.executeScript("mobile: scroll", scrollObject);
此代码将向下滚动,您可以通过将其放入for循环来指定滚动所需的次数。唯一的缺点是它是一个非特定的代码。同样,这段代码来自他们的一个github答案,正如我所提到的,Appium无法为iOS做任何正确的卷轴。至少,我没有找到任何东西。
答案 2 :(得分:0)
在最近的更新appium“mobile:scroll”已弃用,以下代码将起作用,视频将帮助您实施。
滚动到文字:
MobileElement radioGroup = (MobileElement) wd
.findElementByAndroidUIAutomator("new UiScrollable(new UiSelector()"
".resourceId(\"+<listview_id>+\")).scrollIntoView("
"new UiSelector().text(\"+<your_text>+\"));");
radioGroup.click();
答案 3 :(得分:-1)
MobileElement radioGroup = (MobileElement) wd.findElementByAndroidUIAutomator("
new UiScrollable(new UiSelector().resourceId(\"+<listview_id>+\"))
.scrollIntoView(new UiSelector().text(\"+<your_text>+\"));
");
radioGroup.click();
来自Manidroid的方法非常适合我