怎么知道抖音短视频的播放是否完成呀
滑动进度条, 然后开启个新的线程, 获取弹出的时间
function slideProgressBar() {
// 找到进度条
var progressBar = desc("进度条").visibleToUser().findOne(1000);
if (progressBar) {
// 获取进度条的边界
var bounds = progressBar.bounds();
// 计算滑动起点和终点
var startX = bounds.centerX() / 3;
var startY = bounds.centerY();
var endX = bounds.centerX() * 1.5;
var endY = bounds.centerY();
// 开始一个线程来获取播放时间
threads.start(function() {
while (true) {
// 查找播放时间控件
var playbackTimes = textMatches(/\d{1,2}:\d{2}/).find();
if (playbackTimes.length >= 2) {
// 提取时间文本
var time0 = playbackTimes[0].text();
var time1 = playbackTimes[1].text();
// 使用封装的比较函数
var largerTime = compareTimes(time0, time1);
if (largerTime !== null) {
console.log("播放时间0: " + time0);
console.log("播放时间1: " + time1);
console.log("较大的播放时间为: " + largerTime);
break; // 找到时间后退出循环
}
}
// 等待一段时间后再检查
sleep(100);
}
});
// 在主线程中滑动进度条
gesture(1000, [startX, startY], [endX, endY]);
console.log("进度条滑动完成");
} else {
console.log("未找到进度条控件");
}
}
// 比较两个时间字符串,返回较大的时间
function compareTimes(time1, time2) {
var timeToSeconds = function (timeText) {
if (!timeText) {
return -1; // 如果时间文本为空,返回-1表示无效时间
}
var [minutes, seconds] = timeText.split(":").map(Number);
return minutes * 60 + seconds;
};
var time1InSeconds = timeToSeconds(time1);
var time2InSeconds = timeToSeconds(time2);
if (time1InSeconds === -1 && time2InSeconds === -1) {
return null; // 如果两个时间都是无效的,返回null
} else if (time1InSeconds === -1) {
return time2; // 如果time1无效,返回time2
} else if (time2InSeconds === -1) {
return time1; // 如果time2无效,返回time1
} else {
return time1InSeconds > time2InSeconds ? time1 : time2;
}
}
// 调用函数滑动进度条
slideProgressBar();