1 import time
2 from appium import webdriver
3 from selenium.webdriver.common.by import By
4 from selenium.webdriver.support.wait import WebDriverWait
5 from selenium.webdriver.support import expected_conditions as Ec
6
7 # 初始化app的配置信息
8
9 des_cap = dict() # 定义字典参数
10 des_cap["platformName"] = "android" # 表示的是android 或者IOS系统
11 des_cap["platformVersion"] = "6.0.1" # 表示的是平台系统的版本号
12 des_cap["deviceName"] = "****" # 表示的是设备的ID名称(如果只有一个设备可以用****来替代)
13 des_cap["appPackage"] = "com.android.settings" # 表示的是app的包名
14 des_cap["appActivity"] = ".Settings" # 表示的是app的界面名
15
16 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', des_cap)
17
18 # 安装app
19 # driver.install_app(r'F:\安装包\mumu模拟器\app自动化工具集合\apk\bainianaolaitemai_115.apk')
20 # 卸载app
21 # driver.remove_app("com.em.mobile")
22
23 driver.find_element('xpath', "//*[@text='更多']").click()
24 # time.sleep(2)
25 # 显示等待,不一定要等待7秒,找到就进行
26 element= WebDriverWait(driver,7).until(Ec.presence_of_element_located((By.XPATH,"//*[@text='开启']")))
27 element.click()
28 # driver.find_element('xpath',"//*[@text='关闭']").click()
29 # driver.find_element(By.XPATH,"//*[@text='开启']").click()
30 # 这是开启跟关闭飞行模式
31
32 time.sleep(3)
33 driver.quit()

滚动操作

 1 """
2 swipe滑动事件
3 driver.swipe(startx,starty,endx,endy,duration=None)
4 duration用来降低滑屏的速度及惯性,单位是ms
5 """
6 import time
7 from appium import webdriver
8 from selenium.webdriver.common.by import By
9 from selenium.webdriver.support.wait import WebDriverWait
10 from selenium.webdriver.support import expected_conditions as Ec
11
12 # 初始化app的配置信息
13
14 des_cap = dict() # 定义字典参数
15 des_cap["platformName"] = "android" # 表示的是android 或者IOS系统
16 des_cap["platformVersion"] = "6.0.1" # 表示的是平台系统的版本号
17 des_cap["deviceName"] = "****" # 表示的是设备的ID名称(如果只有一个设备可以用****来替代)
18 des_cap["appPackage"] = "com.android.settings" # 表示的是app的包名
19 des_cap["appActivity"] = ".Settings" # 表示的是app的界面名
20
21 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', des_cap)
22
23
24 # 显示等待封装
25 # until "调用驱动程序提供的方法作为参数,直到返回值不为False"
26 def get_element(driver, element): # element 表示的元素定位的值
27 wait = WebDriverWait(driver, 10, 1)
28 element = wait.until(lambda x: x.find_element(element[0], element[1]))
29 return element
30
31
32 # 电池 按钮
33 save_btn = By.XPATH, "//*[@text='应用']"
34 save_element = get_element(driver, save_btn)
35
36 # 蓝牙 按钮
37 lanya_btn = By.XPATH, "//*[@text='蓝牙']"
38 lanya_element = get_element(driver, lanya_btn)
39
40 # save_element = WebDriverWait(driver,10,1).until(lambda x:x.find_element(By.XPATH,"//*[@text='应用']"))
41 # lanya_element = WebDriverWait(driver,10,1).until(lambda x:x.find_element(By.XPATH,"//*[@text='蓝牙']"))
42
43 # 通过scroll来进行滑动操作
44 driver.scroll(save_element, lanya_element)
45
46 time.sleep(5)
47 driver.quit()

二:简洁

 1 def get_element(driver,element):
