You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
245 lines
5.4 KiB
245 lines
5.4 KiB
var allTasks = ['封面新闻'];
|
|
let taskText = '';
|
|
|
|
// 美好生活 debug
|
|
|
|
start();
|
|
function start () {
|
|
auto.waitFor()
|
|
var appName = "com.ldzs.zhangxin";
|
|
if (launch(appName)) {
|
|
console.info("启动晶彩看点");
|
|
}
|
|
console.show();
|
|
|
|
kkz();
|
|
exit();
|
|
}
|
|
|
|
//看看赚
|
|
function kkz () {
|
|
//初始化时要忽略的任务
|
|
let rct;
|
|
let needBack = false;
|
|
for (var i = 1; i < 50; i++) {
|
|
sleep(1000);
|
|
needBack = false;
|
|
|
|
if (i % 5 == 0)
|
|
console.clear();
|
|
|
|
if (text('看看赚').findOnce() == undefined) {
|
|
console.log(i, '未在看看赚页面,后退');
|
|
back();
|
|
sleep(1000);
|
|
}
|
|
|
|
try {
|
|
|
|
var task = getTask(i);
|
|
if (task == undefined) {
|
|
console.log(i, '未获取到任务');
|
|
continue;
|
|
}
|
|
|
|
needBack = true;
|
|
console.log(i, '开始任务 ' + taskText);
|
|
|
|
rct = task.bounds();
|
|
randomClick(rct.centerX(), rct.centerY());
|
|
sleep(500);
|
|
|
|
console.warn(' 任务 ' + taskText + ' 成功');
|
|
|
|
|
|
} catch (error) {
|
|
console.error(error.message);
|
|
}
|
|
finally {
|
|
if (needBack)
|
|
backViewTask();
|
|
sleep(1000);
|
|
if (rct)
|
|
scorrToTask(rct.centerY());
|
|
}
|
|
|
|
}
|
|
|
|
console.warn(' 任务结束');
|
|
}
|
|
|
|
function getById (maxIndex, name) {
|
|
for (let index = 0; index < maxIndex; index++) {
|
|
console.verbose(index, name);
|
|
var t = id(name).findOnce();
|
|
if (t != undefined)
|
|
return t;
|
|
sleep(500);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
function getTask (i) {
|
|
// var task1 = textContains('进行中').find();
|
|
// var task2 = text('去完成').find();
|
|
// var tasks = task1.concat(task2);
|
|
//查找所有任务
|
|
var tasks = textContains('0金币').find();
|
|
|
|
console.log(i, "找到的任务数据 ", tasks.length);
|
|
|
|
for (let index = 0; index < tasks.length; index++) {
|
|
let task = tasks[index];
|
|
taskText = '';
|
|
let par = task.parent();
|
|
if (par && par.childCount() >= 3) {
|
|
let statusText = par.child(2).text();
|
|
//忽略已完成
|
|
if (statusText != '去完成' && statusText != '进行中')
|
|
continue;
|
|
|
|
taskText = par.child(0).text();
|
|
// console.log(" ", index, taskText);
|
|
}
|
|
else {
|
|
continue;
|
|
}
|
|
|
|
//还未处理过
|
|
if (allTasks.indexOf(taskText) > -1) {
|
|
//console.log(" ", index, "已经处理的任务 ", taskText);
|
|
}
|
|
else {
|
|
allTasks.push(taskText);
|
|
return task;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
function scorrToTask (y) {
|
|
// var y = task.bounds().centerY();
|
|
if (device.height - 500 < y) {
|
|
console.log("滚动任务列表")
|
|
gesture(400, [520, 1550], [520, 450]);
|
|
}
|
|
}
|
|
|
|
function backViewTask () {
|
|
if (text('看看赚').findOnce() != undefined) {
|
|
return;
|
|
}
|
|
|
|
var close = id('ahp').clickable().findOnce();
|
|
if (close != undefined)
|
|
close.click();
|
|
else {
|
|
console.log(" backViewTask后退")
|
|
back();
|
|
}
|
|
}
|
|
|
|
//进入世界任务页面
|
|
function viewTask (task) {
|
|
|
|
//判断是否进入的标志
|
|
if (id('cz').findOnce() == undefined) {
|
|
console.log(' ', '未在viewTask页面', task.bounds());
|
|
return;
|
|
}
|
|
|
|
for (var i = 0; i < 8; i++) {
|
|
if (id('cz').findOnce() == undefined) {
|
|
console.log(' ', i, '未在viewTask页面');
|
|
break;
|
|
}
|
|
|
|
closeAd();
|
|
|
|
var l1 = boundsInside(10, 300, device.width, device.height).packageName('com.ldzs.zhangxin').className('android.view.View').clickable().findOnce();
|
|
var l2 = boundsInside(10, 300, device.width, device.height).packageName('com.ldzs.zhangxin').className('android.widget.Image').clickable().findOnce();
|
|
var link = l1 || l2;
|
|
if (link == undefined) {
|
|
console.log(' ', i, '未找到连接');
|
|
}
|
|
else {
|
|
let linkText = link.text() || link.contentDescription || "";
|
|
linkText = linkText.length > 8 ? linkText.substring(0, 8) : linkText;
|
|
// console.log(' ', i, "link ", linkText.length, " ", linkText);
|
|
console.log(' ', i, "link ", linkText);
|
|
|
|
if (linkText.indexOf && linkText.indexOf('广告') > -1) {
|
|
continue;
|
|
}
|
|
|
|
sleep(200)
|
|
link.click();
|
|
sleep(1000);
|
|
back();
|
|
sleep(1000);
|
|
}
|
|
|
|
// console.log(" 下滑!")
|
|
if (id('cz').findOnce() == undefined) {
|
|
console.log(' ', i, '已经退出了viewTask页面');
|
|
break;
|
|
}
|
|
|
|
gesture(400, [520, 1550], [520, 450]);
|
|
sleep(300);
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function closeAd () {
|
|
var closeBtn = id('big_pic_close_btn').findOnce();
|
|
if (closeBtn != undefined) {
|
|
console.log("点击广告关闭按钮");
|
|
randomClickObject(closeBtn);
|
|
sleep(1300);
|
|
}
|
|
|
|
closeBtn = id('btn-close').findOnce();
|
|
if (closeBtn != undefined) {
|
|
console.log("点击广告关闭按钮");
|
|
randomClickObject(closeBtn);
|
|
sleep(1300);
|
|
}
|
|
|
|
closeBtn = idContains('gdt_template').findOnce();
|
|
if (closeBtn != undefined) {
|
|
let rect = closeBtn.bounds();
|
|
console.log("点击广告右上角按钮");
|
|
randomClick(rect.right - 30, rect.top + 30);
|
|
sleep(1300);
|
|
}
|
|
}
|
|
/**
|
|
* 点击
|
|
* @param {横坐标} x
|
|
* @param {纵坐标} y
|
|
*/
|
|
function randomClick (x, y) {
|
|
var rx = 0;// random(0, 5);
|
|
var ry = 0;//random(0, 5);
|
|
|
|
click(x + rx, y + ry);
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* 点击
|
|
* @param {横坐标} x
|
|
* @param {纵坐标} y
|
|
*/
|
|
function randomClickObject (obj) {
|
|
var rx = 0;// random(0, 5);
|
|
var ry = 0;// random(0, 5);
|
|
|
|
var rct = obj.bounds();
|
|
click(rct.centerX() + rx, rct.centerY() + ry);
|
|
click(rct.centerX() + rx, rct.centerY() + ry);
|
|
click(rct.centerX() + rx, rct.centerY() + ry);
|
|
return true;
|
|
}
|