是否有任何方法可以滚动到确切的关键字,如果在当前窗口中不可见,则是否准确,我正在使用wd npm

时间:2019-04-26 22:52:59

标签: javascript node.js appium appium-android appium-desktop

我在滚动appium javascript时遇到问题。我想移至手机屏幕上当前窗口中看不到的确切文本和ID。我正在使用wd npm

我在滚动appium javascript时遇到问题。我正在使用wd npm。我想移到在移动屏幕上当前窗口中看不到的确切文本和ID。它存在于屏幕中央。当我使用driver.scrolltoExact('text')时,此方法未实现,driver.scroll(10,200)也无法正常工作。为此,我现在在while(true)内部的javascript中使用了touch动作,现在的问题是,它不滚动固定轴,它有时滚动到末尾,有时不滚动,有时根据该轴滚动。我要滚动y的固定轴。

  while (true) {
          await delay(1000);
          i = i + 1;
          try {
            let classname = await driver.elementsByClassName(
              "android.view.View"
            );
            for (var i = 0; i < classname.length; i++) {
              let a = await classname[i].text();
              array.push(a);
              if (a == "Share") {
                await delay(3000);
                await classname[i].click();
                break;
              }
            }
          } catch (error) {
            await new wd.TouchAction(driver)
              .press({ x: 65, y: 780 })
              .moveTo({ x: 65, y: 155 })
              .release()
              .perform();
            if (i > 5) {
              break;
            }
          }
        }

1 个答案:

答案 0 :(得分:0)

从您的示例来看,您似乎正在尝试在Android平台上进行操作。您可以尝试一下

driver.findElements(MobileBy.AndroidUIAutomator(“ new UiScrollable(new UiSelector()。scrollable(true).instance(0))。scrollIntoView(new UiSelector()。textContains(\”“ + textToSearch +” \“)。instance(0))”))。size()> 0

//中断/返回