这是我的代码快照。此代码将选择元素,但不会滚动到确切的元素并选择值。请帮我修改这个?
public void applyBedTimefromdate() throws InterruptedException {
MobileElement element = (MobileElement) driver
.findElementsByAndroidUIAutomator(
"new UiScrollable(new UiSelector().resourceId("com.hdc:id/hour")).getChildByText("
+ "new UiSelector().className("android.view.View[@index='0']"), "3"));");
element.click();
}
我们可以尝试使用 UiAutomator2 按文本滚动。
添加所需的功能"UiAutomator2",如果您使用的是appium。
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2");
现在尝试下面的代码。
public void scrollByText(String menuText) {
try {
driver.findElement(MobileBy.AndroidUIAutomator("new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().textMatches("" + menuText + "").instance(0));"));
} catch (Exception e) {
e.printStackTrace();
}
}
如果您有元素的 ID(资源 ID(,请使用以下函数
public void scrollByID(String Id, int index) {
try {
driver.findElement(MobileBy.AndroidUIAutomator("new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().resourceId(""+Id+"").instance("+index+"));"));
} catch (Exception e) {
e.printStackTrace();
}
}