Python+APPIUM+模拟器实现自动看网课

本文主要使用Python以及APPUIM编写脚本实现超星APP自动看课的功能。关于APPIUM的配置请看新手入门——APPIUM的环境配置以及连接夜神模拟器打开百度地图 Python的安装以及环境配置请自行百度,这里使用的是Python3.8版本。

安装Appium-Python-Client

当你安装配置好Appium、Python后就可以安装Appium-Python-Client,安装方法十分简单,只需要在cmd输入pip install Appium-Python-Client,但是这样经常下载不成功,所以可以输入pip3 install --index-url https://pypi.douban.com/simple appium-python-client使用豆瓣的镜像进行下载。这里需要注意的是要用管理员的方式打开cmd。下载成功后,输入pip3 list 出现下图则表示安装成功。

前期准备

第一步打开夜神模拟器下载学习通APP,并将其apk导出。



将导出的apk放在D盘。然后使用SDK工具,打开SDK目录打开build-tools文件夹,打开文件夹中的文件复制其地址。重新打开一个cmd终端cd进入刚刚复制的目录中然后输入aapt dump badging d:\xuexitong.apk然后找到package name和launchable-activity,复制红框中的内容的内容。

第二步 打开Appium

打开Appium并打开一个New Session Window。输入下图的内容。

这里的appPacke和appActivity就是刚刚复制的内容。

第三步打开cmd终端,cd进入夜神模拟器的目录中),输入nox_adb.exe connect 127.0.0.1:62001。

出现图片内容说明成功。

第四步Start Session

点击Appium里面start session按钮。然后点击你想定位的元素就会出现其对应的id或者xpath。

编写Python脚本

下面是我编写的python脚本。

from appium import webdriver
from time import sleepdesired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1.1'
desired_caps['deviceName'] = '127.0.0.1:62001'
desired_caps['appPackage'] = 'com.chaoxing.mobile'
desired_caps['appActivity'] = 'com.chaoxing.mobile.activity.SplashActivity'
desired_caps['noReset'] = 'true'
desired_caps['unicodeKeyboard'] = 'true'
desired_caps['noSign'] = 'true'
desired_caps['resetKeyboard'] = 'true'driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
sleep(2)
# driver.find_element_by_id("com.chaoxing.mobile:id/et_account").send_keys('17612080572')
# driver.find_element_by_id("com.chaoxing.mobile:id/et_password").send_keys('a86129363b')
# sleep(2)
driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.TabHost/android.widget.RelativeLayout/android.widget.FrameLayout[2]/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ViewFlipper/android.widget.FrameLayout/android.widget.RelativeLayout/android.view.View/android.support.v7.widget.RecyclerView/android.widget.FrameLayout[4]/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout").click()
sleep(2)
driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.view.View/android.widget.RelativeLayout/android.view.View/android.widget.LinearLayout[1]/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout[1]/android.widget.FrameLayout[2]/android.widget.TextView").click()
sleep(2)
driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.view.View/android.widget.RelativeLayout/android.view.View/android.widget.LinearLayout[2]/android.support.v4.view.ViewPager/android.widget.RelativeLayout/android.support.v7.widget.RecyclerView/android.widget.RelativeLayout[6]/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout").click()
sleep(3)
driver.find_element_by_id("ext-gen1040").click()
sleep(20)
driver.quit()

下面就是效果

只展示了一部分,后期还需要慢慢完善。

