1、安装apk到手机上
# -*-coding: utf-8 -*-
from appium import webdriver
import base64
desired_caps = {}
desired_caps[\'platformName\'] = \'Android\'
desired_caps[\'platformVersion\'] = \'5.1\'
desired_caps[\'deviceName\'] = \'192.168.56.101:5555\'
# app信息
desired_caps[\'appPackage\'] = \'com.android.settings\'
desired_caps[\'appActivity\'] = \'.Settings\'
# 声明desire对象
driver = webdriver.Remote(\'http://localhost:4723/wd/hub\', desired_caps)
# 安装apk到手机 文件路径
driver.install_app(r\'C:\\Users\\l\\Desktop\\爬虫\\移动端测试\\1973617.apk\')
# 退出驱动对象
driver.quit()
2、卸载apk
# -*-coding: utf-8 -*-
from appium import webdriver
import base64
desired_caps = {}
desired_caps[\'platformName\'] = \'Android\'
desired_caps[\'platformVersion\'] = \'5.1\'
desired_caps[\'deviceName\'] = \'192.168.56.101:5555\'
# app信息
desired_caps[\'appPackage\'] = \'com.android.settings\'
desired_caps[\'appActivity\'] = \'.Settings\'
# 声明desire对象
driver = webdriver.Remote(\'http://localhost:4723/wd/hub\', desired_caps)
# 卸载APP操作 APK的包名
driver.remove_app(\"com.youba.calculate\")
# 退出驱动对象
driver.quit()
3、判断是否安装了APK
# 可以传入app包名,返回结果为True(已安装) / False(未安装)
is_data=driver.is_app_installed(\"com.android.dialer\")
print(is_data)
4、发送文件到手机
import base64
# 电脑文件路径
with open(\'./text.txt\', \'r\') as f:
# 编码 ---> 转码
data = str(base64.b64encode(f.read().encode(\'utf-8\')), \'utf-8\')
# 发送到APP上的路径
driver.push_file(\'/sdcard/text.txt\', data)
参数:
data:文件内数据,要求base64编码
Python3.x中字符都为unicode编码,而b64encode函数的参数为byte类型,需要先转码;
生成的数据为byte类型,需要将byte转换回去。
5、拉取文件:
import base64
data = driver.pull_file(path) # 返回数据为base64编码
print(str(base64.b64decode(data),\'utf-8\')) # base64解码
参数:
path: 手机设备上的路径
6、获取当前屏幕内元素结构
# 返回当前页面的文档结构,判断特定的元素是否存在
page_data = driver.page_source
if \'妞\' in page_data:
print(\'ok\')
else:
print(\'NO\')
print(page_data)
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。



