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()