写一段快手可执行脚本,运行脚本自动打开快手app然后点开首页在5秒下滑一下拖动页面这样可以刷新页面
第 1 条补充
· 1 小时前
打开快手后应该是找到快手页面的首页两个字点击进去然后在等待10秒然后滑动一次视频,一直循序这一步等待十秒滑动下一个视频
第 2 条补充
· 1 小时前
给出完整的代码
回答
以下是一段快手自动化的Hamibot脚本,可以实现自动打开快手APP、进入首页并每5秒下滑刷新页面的功能:
// 文档地址 https://docs.hamibot.com/
// 打开快手APP
app.launch("com.smile.gifmaker");
sleep(3000); // 等待APP启动
// 等待进入首页,通过"首页"文字判断
text("首页").waitFor();
// 循环执行,每5秒下滑一次(刷新页面)
while (true) {
// 尝试找到可滑动的区域
var scrollableArea;
// 尝试通过多种方式定位可滑动区域
// 1. 通过id定位(快手常用id)
scrollableArea = id("com.smile.gifmaker:id/view_pager").scrollable(true).findOne(2000);
// 2. 通过类名定位(ViewPager或RecyclerView)
if (!scrollableArea) {
scrollableArea = className("androidx.viewpager.widget.ViewPager").scrollable(true).findOne(2000);
}
if (!scrollableArea) {
scrollableArea = className("androidx.recyclerview.widget.RecyclerView").scrollable(true).findOne(2000);
}
// 3. 通用选择器
if (!scrollableArea) {
scrollableArea = className("android.view.ViewGroup").scrollable(true).findOne(2000);
}
if (scrollableArea) {
// 向下滑动刷新页面
scrollableArea.scrollForward();
log("已执行下滑刷新操作");
} else {
log("未找到可滑动区域,尝试重新进入首页");
// 尝试返回首页
back();
sleep(1000);
// 点击首页按钮
text("首页").findOne().click();
sleep(2000);
}
// 等待5秒
sleep(5000);
}
使用说明:
- 脚本会先启动快手APP,等待3秒让APP加载完成
- 通过"首页"文字确认已进入快手首页
- 循环查找可滑动区域,尝试了多种定位方式(id、类名等)
- 找到可滑动区域后执行下滑操作(
scrollForward()) - 每次操作后等待5秒,继续下一轮刷新
注意事项:
- 由于不同版本的快手APP界面可能有差异,如果脚本无法正常工作,你可以使用Hamibot的悬浮窗"布局分析"功能,点击快手首页的视频区域,查看具体的控件信息,然后修改脚本中的选择器
- 如果发现是向上滑动加载更多内容(而非下滑刷新),可将
scrollForward()改为scrollBackward() - 首次使用时建议先在脚本控制台运行,观察执行效果
- 请勿在快手进行过于频繁的操作,以免被系统判定为异常行为
如果脚本运行有问题,建议先使用Hamibot的悬浮窗"布局分析"功能确认快手首页可滑动区域的具体属性。
补充回答 1
文档地址 https://docs.hamibot.com/
这是实现快手自动化观看视频的Hamibot脚本:
// 启动快手应用
app.launch("com.smile.gifmaker");
// 等待应用启动
sleep(3000);
// 点击首页按钮
var homeBtn = text("首页").findOne(5000);
if (homeBtn) {
homeBtn.click();
toast("已点击首页按钮");
} else {
toast("未找到首页按钮,继续执行");
}
// 循环观看视频
while (true) {
// 等待10秒
sleep(10000);
// 从屏幕底部向上滑动(切换视频)
// (x1, y1)是起始坐标,(x2, y2)是结束坐标
// 根据屏幕尺寸调整坐标,这里假设是常见的手机屏幕
swipe(500, 1800, 500, 800, 500);
toast("已滑动到下一个视频");
}
几点说明:
- 脚本首先启动快手应用,等待3秒让应用加载
- 尝试查找"首页"文字并点击,如果找不到会继续执行
- 进入无限循环,每次等待10秒后执行一次向上滑动
- 滑动坐标可以根据你的设备屏幕尺寸调整:
- 前两个参数(500, 1800)是滑动起点(屏幕底部)
- 中间两个参数(500, 800)是滑动终点(屏幕中部)
- 最后一个参数500是滑动持续时间(毫秒)
如果快手界面有变化,可能需要调整:
- 查找"首页"的方式(可以改用id或坐标点击)
- 滑动的坐标值(不同分辨率手机需要调整)
你可以先运行脚本,如果找不到"首页"按钮,可以使用Hamibot的"悬浮窗"功能查看元素信息,然后修改定位方式。
补充回答 2
文档地址 https://docs.hamibot.com/
// 配置参数
var CONFIG = {
appPackage: "com.smile.gifmaker", // 快手应用包名
videoWatchTime: 10000, // 观看视频时间(毫秒)
maxVideos: 50, // 最大观看视频数量
swipeDuration: 500, // 滑动持续时间(毫秒)
homeCheckTimeout: 5000 // 查找首页按钮的超时时间
};
/**
* 点击首页按钮 - 尝试多种方式定位
*/
function clickHomePage() {
// 方式1:通过文字"首页"查找
var homeBtn = text("首页").findOne(2000);
if (homeBtn) {
homeBtn.click();
toastLog("已通过文字'首页'点击");
return true;
}
// 方式2:通过资源ID查找(常见ID,可根据实际情况调整)
homeBtn = id("com.smile.gifmaker:id/bottom_tab_icon").desc("首页").findOne(2000);
if (homeBtn) {
homeBtn.click();
toastLog("已通过ID找到首页按钮并点击");
return true;
}
// 方式3:通过坐标点击(如果上述方法都不行)
var width = device.width;
var height = device.height;
click(width * 0.5, height - 100);
toastLog("已通过坐标点击底部导航栏");
return true;
}
/**
* 滑动到下一个视频
*/
function swipeToNextVideo() {
// 获取屏幕尺寸
var width = device.width;
var height = device.height;
// 计算滑动坐标(从屏幕底部向上滑动)
var startX = width * 0.5;
var startY = height * 0.85;
var endX = width * 0.5;
var endY = height * 0.25;
swipe(startX, startY, endX, endY, CONFIG.swipeDuration);
toastLog("已滑动到下一个视频");
}
/**
* 检查是否在快手应用中
*/
function isKuaishouApp() {
var currentPackage = currentPackage();
return currentPackage === CONFIG.appPackage;
}
/**
* 主函数
*/
function main() {
// 启动快手应用
if (!app.launch(CONFIG.appPackage)) {
toastLog("无法启动快手应用,请检查是否已安装");
return;
}
toastLog("快手应用已启动,等待加载...");
sleep(3000); // 等待应用加载
// 确保在快手应用中
if (!isKuaishouApp()) {
toastLog("未在快手应用中,可能启动失败");
return;
}
// 尝试点击首页
clickHomePage();
sleep(2000); // 等待页面切换
// 开始循环观看视频
var videoCount = 0;
while (videoCount < CONFIG.maxVideos) {
videoCount++;
toastLog("正在观看第 " + videoCount + " 个视频");
// 等待指定时间
sleep(CONFIG.videoWatchTime);
// 检查是否仍在快手应用中
if (!isKuaishouApp()) {
toastLog("已离开快手应用,尝试重新进入");
app.launch(CONFIG.appPackage);
sleep(3000);
clickHomePage();
sleep(2000);
}
// 滑动到下一个视频
swipeToNextVideo();
// 短暂等待滑动完成
sleep(500);
}
toastLog("已完成 " + videoCount + " 个视频的观看,脚本结束");
}
// 开始执行
auto.waitFor();
main();
ℹ️ 本回答由 AI 生成,内容仅供参考