【问题标题】:Cannot scroll in upward direction无法向上滚动
【发布时间】:2016-07-24 21:03:03
【问题描述】:

我正在使用

    action = TouchAction(self.driver)
    action.press(self.element).perform()
    height = self.element.size["height"]
    action.move_to(x=0, y=height*int(height_multiplier)).perform()

在 android 中滚动。但是如果我将 height_multiplier 指定为 12 它工作正常。向下滚动也可以。但是当我给它 -1-2 时期望它也向上移动它会给出错误

The coordinates provided to an interactions operation are invalid.

我已经尝试过scroll(element1,element2),但它不滚动,只是轻弹结束。driver.execute 也不起作用,mobile:scroll 还没有为 android 实现。有人知道解决方法吗?部分滚动是我的想要准确

【问题讨论】:

  • 我希望你尝试做的元素不是屏幕上最上面的元素,在这种情况下,使用-(负)乘数的坐标不会出现在屏幕上
  • 来自 java 文档:“将当前触摸移动到相对于屏幕上当前位置的新位置。如果此 TouchAction 的当前位置是 (xOld, yOld),* 那么此方法将将 TouchAction 移动到 (xOld + x, yOld + y)。* 参数 x 更改 x 坐标以移动通过 * 参数 y 更改 y 坐标移动通过 * 返回此 TouchAction,用于链接 */"
  • @nullpointer 没有得到你的第一个点........即使它是第一个元素...... -ve 对它的实际价值应该在某个地方吧?
  • nopes...屏幕的左上角是 (0,0) 和右下角是 (x,y) 根据屏幕分辨率而变化...所以现在我希望你明白我的意思.例如 10+ (-2*6) 是不可行的
  • @nullpointer 它应该是真实的,但我可以在 appium 日志中看到它不是相对的和绝对的....不知道它是否是 ppoium 的错误

标签: android python python-2.7 appium


【解决方案1】:

我已按如下方式实现向上滚动:driver.swipe(0, scrollStart, 0, scrollEnd, 2000) 其中scrollStart < scrollEnd。这两个值仍然必须是正数才能适应分辨率范围。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-17
    • 1970-01-01
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多