main
he 3 weeks ago
parent 9ee431237e
commit 363481d819

@ -0,0 +1,141 @@
// 定义设备的宽度和高度
const DEVICE_WIDTH = 1080;
const DEVICE_HEIGHT = 1920;
// 定义最大处理直播间数量
const MAX_ROOMS = 10;
// 定义滑动函数
function swipeToNext() {
swipe(
DEVICE_WIDTH / 2,
DEVICE_HEIGHT * 0.8,
DEVICE_WIDTH / 2,
DEVICE_HEIGHT * 0.3,
300
);
}
// 定义点赞函数
function quickLike() {
// 双击屏幕中心位置进行点赞
click(DEVICE_WIDTH / 2, DEVICE_HEIGHT / 2); // 第一次点击
sleep(100); // 等待100毫秒
click(DEVICE_WIDTH / 2, DEVICE_HEIGHT / 2); // 第二次点击
click(DEVICE_WIDTH / 2, DEVICE_HEIGHT / 2); // 第一次点击
sleep(100); // 等待100毫秒
click(DEVICE_WIDTH / 2, DEVICE_HEIGHT / 2); // 第二次点击
}
// 优化后的关注函数
function quickFollow() {
let retries = 3; // 最大重试次数
// 首先点击左上角头像
try {
// 根据图片信息通过className和bounds来定位头像元素
let avatar = className("android.widget.ImageView")
.bounds(36, 126, 144, 234)
.findOne(2000);
if (avatar) {
avatar.click();
sleep(1500); // 等待个人页面加载
// 在个人页面寻找并点击关注按钮
let followButton = text("关注")
.className("android.widget.Button")
.findOne(2000);
if (followButton) {
let bounds = followButton.bounds();
click(bounds.centerX(), bounds.centerY());
sleep(1000); // 等待关注操作完成
// 返回到视频页面
back();
sleep(800); // 等待返回动作完成
return true;
}
}
} catch (error) {
console.error("关注过程出错:", error);
}
return false;
}
// 处理单个直播间的所有操作
function handleSingleRoom() {
// 等待直播间加载
sleep(1500);
// 然后进行点赞
quickLike();
sleep(500);
toast("已点赞");
// 先进行关注操作
if (quickFollow()) {
toast("已关注");
} else {
toast("关注失败或已关注");
}
sleep(800);
sleep(500);
}
// 主要处理函数
function processRooms(count) {
toast("开始处理直播间");
// 处理指定数量的直播间
for (let i = 0; i < count; i++) {
toast("正在处理第" + (i + 1) + "个直播间");
// 处理当前直播间
handleSingleRoom();
// 如果不是最后一个直播间,则滑动到下一个
if (i < count - 1) {
swipeToNext();
sleep(2000); // 等待新直播间加载
}
}
toast("完成所有直播间处理");
}
// 主程序
function main() {
// 设置屏幕常亮
device.keepScreenDim();
try {
// 检查无障碍服务
if (!auto.service) {
toast("请开启无障碍服务");
auto();
sleep(1000);
}
// 设置运行环境
setScreenMetrics(DEVICE_WIDTH, DEVICE_HEIGHT);
// 开始处理直播间
processRooms(MAX_ROOMS);
} catch (error) {
toast("发生错误: " + error);
console.error(error);
} finally {
// 关闭屏幕常亮
device.cancelKeepingAwake();
}
}
// 启动主程序
main();

@ -0,0 +1,151 @@
function openApp(){
auto.waitFor();
var appName = "com.xingin.xhs";
app.launch(appName);
sleep(1000);
return;
}
function openLiveList(){
var a = indexInParent("2").findOnce();
if (a) {
a.click();
sleep(1000);
return;
}else {
//中止脚本
exit();
}
}
function openRandomLive(){
var b = className("android.widget.RelativeLayout").depth("22").find();
if (b) {
var Count = b.size();
var randomIndex = Math.floor(Math.random() * Count);
var randomElement = b.get(randomIndex);
randomElement.click();
console.log(randomIndex);
sleep(1000);
return;
}else {
//中止脚本
exit();
}
}
function inputInfo(info){
var c = desc("评论输入框").findOne();
if (c) {
c.click();
input(info);
sleep(2000);
return;
}else {
//中止脚本
exit();
}
}
function sendInfo(){
var d = text("发送").findOne();
if (d) {
d.click();
sleep(1000);
return;
}else {
//中止脚本
exit();
}
}
function openSend(){
var e = desc("发布").findOne();
if (e) {
e.click();
sleep(1000);
return;
}else {
//中止脚本
exit();
}
}
function openText(){
var f = className("android.widget.FrameLayout").depth("10").indexInParent("1").findOnce();
if (f) {
f.click();
sleep(1000);
return;
}else {
//中止脚本
exit();
}
}
function openEdit(){
var g = className("android.view.View").depth("9").indexInParent("3").findOnce();
if (g) {
g.click();
sleep(1000);
return;
}else {
//中止脚本
exit();
}
}
function inputText(info){
var h = text("说说你的想法吧~").findOnce();
if (h) {
h.click();
h.setText(info);
sleep(1000);
return;
}else {
//中止脚本
exit();
}
}
function nextText(){
var i = desc("下一步").findOnce();
if (i) {
i.click();
sleep(2000);
return;
}else {
//中止脚本
exit();
}
}
function sendText(){
var i = text("发布笔记").findOnce();
if (i) {
i.click();
sleep(2000);
return;
}else {
//中止脚本
exit();
}
}
function main(){
openApp();
// openLiveList();
// openRandomLive();
// inputInfo("1");
// sendInfo();
openSend();
openText();
openEdit();
inputText("111");
nextText();
nextText();
sendText();
exit();
}
main();

