Appium+Android SDK自动阅读今日头条极速版新闻

阅读: 评论:0

Appium+Android SDK自动阅读今日头条极速版新闻

Appium+Android SDK自动阅读今日头条极速版新闻

from appium import webdriver
from time import sleep
import json
#获取进入主界面的配置i
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '9.0'
desired_caps['deviceName'] = 'PWHUT19927016255'
desired_caps['appPackage'] = "com.ss.android.article.lite"
desired_caps['appActivity'] = "com.ss.android.article.lite.activity.SplashActivity"
desired_caps['noReset'] = 'true'#appium服务器
server="localhost:4723/wd/hub"
print(json.dumps(desired_caps))
#链接appium服务器
driver = webdriver.Remote(server,desired_caps)#向上滑动界面
def swipeUp(driver, t=500, n=1):l = _window_size()x1 = l['width'] * 0.5  # x坐标y1 = l['height'] * 0.75  # 起始y坐标y2 = l['height'] * 0.25  # 终点y坐标for i in range(n):driver.swipe(x1, y1, x1, y2, t)#像下滑动界面
def swipeDown(driver, t=500, n=1):l = _window_size()x1 = l['width'] * 0.5  # x坐标y1 = l['height'] * 0.25  # 起始y坐标y2 = l['height'] * 0.75  # 终点y坐标for i in range(n):driver.swipe(x1, y1, x1, y2, t)#向左滑动界面
def swipLeft(driver, t=500, n=1):l = _window_size()x1 = l['width'] * 0.75y1 = l['height'] * 0.5x2 = l['width'] * 0.25for i in range(n):driver.swipe(x1, y1, x2, y1, t)#向右滑动界面
def swipRight(driver, t=500, n=1):l = _window_size()x1 = l['width'] * 0.25y1 = l['height'] * 0.5x2 = l['width'] * 0.75for i in range(n):driver.swipe(x1, y1, x2, y1, t)# 选择新闻 定位新闻组件
def selectNews(driver):news = []try:news = driver.find_element_by_id("android:id/list").find_elements_by_xpath("//*[@resource-id='com.ss.android.article.lite:id/b_'][@clickable='true']")except BaseException as e:swipeUp(driver, 2000, 1)news = selectNews(driver)return news# 阅读新闻
def readNew(driver):print("阅读消息......")news = selectNews(driver)for index, item1 in enumerate(news):try:it=item1.find_element_by_class_name("android.widget.TextView"))item1.click()sleep(6)try:gbBtn = driver.find_element_by_id("com.ss.android.article.lite:id/a1b")print(gbBtn)if (gbBtn):sleep(20)driver.keyevent(4)sleep(5)except Exception:print("未获取到文字关闭按钮......")try:gbBtn = driver.find_element_by_id("com.ss.android.article.lite:id/w6")print(gbBtn)if (gbBtn):sleep(20)driver.keyevent(4)sleep(5)except Exception:print("未获取到视频关闭按钮......")except Exception as e:print("获取新闻信息异常......")print(e)
#输出当前界面的Activity
print(driver.current_activity)
#等待几面完全加载完成
driver.wait_activity("com.ss.android.article.lite.activity.SplashActivity",10)
# 获取新闻分类标题
header = driver.find_element_by_id("com.ss.android.article.lite:id/a5w")
list = header.find_elements_by_class_name("android.widget.TextView")
# 找到标题元素 循环点击
for index, item in enumerate(list):)item = list[index]# 然后开始查找新闻列表# 阅读新闻函数 # 每个分类阅读的页数  pageNum = 0while (pageNum < 10):readNew(driver)swipeUp(driver, 2000, 1)pageNum += 1
print(list)
driver.quit()

本文发布于:2024-01-28 09:34:56,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064057026482.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:极速   头条   今日   新闻   Appium
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23