gpt4 book ai didi

java - 寻找 ios 和 android 上下滚动直到找到元素,然后单击

转载 作者:行者123 更新时间:2023-12-01 17:48:14 27 4
gpt4 key购买 nike

我尝试了很多关于appium、java中ios和android滚动的博客和讨论。但看起来大多数方法已被弃用或不起作用。请帮忙。我正在使用 appium 1.15.1、java、selenium。

寻求快速帮助。

我正在尝试执行以下代码,但它滚动了两次,甚至没有单击。

嗨,

我在 Mac 上使用真实设备。我正在使用 Appium 1.15.1、Selenium、Java 和 POM。我为 iOS 向下滑动编写了以下代码。

嗨,

public void chkMenuOptioniOS1(String sName)
{
/* This is actual path which got from inspector
//XCUIElementTypeStaticText[@name="Account Information"]
*/
String targetCell = "//XCUIElementTypeStaticText[contains(@name,'" + sName + "')]";
MobileElement cellWithText = driver.findElement(By.xpath(targetCell));
HashMap<String, String> scrollObject = new HashMap<String, String>();
scrollObject.put("element", ((RemoteWebElement)cellWithText).getId());
scrollObject.put("direction", "down");
scrollObject.put("predicateString", "value == '" + sName + "'");
scrollObject.put("toVisible", "true");
driver.executeScript("mobile:scroll", scrollObject);
try {
System.out.println("In Try Block "+cellWithText.getText());
Thread.sleep(10);
cellWithText.click();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
  1. 滚动两次
  2. 并且没有点击,

附加 DOM 对象屏幕截图。

请帮助我enter image description here

最佳答案

以下是满足您 iOS 和 Android 需求的方法:

private JavascriptExecutor js;
private HashMap<String, String> scrollObject = new HashMap<>();

void iosScrollToAnElement(IOSElement el) {
scrollObject.put("direction", "down");
scrollObject.put("element", el.getId());
js.executeScript("mobile: swipe", scrollObject);
}

void androidScrollToAnElementByText(String text) {
try {
((AndroidDriver)driver).findElementByAndroidUIAutomator("new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().text(\"" + text + "\").instance(0))");
} catch (Exception e) {
throw new NoSuchElementException("No element" + e);
}
}

此后,您需要click()您要查找的特定元素。 (只有滚动的方法)

关于java - 寻找 ios 和 android 上下滚动直到找到元素,然后单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60830757/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com