【问题标题】:Unable to scroll in android with appium using python无法使用python在带有appium的android中滚动
【发布时间】:2016-05-26 20:05:07
【问题描述】:
我试过这段代码:
scrollObject = dict(direction="down", text="some_text", element=appium_driver_elem.id)
self.driver.execute_script("mobile: scrollTo", scrollObject)
但我收到一条错误消息:
“appium_driver_elem 没有像 id 这样的属性”或者有时没有这样的元素异常。
在android中使用python滚动appium的最简单方法是什么?有完整的测试示例吗?
【问题讨论】:
标签:
android
python
automation
appium
python-appium
【解决方案1】:
self.driver.swipe(470, 1400, 470, x, 400)
self.driver.swipe(start_x, start_y, end_x, end_y, duration)
start_y 值表示底部 Y 值,end_y 值表示应用中屏幕的顶部 Y 值。
由于滚动,我们将屏幕保持在底部并向上移动。
x 的值取决于您希望一次滚动多少。
示例:滚动到底部,尝试 300。滚动小 x 可以是 1200
【解决方案2】:
仍然没有找到答案。所以也许你需要打得有点粗鲁。
您可以使用self.driver.scroll(self,SrcElem,DestElem) 功能从下到上滑动屏幕并检查您要查找的元素。
【解决方案3】:
或者你也可以尝试做
from appium.webdriver.common.touch_action import TouchAction
...
action = TouchAction(self.driver)
action.press(start_element).move_to(end_element).release().perform()
实际上,scroll() 函数就是这样工作的。曾经,我遇到了 self.driver.scroll() 的问题,所以这也可以作为一种解决方法。