学习通图书馆

目录

一、环境搭建

1.1 安装client编程库

1.2 安装Appium Server

1.3 安装JDK

1.4 安装 Android SDK

1.5 手机调试

1.6 环境验证

二、自动化操作

2.1 查找APP Package名和启动Activity名

2.2 界面元素查看

2.2.1 uiautomatorviewer

2.2.2 Appium

三、源码



一、环境搭建

1.1 安装client编程库

通过pip命令下载

pip install appium-python-client

1.2 安装Appium Server

Appium Server基于js开发

https://github.com/appium/appium-desktop/releases/tag/v1.22.3-4https://github.com/appium/appium-desktop/releases/tag/v1.22.3-4

1.3 安装JDK

https://www.oracle.com/java/technologies/downloads/https://www.oracle.com/java/technologies/downloads/

安装完成后,添加环境变量JAVA_HOME

JAVA_HOME   E:\java\jdk1.8.0_211

1.4 安装 Android SDK

同样下载androidsdk安装包,完成后配置环境变量ANDROID_HOME,加入环境变量PATH

1.5 手机调试

1.5.1 用USB线连接上安卓手机

1.5.2 设置➡关于手机,不断点击版本号7次以上

1.5.3 退出到上级菜单,在开发者模式中,启动USB调试

1.6 环境验证

cmd调出命令行,输入adb devices -l,返回如下说明此时环境搭建完成

学习通图书馆_第1张图片

注:具体环境搭建操作和安装链接可参考up主白月黑羽

环境搭建https://www.byhy.net/tut/auto/appium/01/#%E5%AE%89%E8%A3%85-android-sdk


二、自动化操作

2.1 查找APP Package名和启动Activity名

手机上打开学习通APP,在cmd中执行

adb shell dumpsys activity recents | find "intent={"

输出

 其中第一行最后cmp即为Package名和Actiivity名

应用的package名称就是 com.chaoxing.mobile

应用的启动Activity就是 .activity.SplashActivity

2.2 界面元素查看

2.2.1 uiautomatorviewer

在你之前下载的androidsdk中D:\web\appium\androidsdk\androidsdk\tools\bin\uiautomatorviewer.bat

打开后,出现

学习通图书馆_第2张图片

点击

 出现页面的构成元素

2.2.2 Appium

同样也是在之前下载好的软件中

学习通图书馆_第3张图片

 输入手机的相关参数

学习通图书馆_第4张图片

 定位xpath元素

学习通图书馆_第5张图片

 接下来就是一步一步xpath,一步一步click

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

# 设置缺省等待时间
driver.implicitly_wait(5)


# 南通大学图书馆
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.view.ViewGroup/android.widget.FrameLayout/android.support.v4.view.ViewPager/android.widget.RelativeLayout/android.support.v7.widget.RecyclerView/android.widget.FrameLayout[2]/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout[1]/android.view.ViewGroup/android.widget.TextView').click()
time.sleep(1)

三、源码

完整代码放在Github中,不同学校图书馆系统虽不一样,但大体思路相同,可自行编写

https://github.com/5-Daisy/NTU_Library/tree/mastericon-default.png?t=M85Bhttps://github.com/5-Daisy/NTU_Library/tree/master

注:本文仅做学习交流,旨在为有需要的人提供便利,不做任何商业用途,技术理应服务于生活。

你可能感兴趣的:(python爬虫,学习)