微信小程序:
ANDROID_CAPS ={
"platformName":"Android",
"platformVersion":"8",
"deviceName":"55CDU16825001134",
"appPackage":"com.tencent.mm",
"appActivity":".ui.LauncherUI",
"unicodeKeyboard":True,#使用uncode编码键盘
"resetKeyboard":True,# 使用后恢复原来键盘
"fastReset":False,
"fullReset":False, # 执行完卸载程序,默认为false
"noReset":True, # 防止初始化app
"automationName":"uiAutomator2", # 1.13之前用ui1 1.15之后可以指定或不指定
"newCommandTimeout":500
微信小程序自动化需要先打开小程序内核的调试功能:
1,微信任意输入框输入链接:debugx5.qq.com,还有一个debugtbs.qq.com好像是安装内核的,具体功能暂不清楚;
2,信息-打开inspector调试功能
数据线连接手机;
2,再次进入小程序;
3,Chrome内核浏览器打开地址:chrome://inspect#devices
尴尬了,没有预想中显示版本号等信息的页面出现,等解决了,再来更新,感觉是没有下载安装ChromeDriver的缘故
15:17:05
解决了,需要在在微信里任意窗口输入地址:http://debugmm.qq.com/?forcex5=true(开启),http://debugmm.qq.com/?forcex5=false(关闭),
4,下一步确定微信进程名:
cmd里输入adb shell dumpsys activity top | findstr ACTIVITY
如果多个设备需要在adb后面加参数-s 设备名
标红的才是我们需要的小程序进程id
adb shell ps 4781
标红的就是我们需要的小程序的进程名
01:25:45
需要下载对应的Chrome驱动放在python根目录;
from uiautomator2.webview import chromedriver
安装pychrome
pip install --target=D:\Python\Lib\site-packages pychrome-0.2.0-py2.py3-none-any.whl --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
指定安装目录和国内源才能装上。
运行时有报错:
解决方法:
在pycharm的启动设置中添加 GEVENT_SUPPORT=True, 如图:
现在的源码是这样的:
import uiautomator2 as u2 from uiautomator2.webview import chromedriver import os while True: try: d = u2.connect('192.168.2.4:5555') if d.agent_alive: break except RuntimeError as r: if 'offline' in r.args[0]: t = os.popen('adb connect 192.168.2.4') d = u2.connect('192.168.2.4:5555') d.app_start('com.tencent.mm',wait=True) d.swipe_ext('down') d.xpath('//*[@text="BOSS直聘"]') driver = chromedriver() print(driver)
运行时报错:
暂时没有解决,太晚了,睡觉,明天再搞。
根据这篇文章又安装了atx
https://testerhome.com/topics/16604
pip install --urgrade --pre atx -i https://pypi.doubanio.com/simple/
网速慢的要忍忍了。装了好长时间,如果有错误导致停止,可以继续运行命令继续安装
支付宝小程序:
ALIPAY_ANDROID_CAPS ={
"platformName":"Android",
"platformVersion":"8",
"deviceName":"55CDU16825001134",
"appPackage":"com.eg.android.AlipayGphone",
"appActivity":"com.eg.android.AlipayGphone.AlipayLogin",
"unicodeKeyboard":True,#使用uncode编码键盘
"resetKeyboard":True,# 使用后恢复原来键盘
"fastReset":False,
"fullReset":False, # 执行完卸载程序,默认为false
"noReset":True, # 防止初始化app
"automationName":"uiAutomator2", # 1.13之前用ui1 1.15之后可以指定或不指定
"newCommandTimeout":500
}