自动阅读教程--五条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,并阅读新闻,投票,并评论。