jQuery火箭图标返回顶部代码

手机设置下的屏幕亮度控制条看上去是悬浮的,想手动调整亮度有两种方法:一、在控制条上左右任意拖动;二、在控制条上点击任意一点。如下图:

同样,Appium也可以用两种方式实现自动操作,第一种是用swipe方法横向任意拖动控制条,实现代码如下:

 1 from appium import webdriver
 2 from time import sleep
 3 
 4 caps = {
 5     "platformName":"Android",
 6     "platformVersion":"8.0.0",
 7     "deviceName":"Phone",
 8     "appPackage":"com.android.settings",
 9     "appActivity":".Settings"
10     }
11 
12 driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
13 
14 sleep(1)
15 driver.find_element_by_xpath("//android.widget.TextView[@text='Display']").click()  
16 driver.find_element_by_xpath("//android.widget.TextView[@text='Brightness level']").click()
17 control_bar = driver.find_element_by_android_uiautomator('new UiSelector().className("android.widget.SeekBar")')   #使用uiautomator搭配class属性方法定位控制条
18 control_bar_x = control_bar.location.get('x')       #获取控制条初始横坐标
19 control_bar_y = control_bar.location.get('y')       #获取控制条初始纵坐标
20 
21 driver.swipe(control_bar_x,control_bar_y,control_bar_x+400,control_bar_y,500)   #用swipe方法横向拖动控制条,control_bar_y不变,control_bar_x+400
22 
23 sleep(1)
24 driver.press_keycode(4)       #模拟按手机返回键
25 
26 sleep(2)
27 driver.quit()

第二种是用tap方法点击控制条上任意一点,实现代码如下:

 1 from appium import webdriver
 2 from time import sleep
 3 
 4 caps = {
 5     "platformName":"Android",
 6     "platformVersion":"8.0.0",
 7     "deviceName":"Phone",
 8     "appPackage":"com.android.settings",
 9     "appActivity":".Settings"
10     }
11 
12 driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
13 
14 sleep(1)
15 driver.find_element_by_xpath("//android.widget.TextView[@text='Display']").click()  
16 driver.find_element_by_xpath("//android.widget.TextView[@text='Brightness level']").click()
17 control_bar = driver.find_element_by_android_uiautomator('new UiSelector().className("android.widget.SeekBar")')   #使用uiautomator搭配class属性方法定位控制条
18 control_bar_x = control_bar.location.get('x')       #获取控制条初始横坐标
19 control_bar_y = control_bar.location.get('y')       #获取控制条初始纵坐标
20 
21 driver.tap([(control_bar_x,control_bar_y)],500)         #用tap方法点击拖动控制条的初始位置
22 driver.tap([(control_bar_x+400,control_bar_y)],500)      #用tap方法横向点击控制条的任意一点,即control_bar_x+400,control_bar_y不变
23 
24 sleep(1)
25 driver.press_keycode(4)       #模拟按手机返回键
26 
27 sleep(2)
28 driver.quit()
原文地址:https://www.cnblogs.com/cnkemi/p/9230155.html