Appium scroll滑动页面
Appium 的scroll()方法也是滑动页面,不过不是滑动滚动条,而是获取两个元素,然后从从一个元素滚动到另一个元素。
方法介绍:
scroll(self, origin_el, destination_el, duration=None):
参数:
- originalEl - 要滚动的元素
- destinationEl - 要滚动到的元素
- dufrom appium import webdriver
举个例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #-*-encoding:utf-8-*- from appium import webdriver from time import sleep desired_caps = { "platformName" : "Android" , "platformVersion" : "6.0" , "deviceName" : "PJQDU16715003110" , "appPackage" : "com.tencent.mm" , "appActivity" : ".ui.LauncherUI" , "automationName" : "uiautomator2" , "unicodeKeyboard" : "True" , "resetKeyboard" : "True" , "noReset" : "True" , "chromeOptions" :{ "androidProcess" : "com.tencent.mm:tools" } } driver = webdriver.Remote( "http://127.0.0.1:4723/wd/hub" ,desired_caps) sleep( 15 ) #获取手机屏幕宽、高 x = driver.get_window_size()[ "width" ] y = driver.get_window_size()[ "height" ] # print x,y def swipe_down(driver,start_y = 0.25 ,stop_y = 0.75 ,duration = 3000 ): #按下手机屏幕,向下滑动 #注意,向下滑时,x轴不变,要不然就变成了斜向下滑动了 #@duration:持续时间 x1 = int (x * 0.5 ) y1 = int (y * start_y) x2 = int (x * 0.5 ) y2 = int (y * stop_y) # print x1,y1,x2,y2 driver.swipe(x1,y1,x2,y2,duration) sleep( 3 ) driver.find_element_by_xpath( "//android.widget.FrameLayout[@index='0' and @resource-id='com.tencent.mm:id/xr' and @class='android.widget.FrameLayout' ]" ).click() def scroll_page(): #获取【图书】、【好物享实惠】两个元素,将页面向上滑动 sleep( 5 ) stop_element = driver.find_element_by_name( "图书" ) start_element = driver.find_element_by_name( "好物享实惠" ) driver.scroll(start_element,stop_element, 3000 ) |
scroll() 与swipe()的区别,swipe是可以根据自己需要设置滑动的距离,而scroll是根据页面中两个元素位置距离进行滑动。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步