自动阅读教程--五条app

下面介绍实现五条自动阅读的步骤。(只介绍android手机的情况) 一、手机连接电脑

首先用usb线将手机连接到电脑上,然后开始菜单中,cmd打开控制台,输入adb devices,会出现如下页面:

这是要记住这个字符串,这就是你手机的name

注意:如果显示不存在这个内部命令,则请关闭手机和电脑上的杀毒软件,usb连接手机要选择管理文件而不是仅仅充电,安装手机管家,如果手机管家能实现电脑和手机的连接,一般这里就没有问题。

二、打开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  True
    else:
        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 = 0
    while(isFind("com.kingnet.fiveline:id/mLayoutOperatePraise")):
        swipeUp(1000)
        time.sleep(2)
        print(u"下滑后,等待2秒钟")
        count = count+1
        if(count>25):
            break
        print(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

就可以实现自动打开五条app,并阅读新闻,投票,并评论。

经验分享 程序员 微信小程序 职场和发展