清除网易云历史评论

auto.waitFor()
setScreenMetrics(1080, 2160);
main();
function main() {
    while (true) {
        var comment = id('commentContent').untilFindOne();
        console.log("开始删除评论:" + comment.text());
        //点击评论
        while (true) {
            if (comment.visibleToUser() == true) {
                click(comment.centerX(), comment.centerY());
                console.log("点击评论:" + comment.centerX() + "," + comment.centerY());
                break;
            }
            console.log("评论不可见");
            swipe(comment.centerX(), comment.parent().bounds().bottom, comment.centerX(), comment.parent().bounds().top, 300);
            comment = id('commentContent').untilFindOne();
        }
        sleep(1000);
        let mode = showup_delete_btn(comment.text());
        sleep(1000);
        delete_btn(mode);
        sleep(1500);
        back();
        sleep(1000);
        console.log(comment.parent().bounds().bottom);
        swipe(comment.centerX(), comment.parent().bounds().bottom, comment.centerX(), comment.parent().bounds().top, 300);
        sleep(1500);
    }
}

function showup_delete_btn(content) {
    // 长按唤出删除按钮
    var flag = true;
    while (true) {
        if (content) {
            var c = textContains(content).untilFindOne();
            sleep(300);
            console.log(c.visibleToUser());
            // 检查控件位置是否在屏幕内
            var bounds = c.bounds();
            // var actually_y = id("editBlock").untilFindOne().bounds().top;
            let actually_y=1895;
            console.log("实际y坐标:" + actually_y);
            if (bounds.top >= 0 && bounds.bottom <= actually_y && bounds.left >= 0 && bounds.right <= device.width) {
                if (c.visibleToUser() == true) {
                    console.log("找到评论或回复,准备删除");
                    let x = get_delete_mode();
                    console.log(c.centerX(), c.centerY());
                    press(c.centerX(), c.centerY(), 1000);
                    // flag = true;
                    return x;
                } else {
                    console.log("控件位置不在屏幕内");
                    console.log("flag:" + flag);
                    if (flag) {
                        // 滑动至顶部
                        swipe(540, 500, 540, 1500, 300);
                        flag = false;
                    } else {
                        // 下滑
                        swipe(540, 900, 540, 500, 200);
                    }
                }
            } else {
                console.log("控件位置不在屏幕内");
                console.log("flag:" + flag);
                if (flag) {
                    // 滑动至顶部
                    swipe(540, 500, 540, 1500, 300);
                    flag = false;
                } else {
                    // 下滑
                    swipe(540, 900, 540, 500, 200);
                }
            }

        } else {
            var target = text("当前评论").findOnce() || text("当前回复").findOnce();
            if (target) {
                console.log("找到评论或回复,准备删除");
                press(target.centerX(), target.centerY() + 200, 1000);
                return 0;
            }
        }
        sleep(1000);
    }
}
function get_delete_mode() {
    // 如果没有当前评论或当前回复,则删除按钮的位置会偏移
    var t = text("当前评论").findOnce() || text("当前回复").findOnce();
    if (t) {
        return 0;
    } else {
        return 1;
    }
}
function delete_btn(mode) {
    // 点击删除按钮
    var delete_btn = text("删除").untilFindOne();
    var x;
    if (mode == 0) {
        x = delete_btn.centerX();
    } else if (mode == 1) {
        x = delete_btn.centerX() + 150;
        // x = delete_btn.centerX();
    }
    console.log(x, delete_btn.centerY());
    click(x, delete_btn.centerY());
    sleep(400);
}

function back() {
    // 返回
    console.log("返回");
    // desc('转到上一层级').untilFindOne().click();
    click(82,137);
}

先展示下效果 https://pan.quark.cn/s/e81b877737c1 Node.js 是一种基于 Chrome V8 引擎的 JavaScript 执行环境,它使开发者能够在服务器端执行 JavaScript 编程,显著促进了全栈开发的应用普及。 在 Node.js 的开发流程中,`node_modules` 文件夹用于存储所有依赖的模块,随着项目的进展,该文件夹可能会变得异常庞大,其中包含了众多可能已不再需要的文件和文件夹,这不仅会消耗大量的硬盘空间,还可能减慢项目的加载时间。 `ModClean 2.0` 正是为了应对这一挑战而设计的工具。 `ModClean` 是一款用于清理 `node_modules` 的软件,其核心功能是移除那些不再被使用的文件和文件夹,从而确保项目的整洁性和运行效率。 `ModClean 2.0` 是此工具的改进版本,在原有功能上增加了更多特性,从而提高了清理工作的效率和精确度。 在 `ModClean 2.0` 中,用户可以设置清理规则,例如排除特定的模块或文件类型,以防止误删重要文件。 该工具通常会保留项目所依赖的核心模块,但会移除测试、文档、示例代码等非运行时必需的部分。 通过这种方式,`ModClean` 能够协助开发者优化项目结构,减少不必要的依赖,加快项目的构建速度。 使用 `ModClean` 的步骤大致如下:1. 需要先安装 `ModClean`,在项目的根目录中执行以下命令: ``` npm install modclean -g ```2. 创建配置文件 `.modcleanrc.json` 或 `.modcleanrc.js`,设定希望清理的规则。 比如,可能需要忽略 `LICENSE` 文件或整个 `docs`...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值