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公众号操作的更多相关文章

  1. Python微信公众号开发—小白篇

    本文面向想通过Python学习公众号开发的同学.一站式解决新手开发微信公众号遇到的所有问题. 为了防止我的文章被到处转载,贴一下我的公众号[智能制造专栏],欢迎大家关注. github仓库地址http ...

  2. Python技术公众号100天了

    公众号100天了,是个值得一提的日子! 我从2017年10月31日开始做这个公众号,到今天2018年2月7日,差不多100天时间 .虽然公众号很早就申请了,但直到去年10月31日,我才有真正把这个公众 ...

  3. Python微信公众号开发—小白篇(1)

    本文面向想通过Python学习公众号开发的同学.一站式解决新手开发微信公众号遇到的所有问题. 为了防止我的文章被到处转载,贴一下我的公众号[智能制造社区],欢迎大家关注. github仓库地址http ...

  4. Python微信公众号教程基础篇——收发文本消息

    1. 概述: 在本篇教程中,你将学会使用华为云弹性云服务器(以下简称 ECS)搭建微信公众号处理后台,使用Python语言编写对应的微信消息处理逻辑代码,接收从微信服务端转发过来的消息,并返回处理结果 ...

  5. python爬虫公众号所有信息,并批量下载公众号视频

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 数据分析实战 PS:如有需要Python学习资料的小伙伴可以加点击 ...

  6. 使用Appium进行微信公众号自动化测试

    查看Android的webview视图版本:手机链接电脑后在电脑Chrome打开页面chrome://inspect/#devices查看Android的Chrome内核版本     下载与该版本相对 ...

  7. [Python] 微信公众号开发 Python3

    搭建服务 开通一个阿里云ecs,安装python3及需要的包(参考下方官方文档) 将py文件保存在ecs上,运行 在本地访问阿里云的IP地址 能完成这步说明网络没问题 server.py 1 # -* ...

  8. Python微信公众号开发

    最近老大叫我学习开发微信,试着玩了下.网上查了下文档.有点过时. 简单步骤: 1)申请服务器并完成环境配置 去腾讯云购买云服务器.当然你也可以购买其他产品,比如阿里云.因为我是学生,有优惠110一年. ...

  9. Python 微信公众号发送消息

    1. 公众号测试地址 https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index 2. ...

随机推荐

  1. HDU4496 D-City【基础并查集】

    Problem Description Luxer is a really bad guy. He destroys everything he met.  One day Luxer went to ...

  2. 回车符号 ‘\r’ 的实际应用

    由于最近开始研究自动化测试 首先是自动定时去下载安装包,需要实时显示进度. 于是了解了进度条相关的方法. 作下记录. 区别 \r 表示将光标的位置回退到本行的开头位置 \n 表示光标从下一行的开头位置 ...

  3. C语言基础--数据

    c语言中数据: 在8位单片机种最常用的数据类型就是: unsigned char: 无符号字符型,位宽1个字节,8个位,表示的范围0~255(2^8-1) 在32位单片机中最常用的数据类型就是: un ...

  4. 判断项目中是否有slf4j的实现类

    /** * 判断项目中是否有slf4j的实现类 */ @org.junit.Test public void test() { try { Enumeration<URL> resourc ...

  5. Leetcode 22.生成括号对数

    生成括号对数 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n =3,生成结果为: [ "((()))", "( ...

  6. Leetcode 51.N后问题

    N后问题 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案. ...

  7. Display PowerPoint slide show within a VB form or control window

    The example below shows how to use VB form/control as a container application to display a PowerPoin ...

  8. [luoguP2680] 运输计划(lca + 二分 + 差分)

    传送门 暴力做法 50 ~ 60 枚举删边,求最大路径长度的最小值. 其中最大路径长度运用到了lca 我们发现,求lca的过程已经不能优化了,那么看看枚举删边的过程能不能优化. 先把边按照权值排序,然 ...

  9. Java 学习(6):java Number & Math & String & 数组...常用类型

    目录 --- Number & Math类 --- Character 类 --- String 类 --- StringBuffer 类 --- 数组 Number & Math类: ...

  10. codeforces gym 100357 J (网络流)

    题目大意 有n种物品,m种建筑,p个人. n,m,p∈[1,20] 每种建筑需要若干个若干种物品来建造.每个人打算建造一种建筑,拥有一些物品. 主角需要通过交易来建造自己的建筑,交易的前提是对方用多余 ...