千家信息网

怎么用Python实现打电话

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,本篇内容介绍了"怎么用Python实现打电话"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、环境配
千家信息网最后更新 2025年01月16日怎么用Python实现打电话

本篇内容介绍了"怎么用Python实现打电话"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、环境配置

1、安装 jdk 1.8+ ,并配环境变量。

2、安装Android SDK,可以直接下载安装,也可以通过android-studio里面安装,安装好后配环境变量,配好后cmd后输入adb执行成功则配好。

3、安装appium 1.8.0,我用的这个版本,还挺稳定,原生和微信H5支持还可以,其他版本试过一些,可能原生支持还行,微信公众号H5页面支持不友好。

二、查看元素

sdk安装好后,找到uiautomatorviewer.bat打开,用来获取元素id、text等属性,用于我们定位元素,这点跟selenium那一套基本一致,不过有一点值得注意的是,安卓app里面的id并不是唯一的,这个跟在web里面有区别,用id的时候注意看下是否是唯一元素。

用左上角的工具审查元素,比如*键,可以看到id是star,其他按键各种元素id查看方式一致。

三、配置信息获取

1、电脑手机通过数据线连接好,输入命令adb devices,获取手机的设备识别号。

2、命令行输入:adb shell dumpsys window windows | findstr "Current"

用来获取当前应用的包名和启动页。

包名:com.android.contacts

启动页:com.android.contacts.activities.TwelveKeyDialer

四、代码编写

代码如下,我这里有相关引入文件。

import syssys.path.insert(0,"C:\\Users\\Administrator\\Desktop\\imooc\\python_call")from action import Actionfrom appium import webdriveraction = Action()# 相关配置action.desired_caps['platformName'] = 'Android' # 平台action.desired_caps['platformVersion'] = '7.0' # Android版本action.desired_caps['deviceName'] = 'a20bc6990604' # 设备号action.desired_caps['appPackage'] = 'com.android.contacts' # 包名action.desired_caps['appActivity'] = 'com.android.contacts.activities.TwelveKeyDialer' # 启动页action.desired_caps['unicodeKeyboard'] = True # 使用unicode编码方式发送字符串action.desired_caps['resetKeyboard'] = True # 将键盘隐藏起来,默认trueaction.desired_caps['noReset'] = True # 应用状态是否需要重置,默认trueaction.desired_caps['automationName'] = 'Uiautomator2' # 自动化引擎,兼容原生和H5# 控制远程appiumaction.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", action.desired_caps)# 点击事件action.click_key("id=>one")action.click_key("id=>five")action.click_key("id=>two")action.click_key("id=>three")action.click_key("id=>six")action.click_key("id=>two")action.click_key("id=>eight")action.click_key("id=>eight")action.click_key("id=>eight")action.click_key("id=>star")action.click_key("id=>star")action.click_key("id=>call_sim1")

其中click_key是我自定义的方法,比如传入id=>star后,根据=>进行split切分,前面是id,后面是id值,有些时候我会用xpath写法,其实我下面是在项目中涉及很多变量,很多单独维护了,可能你看起来有点复杂,其实跟selenium差不多,点击方法就是click,找元素就是find_element,然后根据id找的话,要把id值传进去。

byDict = { "xpath": By.XPATH, "id": By.ID,}
def find_ele(self, loc): print(loc.split("=>")[0],loc.split("=>")[1]) element = WebDriverWait(self.driver, 30).until( lambda x: x.find_element(byDict[loc.split("=>")[0]], loc.split("=>")[1])) print(element) return elementdef click_key(self, loc): self.find_ele(loc).click()

五、运行

启动appium,以默认0.0.0.0:4723启动即可,然后运行python程序,即可看到手机拨打电话执行过程。

"怎么用Python实现打电话"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

元素 变量 手机 版本 环境 支持 输入 配置 一致 代码 内容 命令 就是 方式 方法 时候 更多 知识 设备 过程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 找不见向数据库新添加的表 邯郸网络安全视频小学生 国家网络安全宣传周微视频设置 工信部网络安全局尚铁力 软件开发cs是什么职位 新型软件开发技术是什么 银川公安局网络安全大队 杰赛科技卫星互联网 学生网络安全教育培训总结 闵行区服务软件开发教育 郴州天一软件开发 常州租车软件开发 查询数据库结果显示 招生管理信息系统数据库结构 网络安全手册考试 日照软件开发在线学习 未来的计算机软件开发趋势 辽宁网络技术开发包括什么 负责网络安全工作的部门是 应该掌握的网络安全技巧有哪些 河北麻将软件开发优选企业 服务器的1433端口 大逃杀 服务器 免费 学了网络安全以后怎样找工作的 数据库一点就变成可用模板 石河子服务器机柜 web服务器最安全的目录 易语言如何断开数据库链接 软件开发的公司做什么 志愿者网络安全服务图片
0