@ -0,0 +1,112 @@
// 检查并申请无障碍权限
function checkAndRequestAccessibility() {
if (!auto.service) {
toast("请开启无障碍服务");
auto(); // 自动引导至无障碍设置界面
}
}
// 打开小红书APP
function openXiaoHongShuApp() {
toast("正在打开小红书...");
app.launch("com.xingin.xhs"); // 小红书的包名
sleep(2000); // 等待APP完全加载
}
// 检查是否成功进入小红书
function checkIfXiaoHongShuOpened() {
if (currentPackage() === "com.xingin.xhs") {
toast("小红书已打开");
sleep(2000); // 等待首页加载
return true;
} else {
toast("未能成功打开小红书");
return false;
}
}
// 查找并点击直播入口
function enterLiveSection() {
if (indexInParent("2").exists()) {
toast("找到直播入口");
let liveButton = indexInParent("2").findOne();
if (liveButton) {
liveButton.click();
toast("已点击进入直播模块");
sleep(2000);
return true;
} else {
toast("未能找到直播按钮");
}
} else {
toast("未找到直播入口的属性");
}
return false;
}
// 随机进入一个直播间
function enterRandomLiveRoom() {
var liveRooms = className("android.widget.RelativeLayout").depth("22").find();
if (liveRooms && liveRooms.size() > 0) {
var randomIndex = Math.floor(Math.random() * liveRooms.size());
var randomElement = liveRooms.get(randomIndex);
randomElement.click();
console.log(randomIndex);
console.log("有直播");
sleep(2000);
return true;
} else {
toast("无直播间");
console.log("无直播间");
return false;
}
}
// 自动发表评论
function postComment() {
// 查找评论输入框
let commentInput = desc("评论输入框").findOne(); // 根据描述属性找到评论输入框
if (commentInput) {
commentInput.click(); // 点击评论输入框
sleep(1000); // 等待输入框获得焦点
// 输入评论内容
let commentText = "1";
input(commentText);
toast("已输入评论内容:" + commentText);
sleep(1000);
// 查找并点击发送按钮
let sendButton = text("发送").findOne(); // 根据文本属性找到发送按钮
if (sendButton) {
sendButton.click(); // 点击发送按钮
toast("已发送评论");
} else {
toast("未找到发送按钮");
}
} else {
toast("未找到评论输入框");
}
}
// 主函数
function main() {
checkAndRequestAccessibility();
openXiaoHongShuApp();
if (checkIfXiaoHongShuOpened()) {
if (enterLiveSection()) {
if (enterRandomLiveRoom()) {
postComment();
} else {
exit();
}
} else {
exit();
}
} else {
exit();
}
}
// 执行主函数
main();

@ -0,0 +1,62 @@
// 确保已经打开Auto.js无障碍服务
auto.waitFor();
let packageName = app.getPackageName("小红书") || "com.xingin.xhs";
if (packageName) {
toast("启动小红书...");
console.log("启动小红书...");
app.launch(packageName);
} else {
toast("无法找到小红书应用,请检查应用名称或包名!");
console.error("无法找到小红书应用,请检查应用名称或包名!");
}
// 定义评论内容
let staticComments = [
"今天的直播间好温馨!",
"主播讲解得真棒,学到好多知识!",
"真喜欢这里的氛围,加油哦~",
"支持支持!主播辛苦了!",
"今天的活动福利真不错!",
"好喜欢今天的推荐内容!",
"每次来都收获满满~",
"希望主播每天都能这样开心!",
"谢谢主播的用心讲解!"
];
// 5.2 实现动态评论
function postDynamicComments() {
console.log("进入动态评论函数");
let inputText = prompt("请输入要发送的文本:", "这是默认文本");
let commentBox = descMatches('评论输入框').findOne().click(); // 替换为小红书的实际评论输入框ID
sleep(1000);
let inputbox = className("android.widget.EditText").findOne();
inputbox.setText(inputText);
sleep(1000);
let sendBox = className("android.widget.Button").text("发送").findOne().click();
sleep(1000)
}
function postStaticComments() {
for (let i = 0; i < staticComments.length; i++) {
// 点击评论输入框
let commentBox = descMatches('评论输入框').findOne().click(); // 替换为小红书的实际评论输入框ID
sleep(1000);
let inputbox = className("android.widget.EditText").findOne();
console.log(staticComments[i])
inputbox.setText(staticComments[i]);
// 点击发送按钮
sleep(1000);
let sendBox = className("android.widget.Button").text("发送").findOne().click();
sleep(3000)
}
}
// postStaticComments()
postDynamicComments();
Loading…
Cancel
Save