小程序,填坑

微信小程序:

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:PythonLibsite-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
}

原文地址:https://www.cnblogs.com/futrueface/p/15156804.html