修改全部停止的逻辑,增加停止的节点

This commit is contained in:
2025-11-04 14:39:51 +08:00
parent f49755cb30
commit 81761a576b

View File

@@ -469,7 +469,6 @@ class ScriptManager():
LogManager.method_info("=== 外层 while 新一轮 ===", "关注打招呼", udid)
if event.is_set():
print("任务终止3")
break
# 获取一个主播,
@@ -511,6 +510,9 @@ class ScriptManager():
# 查找输入框
input = session.xpath('//XCUIElementTypeSearchField')
if event.is_set():
break
# 如果找到了输入框,就点击并且输入内容
if input.exists:
input.click()
@@ -528,13 +530,20 @@ class ScriptManager():
LogManager.method_info(f"输入主播id:{aid or '暂无数据'}", "关注打招呼", udid)
input.set_text(f"{aid or '暂无数据'}\n")
# 定位 "关注" 按钮 通过关注按钮的位置点击主播首页
session.appium_settings({"snapshotMaxDepth": 25})
try:
if event.is_set():
break
# 点击进入首页
ControlUtils.clickFollow(session, aid)
if event.is_set():
break
LogManager.method_info("点击进入主播首页", "关注打招呼", udid)
except wda.WDAElementNotFoundError:
LogManager.method_info("未找到进入主播首页的按钮,使用第二个方案。", "关注打招呼", udid)
@@ -546,6 +555,10 @@ class ScriptManager():
event.wait(timeout=5)
# 找到并点击第一个视频
if event.is_set():
break
cellClickResult, workCount = ControlUtils.clickFirstVideoFromDetailPage(session)
LogManager.method_info(f"点击第一个视频", "关注打招呼", udid)
@@ -562,6 +575,9 @@ class ScriptManager():
count = workCount
while count != 0:
if event.is_set():
break
LogManager.method_info("准备停止脚本", method="task")
for _ in range(5):
LogManager.method_info("停止脚本中", method="task")
@@ -597,6 +613,8 @@ class ScriptManager():
event.wait(timeout=1)
LogManager.method_info("停止脚本成功", method="task")
# 使用OCR进行评论
if isComment:
self.comment_flow(filePath, session, udid, 100, 100)
@@ -619,6 +637,8 @@ class ScriptManager():
LogManager.method_info("viewAnchorVideo 检测到停止,提前退出", "关注打招呼", udid)
return
if event.is_set():
break
# 如果打开视频失败。说明该主播没有视频
if cellClickResult == True:
# 观看主播视频
@@ -632,9 +652,15 @@ class ScriptManager():
ControlUtils.swipe_down(udid)
event.wait(timeout=2)
if event.is_set():
break
msgButton = AiUtils.getSendMesageButton(session)
event.wait(timeout=2)
if msgButton.exists:
# 进入聊天页面
msgButton.click()
@@ -695,6 +721,8 @@ class ScriptManager():
msg = text
LogManager.method_info(f"即将发送的私信内容:{msg}", "关注打招呼", udid)
if event.is_set():
break
# 准备发送一条信息
chatInput = session.xpath("//TextView")
if chatInput.exists:
@@ -733,7 +761,8 @@ class ScriptManager():
# goBack(4)
# session.appium_settings({"snapshotMaxDepth": 15})
# continue
if event.is_set():
break
session.appium_settings({"snapshotMaxDepth": 15})
goBack(3)
@@ -751,6 +780,8 @@ class ScriptManager():
LogManager.method_info("即将要回复消息", "关注打招呼", udid)
LogManager.method_info(f"是否需要进行监控消息:{needReply}", "监控消息")
if event.is_set():
break
if needReply:
print("如果需要回复主播消息。走此逻辑")