热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Appium微信发送消息扩展——提醒群成员

一、简介在https:www.cnblogs.comourshiningdaysp16023291.html的基础上,添加提醒(@)微信群成员的功能。二、无法实现的方法最朴素的想法

一、简介

在https://www.cnblogs.com/ourshiningdays/p/16023291.html的基础上,添加提醒(@)微信群成员的功能。

二、无法实现的方法

最朴素的想法是利用send_keys方法@群里成员,但这种方法被@的成员并不会收到“有人@我”的提醒。实际上,即使手动输入@xxx,xxx也并不能收到提示,无论是手机还是PC端,都需要先输入@,并且在自动弹出的提示框中选择需要@的xxx,方可使该群成员收到提示。因此本需求并不能简单使用这种方法实现。

三、实现时有问题的方法

既然上述思路不能奏效,仍然可以用send_keys方法先输入一个@,此时微信会弹出需要@的成员列表,此时再用find_element方法结合send_keys方法,实现自动在成员列表里搜索指定成员并点击搜索结果的流程。(此流程与前一篇博文的搜索指定群/好友高度一致,在此不加赘述)

但实现时实测发现,当需要@多个成员时,只有第一次输入的@才会使微信弹出需要@的成员列表,随后输入@不生效。尝试了sleep()和在两次输入的@之间加其他符号,均不弹出。

四、最终实现方法

注意到Appium拥有press_keycode方法,该方法可以模拟按下指定按键,接收一个整数作为参数,该整数即为Keycode。

接下来需要查找Android有没有为我们定义“@”的Keycode。查阅Android官方文档(https://developer.android.com/reference/android/view/KeyEvent,如无法访问请使用https://developer.android.google.cn/reference/android/view/KeyEvent),发现拥有该Keycode,值为77。

 

因此,只需要将参数77传入press_keycode方法,并用find_element方法结合send_keys方法,实现自动在成员列表里搜索指定成员并点击搜索结果的流程,此方法未出现如本文第三部分的问题,可@多位成员。



推荐阅读
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 本文详细介绍了美国最具影响力的十大财团,包括洛克菲勒、摩根、花旗银行等。这些财团在历史发展过程中逐渐形成,并对美国的经济、政治和社会产生深远影响。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • QBlog开源博客系统:Page_Load生命周期与参数传递优化(第四部分)
    本教程将深入探讨QBlog开源博客系统的Page_Load生命周期,并介绍一种简洁的参数传递重构方法。通过视频演示和详细讲解,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
  • 火星商店问题:线段树分治与持久化Trie树的应用
    本题涉及编号为1至n的火星商店,每个商店有一个永久商品价值v。操作包括每天在指定商店增加一个新商品,以及查询某段时间内某些商店中所有商品(含永久商品)与给定密码值的最大异或结果。通过线段树分治和持久化Trie树来高效解决此问题。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 本文总结了汇编语言中第五至第八章的关键知识点,涵盖间接寻址、指令格式、安全编程空间、逻辑运算指令及数据重复定义等内容。通过详细解析这些内容,帮助读者更好地理解和应用汇编语言的高级特性。 ... [详细]
  • 本文详细介绍了如何使用Maven高效管理多模块项目,涵盖项目结构设计、依赖管理和构建优化等方面。通过具体的实例和配置说明,帮助开发者更好地理解和应用Maven在复杂项目中的优势。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • andr ... [详细]
author-avatar
曼珠沙華的朦朧_759
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有