Python+APPIUM+模拟器实现自动看网课相关推荐

  1. [自动化] 如果电脑不会自己看网课,就应该用Python教会它

    很多时候想刷网课,但像超星学习通这样的平台在播完一条视频后并不会自动切播到下一条.所以这里简单用python写了一个小脚本,利用PyAutoGui库自动完成一些如鼠标移动点击来刷网课的操作. 环境准备 ...

  2. 根据课表自动打开网课上课平台——Python实现

    前言 自疫情爆发以来啊,对大学牲来讲,上网课已基本成为司空见惯的事情了,在看的各位谁还没上过个网课呢.抛开事实不谈,上网课的效率还是比较高的(手动狗头). 那有些游手好闲,啊不对,是热爱学习的小可爱( ...

  3. 利用代码实现自动刷网课阅读时长功能 JAVA

    目录 前言: 理论依据: 现实依据: 朴素版只能循环阅读不能翻页: 升级版 翻页 + 阅读: 如何使用: 前言: 最近不也快结课了,网课该刷的都要刷掉,最近不就把一门思政课刷完了,课后习题也做了,但是 ...

  4. 网课python程序设计答案_Python程序设计知到网课答案

    程序What can you say when you provide catering service? 工程技术类职位要求应聘者在相关的专业知识基础上具备筹划.设计论证.设计设计.组织实施以及解决 ...

  5. 不用看网课就能学到python的文章(第一天)

    为什么要学python? 在大数据时代,抖音快手火爆全球,作业帮小猿搜题的数据库,都离不开大数据,大数据的科学计算,最重要的语言就是python,网络爬虫(网络爬虫 - 搜狗百科)搜索引擎等等也主要是 ...

  6. 记录安装python+appium+模拟器的自动化

    1.安装jdk---安装sdk,配置环境变量 2.安装python --安装pycharm 3.在python中安装appium库 4.使用adb connect 127.0.0.1:62001连接模 ...

  7. b站网页版倍速无效_看网课讲师太啰嗦太慢?在线视频课程效率低?教你自定义超倍速看

    经常在网上看视频教程的朋友,是否像我一样为看视频不能快速播放而烦恼呢? 有的讲师讲课太慢了,即时有倍速播放还是很啰嗦,直接跳过吧怕忽略整个流程没法连接,跟着看很多步骤又是自己再熟悉不过的,能不能直接按 ...

  8. python+appium实现手机自动答题

    此处只有自动答题相关的函数,其中登录等函数需要自己实现,共勉~! def get_selections(self, right_answer):'''利用多线程获取选项的文字'''for i in r ...

  9. 看网课录播时候老师讲得太慢而app没有加速功能怎么办?

    step1 想办法拿到网站链接,然后去网页打开 比如先点开某链接 我点的是数学,复制它的链接,如下图 step2 然后在浏览器打开(我选的是谷歌浏览器) 然后按下F12(笔记本电脑可能需要点Fn+F1 ...

最新文章

  1. 【HDOJ】1239 Calling Extraterrestrial Intelligence Again
  2. 日本比中国快一个小时,泰国比中国慢一个小时
  3. java回收类_Java的内存回收——Java引用的种类
  4. .net数据库连接池配置技巧(默认值)
  5. linux怎样卸载conda,【原创文章】生信软件环境conda的安装与卸载
  6. 单片机电源自动切换电路,mos双电源自动切换电路,电池与usb供电自动切换电路
  7. 明明白白你的Linux服务器——网络篇(2)
  8. 【读书笔记——开关电源】《精通开关电源设计》(1)
  9. c语言自学路线图,C语言的知识体系图,C语言学习路线图
  10. Android进阶——动画家族之视图动画、属性动画和过渡(转场)动画总结(一)
  11. 11 种主要神经网络结构图解
  12. 计算机硬盘容量越大运行速度越快,你是不是也感觉电脑内存越大运行速度越快?...
  13. yoctoqemu(十二)openssh
  14. Pytest 如何组织冒烟测试及执行冒烟用例
  15. C# wpf 封装成dll供C++调用
  16. 512mb内存linux,linux 内存详解
  17. 亚马逊卖家api_亚马逊如何吸引手工卖家并将其晾干
  18. 王和平的《计算机是怎样跑起来的》学习笔记
  19. Qt录音+百度语音Linux C++ SDK识别包实现语音识别
  20. 菜鸟实战UML——活动图

热门文章

  1. Python 中的数字到底是什么?
  2. 工作随笔:如何开展测试工作
  3. ArcGIS基础实验操作100例--实验66符号图层的保存与加载
  4. Cesium官方教程9--粒子系统
  5. 部分mp4视频在ios上无法播放问题
  6. java---JUC并发包详解
  7. Java编程语言学习资料
  8. 五年级计算机课主要学哪些内容,五年级信息技术教学计划(精选4篇)
  9. 通达信除权除息(tdx gbbq)导出为文本文件
  10. vex机器人比赛 一队人数_2019VEX机器人世界锦标赛圆满落幕