Appium + python - weixin公众号操作
from appium import webdriver
from time import sleep desired_caps = {
"platformName":"Android",
"platformVersion":"9",
"deviceName":"4871660c",
"appPackage":"com.tencent.mm",
"appActivity":".ui.LauncherUI",
"chromeOptions":"{'androidProcess':'com.tencent.mm:tools'}",
"automationName":"Uiautomator2",
"unicodeKeyboard":True,
"resetKeyboard":True,
"noReset":True
} driver = webdriver.Remote("http://localhost:4723/wd/hub",desired_caps)
driver.implicitly_wait(10) try:
#点微信首页搜索按钮
driver.find_element_by_id("com.tencent.mm:id/jb").click() #输入内容搜索
sleep(3)
id_text = 'resourceId("com.tencent.mm:id/l3").text("搜索")'
driver.find_element_by_android_uiautomator(id_text).send_keys("yoyoketang\n") #点开公众号
sleep(3)
id_text1 = 'resourceId("com.tencent.mm:id/qm").text("从零开始学自动化测试")'
driver.find_element_by_android_uiautomator(id_text1).click() #点击公众号菜单-2019课程
# sleep(3)
# id_text2 = 'resourceId("com.tencent.mm:id/an0").text("2019课程")'
# driver.find_element_by_android_uiautomator(id_text2).click()
# contexts = driver.contexts
# print(contexts) #切换webview
# sleep(3)
# driver.switch_to_default_content("WEBVIEW_com.tencent.mm:tools") #点击用户名-- 上海
# sleep(3)
# id_text3 = 'resourceId("js_author_name").text("上海悠悠")'
# driver.find_element_by_android_uiautomator(id_text3).click()
# print(driver.contexts) #点击历史记录 -- django教程
sleep(3)
id_text4 = 'resourceId("com.tencent.mm:id/an0").text("历史记录")'
list1 = driver.find_element_by_android_uiautomator(id_text4).click()
# list1 = driver.find_elements_by_xpath("//*[@text='历史记录']").click()
print(type(list1),list1)
print(driver.contexts)
# driver.switch_to.context('WEBVIEW_com.tencent.mm:tools')
# class_text = 'className("android.widget.TextView").text("django教程")'
# driver.find_element_by_android_uiautomator(class_text).click()
# contexts = driver.contexts
# print(contexts) # sleep(3)
# driver.switch_to.context( 'NATIVE_APP')
# #
#点击django合集
# id_text5 = 'resourceId("com.tencent.mm:id/cx").text("django合集")'
# driver.find_element_by_android_uiautomator(id_text5).click()
# print(driver.contexts) # id_text6 = 'resourceId("activity-name").text("django合集")'
# apps = driver.find_elements_by_android_uiautomator(id_text6)
# for item in apps:
# print(item) except Exception :
print("Error")
#退出微信应用
driver.quit()
Appium + python - weixin公众号操作的更多相关文章
- Python微信公众号开发—小白篇
本文面向想通过Python学习公众号开发的同学.一站式解决新手开发微信公众号遇到的所有问题. 为了防止我的文章被到处转载,贴一下我的公众号[智能制造专栏],欢迎大家关注. github仓库地址http ...
- Python技术公众号100天了
公众号100天了,是个值得一提的日子! 我从2017年10月31日开始做这个公众号,到今天2018年2月7日,差不多100天时间 .虽然公众号很早就申请了,但直到去年10月31日,我才有真正把这个公众 ...
- Python微信公众号开发—小白篇(1)
本文面向想通过Python学习公众号开发的同学.一站式解决新手开发微信公众号遇到的所有问题. 为了防止我的文章被到处转载,贴一下我的公众号[智能制造社区],欢迎大家关注. github仓库地址http ...
- Python微信公众号教程基础篇——收发文本消息
1. 概述: 在本篇教程中,你将学会使用华为云弹性云服务器(以下简称 ECS)搭建微信公众号处理后台,使用Python语言编写对应的微信消息处理逻辑代码,接收从微信服务端转发过来的消息,并返回处理结果 ...
- python爬虫公众号所有信息,并批量下载公众号视频
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 数据分析实战 PS:如有需要Python学习资料的小伙伴可以加点击 ...
- 使用Appium进行微信公众号自动化测试
查看Android的webview视图版本:手机链接电脑后在电脑Chrome打开页面chrome://inspect/#devices查看Android的Chrome内核版本 下载与该版本相对 ...
- [Python] 微信公众号开发 Python3
搭建服务 开通一个阿里云ecs,安装python3及需要的包(参考下方官方文档) 将py文件保存在ecs上,运行 在本地访问阿里云的IP地址 能完成这步说明网络没问题 server.py 1 # -* ...
- Python微信公众号开发
最近老大叫我学习开发微信,试着玩了下.网上查了下文档.有点过时. 简单步骤: 1)申请服务器并完成环境配置 去腾讯云购买云服务器.当然你也可以购买其他产品,比如阿里云.因为我是学生,有优惠110一年. ...
- Python 微信公众号发送消息
1. 公众号测试地址 https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index 2. ...
随机推荐
- 迷宫自动生成以及基于DFS的自动寻路算法
直接贴代码 #include<ctime> #include<conio.h> #include<iostream> #include<windows.h&g ...
- 虚拟机下Linux网络配置
之前配置好了linux系统,在网络这块我用的是桥接模式. 现在分享一下使用虚拟机桥接模式配置Linux网络的过程. 一.首先配置外网的本地Ip地址. 二.配置Linux 网络链接 1.打开linux网 ...
- ndk编译libpcap 1.7.4
android完全菜鸟,绝对的第一次接触,想做手机抓包,在网上搜又是NDK 又是JNI 又是JNETPCAP 完全蒙了,让我这种android和java都弄不明白什么关系的人情何以堪! 静下心想一想, ...
- 洛谷 1803 凌乱的yyy
[题意概述] 给出100W个区间,要求找出尽量多的区间满足它们互补重叠,输出最大的区间数. [题解] 贪心. 对区间按照右端点从小到大排序,然后逐个加入合法区间即可. #include<cstd ...
- hdu 1040
As Easy As A+B Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- NOIP2018提高组省一冲奖班模测训练(一)
比赛链接 https://www.51nod.com/contest/problemList.html#!contestId=72&randomCode=147206 这次考试的题非常有质量 ...
- JUnit基本用法
JUnit的一些注意事项: 测试方法必须使用@Test修饰 测试方法必须使用public void进行修饰,不能带参数 一般使用单元测试会新建一个test目录存放测试代码,在生产部署的时候只需要将te ...
- idea 快捷键设置
通过 点击放大镜然后按当前需要修改的快捷键找到需要修改的快捷键,更改成希望的快捷键
- BAT经典面试题,深入理解Java内存模型JMM
Java 内存模型 Java 内存模型(JMM)是一种抽象的概念,并不真实存在,它描述了一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段.静态字段和构成数组对象的元素)的访问方式.试图屏 ...
- java并发操作
项目中常用的java并发操作 一.java8新特性java并发流操作(结合纳姆达表达式) List<String> list = new ArrayList<>(); list ...