下面介绍实现五条自动阅读的步骤。(只介绍android手机的情况)
一、手机连接电脑
首先用usb线将手机连接到电脑上,然后开始菜单中,cmd打开控制台,输入adb devices,会出现如下页面:
这是要记住这个字符串,这就是你手机的name
注意:如果显示不存在这个内部命令,则请关闭手机和电脑上的杀毒软件,usb连接手机要选择管理文件而不是仅仅充电,安装手机管家,如果手机管家能实现电脑和手机的连接,一般这里就没有问题。
二、打开appium
appium的安装在上一个教程中已经讲过,没有安装的请在公众号中找《五条自动阅读教程–appium安装》。
这里直接打开appium,右上角有一个三角箭头,点击这个按钮
三角就会变成方块。
说明appium启动成功。
三、运行脚本
把如下脚本复制到文本文档中,并将文件的后缀名修改为py
# coding=utf-8
from appium import webdriver
import time
desired_caps = {'platformName': 'Android','deviceName': 'G2******304007116','platformVersion': '6.0',# apk包名'appPackage': 'com.kingnet.fiveline',# apk的launcherActivity'appActivity': 'com.kingnet.fiveline.ui.welcome.WelcomeActivity','unicodeKeyboard': True,#使用UNICODE编码方式发送字符串'resetKeyboard': True#隐藏键盘}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
# 获得机器屏幕大小x,y
def getSize():x = driver.get_window_size()['width']y = driver.get_window_size()['height']return (x, y)
# 屏幕向上滑动
def swipeUp(t):l = getSize()x1 = int(l[0] * 0.5) # x坐标y1 = int(l[1] * 0.75) # 起始y坐标y2 = int(l[1] * 0.25) # 终点y坐标driver.swipe(x1, y1, x1, y2, t)
# 屏幕向下滑动
def swipeDown(t):l = getSize()x1 = int(l[0] * 0.5) # x坐标y1 = int(l[1] * 0.25) # 起始y坐标y2 = int(l[1] * 0.75) # 终点y坐标driver.swipe(x1, y1, x1, y2, t)
# 屏幕向左滑动
def swipLeft(t):l = getSize()x1 = int(l[0] * 0.75)y1 = int(l[1] * 0.5)x2 = int(l[0] * 0.05)driver.swipe(x1, y1, x2, y1, t)
# 屏幕向右滑动
def swipRight(t):l = getSize()x1 = int(l[0] * 0.05)y1 = int(l[1] * 0.5)x2 = int(l[0] * 0.75)driver.swipe(x1, y1, x2, y1, t)
#元素查找
def isFind(c):if driver.find_elements_by_id("com.kingnet.fiveline:id/mLayoutOperatePraise") == []:return Trueelse:return False
print("opened")
time.sleep(25)
print("sleep end")
for i in range(21):driver.find_elements_by_class_name("android.view.ViewGroup")[0].click()print(u"点击了第一个内容")#前面加U中文就不会乱码,否则打印出来的中文是乱码time.sleep(10)print(u"等待10秒钟")count = 0while(isFind("com.kingnet.fiveline:id/mLayoutOperatePraise")):swipeUp(1000)time.sleep(2)print(u"下滑后,等待2秒钟")count = count+1if(count>25):breakprint(count)time.sleep(8)if(count<26):driver.find_element_by_id("com.kingnet.fiveline:id/mLayoutOperatePraise").click()time.sleep(2)driver.find_element_by_id("com.kingnet.fiveline:id/mTextCommentAction").click()time.sleep(2)searchInputBox = driver.find_element_by_id('com.kingnet.fiveline:id/mEditCommentInput')searchInputBox.send_keys(u"好内容。")time.sleep(2)driver.find_element_by_id("com.kingnet.fiveline:id/mTextCommentAction").click()time.sleep(2)print(u"向下滑动5秒")driver.back()print(u"返回首页")time.sleep(2)swipeUp(6000)print(u"向下滑动6秒")
并把脚本中的deviceName修改为开始时adb命令获得的字符串,如下图所示:
后得到这样一个文件:
在该文件所在的文件夹shift+鼠标右键,然后选择“在此处打开命令窗口”,会打开cmd控制台,输入命令:
python autoReader-wutiao.py
就可以实现自动打开五条app,并阅读新闻,投票,并评论。
















