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. ...
随机推荐
- Linux---文件目录管理
1. Linux文件目录架构 Linux的目录结构与win的目录有很大不同,首先,没有盘符的概念:然后Linux使用斜杠/标识目录,Linux首先建立一个根目录,然后将其他文件系统挂载到这个目录下. ...
- 07.C语言:结构体、共用体、枚举
一.结构体 是一种复合的数据类型,由多个不同类型的数据(为结构体的成员)组成的集合. 在c语言中没有给出结构体这种类型具体的形式(名称),但是给出类定义该结构体类型的方法(格式). 在使用结构体类型时 ...
- Leetcode 135.分糖果
分发糖果 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分. 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果. 相邻的孩 ...
- 最长上升子序列的回溯 ZOJ 2432
题目大意: 找一组最长上升公共子序列,并把任意一组满足的情况输出出来 最长公共上升子序列不清楚可以先看这篇文章 http://www.cnblogs.com/CSU3901130321/p/41826 ...
- 使用ajax传值,后台乱码
spring mvc,使用ajax传值,后台发现是乱码 解决方法: 后台的方法里加入 request.setCharacterEncoding("UTF-8"); 就行了 我前 ...
- Spring + quartz实现定时发送邮件功能
在做具体的系统管理时,往往会有每隔一段时间发给用户一些邮件的业务,现在参考的网上的大部分代码,写下了我自己的代码. 在ApplicationContext.xml的内容如下: <?xml ver ...
- MySQL: How to support full Unicode in MySQL databases
How to support full Unicode in MySQL databases Published 30th July 2012 · tagged with MySQL, securit ...
- ORACLE EM的删除与创建
手动删除ORACLE 10G EM 使用emca可以手动配置em! 配置em的过程中有一个环节要特别主要: 不论使用dbca还是使用emca -deconfig dbcontrol db -repos ...
- 今天開始慢下脚步,開始ios技术知识的查漏补缺。
从2014.6.30 開始工作算起. 如今已经是第416天了.不止不觉.时间过的真快. 通过对之前工作的总结.发现,你的知识面.会决定你面对问题时的态度.过程和结果. 简单来讲.知识面拓展了,你才干有 ...
- Flex 绘制圆形并填充图片
注意:Ellipse 绘制椭圆,当width = height 时 则绘制圆形. BitmapFill:填充图片 <s:Group id="gpimgUser" width= ...