gpt4 book ai didi

android - 使用 Appium-Python 在 Android 应用程序中垂直滚动

转载 作者:太空宇宙 更新时间:2023-11-04 10:21:15 24 4
gpt4 key购买 nike

enter image description here

以下是安卓应用的用户界面。在此可以看到好友列表的用户界面。它总共有 26 个 friend 。我想滚动 UI 并希望看到所有 friend 。我想通过 Python-Appium 来做到这一点。我无法滚动它。怎么做?它有资源 ID、类名、包名,我有边界值,即 [0,161][540,887]。

最佳答案

我遇到了同样的问题。大多数建议的解决方案都不起作用。无论如何,我找到了一个解决方案,您可以在下面看到:

    # import touch events
from appium.webdriver.common.touch_action import TouchAction

# Find the list element.
list = driver.find_element_by_id('com.abc.android.abc:id/common_tab_list')
# define touch
action = TouchAction(driver)

# adjust here to your needs !
for x in range(0,10):
action.press(x=750,y=1750).move_to(x=0, y=-75).perform()

主要部分是for循环。基本上它垂直滚动 10 次。您可能需要提供不同的 x 和 y 坐标。当您在您的设备上启用“指针定位”时,您可以很容易地发现这一点。当您触摸屏幕时,这将显示 x 和 y 坐标。要启用它,只需转到

  1. 设置
  2. 开发者选项
  3. 指针位置(名称可能不同我的手机上有德语)

然后触摸您设备的底部,您将在顶部看到坐标。您可以将其添加到“action.press(x=yourX, y=yourY)...”

move_to() - 因为你想要垂直滚动,所以 x 保持原样。 y 有负数。否定意味着我们实际上是向上滚动而不是向下滚动。

perfrom() 执行。不多说了。

现在我想再补充一件事。您可以执行以下操作而不是 for 循环:

 action.press(x=750,y=1750).move_to(x=0, y=-200).release().perform()

注意到区别了吗?这是释放()。当你添加这个时,我发现列表会平滑滚动。就像当你向上滑动时列表有一些惯性。

我不是专家,但我的回答至少对你有帮助。祝你好运

关于android - 使用 Appium-Python 在 Android 应用程序中垂直滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32179234/

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