2 wait = WebDriverWait(driver,10,1)
3 element = wait.until(lambda x: x.find_element(element[0],element[1]))
4 return element
5
6
7
8
9 save_btn =By.XPATH,"//*[@text='应用']"
10 save_element =get_element(driver,save_btn)
11
12
13 lan_tn = By.XPATH,"//*[@text='蓝牙']"
14 lambda_element = get_element(driver,lan_tn)
15
16
17
18
19 driver.scroll(save_element,lambda_element)

设置滚到这里选择开发者选项,并点击第一个text是关闭的

 1 import time
2 from appium import webdriver
3 from selenium.webdriver.common.by import By
4 from selenium.webdriver.support.wait import WebDriverWait
5
6 # 初始化app的配置信息
7
8 des_cap = dict() # 定义字典参数
9 des_cap["platformName"] = "android" # 表示的是android 或者IOS系统
10 des_cap["platformVersion"] = "6.0.1" # 表示的是平台系统的版本号
11 des_cap["deviceName"] = "****" # 表示的是设备的ID名称(如果只有一个设备可以用****来替代)
12 des_cap["appPackage"] = "com.android.settings" # 表示的是app的包名
13 des_cap["appActivity"] = ".Settings" # 表示的是app的界面名
14
15 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', des_cap)
16
17
18 # 封装滑屏操作方法
19 def execute_swipe(driver, fx, count=1):
20 w = driver.get_window_size()["width"] # 获取手机屏幕的宽度
21 h = driver.get_window_size()["height"] # 获取手机屏幕的高度
22 # w=1080 h=1920
23 if fx == "top": # 往上滑
24 zb = (w / 2, h * 0.9, w / 2, h * 0.1)
25 elif fx == "down": # 往下滑
26 zb = (w / 2, h * 0.1, w / 2, h * 0.9)
27 elif fx == "left": # 往左滑
28 zb = (w * 0.9, h / 2, w * 0.1, h / 2)
29 else: # 往右滑
30 zb = (w * 0.1, h / 2, w * 0.9, h / 2)
31 for i in range(count):
32 driver.swipe(*zb, duration=1200)
33 time.sleep(1)
34
35
36 # 往上滑三次
37 execute_swipe(driver, 'top', count=3)
38
39 # 找到开发者模式
40 toast_btn = By.XPATH, "//*[contains(@text,'开发者选项')]"
41 driver.find_element(*toast_btn).click()
42 time.sleep(2)
43 # 点击弹框的关闭(其实就是定位元素)
44 t1 = By.XPATH, "//*[contains(@text,'关闭')]"
45 driver.find_element(*t1).click()
46
47 driver.quit()

最新文章

  1. 【移动端兼容问题研究】javascript事件机制详解(涉及移动兼容)
  2. PHP生成日历数组,减少分页
  3. 编程模式之装饰模式(Decorator)
  4. npm ERR publish 403,nodejs发布包流程
  5. oracle 多表查询
  6. 使用MFC读写Excel
  7. altium designer14的Import wizard 为空的解决方法
  8. poj3280(区间dp)
  9. maven私服nexus搭建(windows)
  10. Linux常用命令之文件处理命令
  11. python函数知识点(详解匿名函数)
  12. Python之爬虫的理解
  13. APB协议
  14. 解决IE9下交通银行网上银行无法输入密码的问题
  15. Java8函数式编程探秘
  16. solr 请求参数过长报错,Solr配置maxBooleanClauses属性不生效原因分析
  17. Bagging和Boosting的区别
  18. SVC(STM32)
  19. TJU Problem 1065 Factorial
  20. Socket 编程之 TCP 实现

热门文章

  1. selenium爬取PDF预览文件
  2. Oracle数据库字符集与国家字符集
  3. 远程CG动画制作的神器:RayLink远程控制软件
  4. 记录坑:Chrome谷歌浏览器最小化和页面遮挡后JS代码不稳定
  5. 易语言json
  6. ORACLE监听无法启动的几个原因
  7. JS 将伪数组转换成数组
  8. 苹果Macbook快捷键使用大全
  9. JS篇(005)-== 和 === 的不同
  10. 【BOOK】【实例】【requests库+正则表达式】猫眼TOP100电影排名爬取