4 changed files with 501 additions and 0 deletions
@ -0,0 +1,56 @@ |
|||||
|
start(); |
||||
|
|
||||
|
|
||||
|
function start() { |
||||
|
auto.waitFor() |
||||
|
var appName = "com.jingdong.app.mall"; |
||||
|
if (launch(appName)) { |
||||
|
console.info("启动中青看点"); |
||||
|
} |
||||
|
console.show(); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 点击 |
||||
|
* @param {横坐标} x |
||||
|
* @param {纵坐标} y |
||||
|
*/ |
||||
|
function randomClick(x, y) { |
||||
|
var rx = random(0, 5); |
||||
|
var ry = random(0, 5); |
||||
|
|
||||
|
click(x + rx, y + ry); |
||||
|
sleep(2000); |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
auto(); |
||||
|
sleep(1000); |
||||
|
console.show(); |
||||
|
for (var i = 1; i < 500; i++) { |
||||
|
sleep(1000); |
||||
|
console.log("下滑!") |
||||
|
gesture(400, [520, 1550], [520, 450]); |
||||
|
sleep(1000); |
||||
|
var youth = id("ah5").className("android.widget.TextView").findOnce(1); |
||||
|
sleep(200); |
||||
|
if (youth == undefined) |
||||
|
youth = id("a03").className("android.widget.LinearLayout").findOnce(1); |
||||
|
if (youth == undefined) { |
||||
|
console.log(i, "未找到!") |
||||
|
continue; |
||||
|
} |
||||
|
try { |
||||
|
|
||||
|
console.log(i, youth.text()); |
||||
|
var youok = youth.bounds(); |
||||
|
var a = youok.centerX(); |
||||
|
var b = youok.centerY(); |
||||
|
click(a, b); |
||||
|
sleep(1000); |
||||
|
back(); |
||||
|
} catch (error) { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,238 @@ |
|||||
|
var allTasks = ['实时剧情', '朵朵浪花', '闪光热点', '阳光生活', '热点天下', '资讯播报']; |
||||
|
|
||||
|
|
||||
|
start(); |
||||
|
|
||||
|
function start () { |
||||
|
auto.waitFor() |
||||
|
var appName = "cn.youth.news"; |
||||
|
if (launch(appName)) { |
||||
|
console.info("启动中青看点"); |
||||
|
} |
||||
|
console.show(); |
||||
|
|
||||
|
kkz(); |
||||
|
exit(); |
||||
|
} |
||||
|
|
||||
|
//看看赚
|
||||
|
function kkz () { |
||||
|
//初始化时要忽略的任务
|
||||
|
|
||||
|
let taskText = ''; |
||||
|
|
||||
|
for (var i = 1; i < 50; i++) { |
||||
|
sleep(1000); |
||||
|
if (i % 5 == 0) |
||||
|
console.clear(); |
||||
|
|
||||
|
if (text('看看赚').findOnce() == undefined) { |
||||
|
console.log(i, '未在看看赚页面,后退'); |
||||
|
back(); |
||||
|
} |
||||
|
|
||||
|
try { |
||||
|
var task = getTask(i); |
||||
|
if (task == undefined) { |
||||
|
console.log(i, '未获取到任务'); |
||||
|
continue; |
||||
|
} |
||||
|
|
||||
|
console.log(i, '开始任务 ' + taskText); |
||||
|
scorrToTask(task); |
||||
|
|
||||
|
var rct = task.bounds(); |
||||
|
randomClick(rct.centerX(), rct.centerY()); |
||||
|
sleep(3000); |
||||
|
|
||||
|
if (!viewTask(task)) { |
||||
|
console.warn(' 任务 ' + taskText + ' 失败'); |
||||
|
} |
||||
|
else { |
||||
|
console.warn(' 任务 ' + taskText + ' 成功'); |
||||
|
} |
||||
|
|
||||
|
} catch (error) { |
||||
|
console.error(error.message); |
||||
|
} |
||||
|
finally { |
||||
|
backViewTask(); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
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; |
||||
|
} |
||||
|
|
||||
|
console.log(1); |
||||
|
//还未处理过
|
||||
|
if (allTasks.indexOf(taskText) > -1) { |
||||
|
console.log(2); |
||||
|
//console.log(" ", index, "已经处理的任务 ", taskText);
|
||||
|
} |
||||
|
else { |
||||
|
console.log(3); |
||||
|
allTasks.push(taskText); |
||||
|
return task; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
function scorrToTask (task) { |
||||
|
var y = task.bounds().centerY(); |
||||
|
if (device.height - 300 < y) { |
||||
|
console.log("滚动任务列表") |
||||
|
gesture(400, [520, 1550], [520, 450]); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function backViewTask () { |
||||
|
if (id('cz').findOnce() == undefined) |
||||
|
return; |
||||
|
|
||||
|
var close = id('ahp').clickable().findOnce(); |
||||
|
if (close != undefined) |
||||
|
close.click(); |
||||
|
else |
||||
|
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 link = boundsInside(10, 300, device.width, device.height).packageName('cn.youth.news').className('android.view.View').clickable().findOnce() |
||||
|
|| boundsInside(10, 300, device.width, device.height).packageName('cn.youth.news').className('android.widget.Image').clickable().findOnce(); |
||||
|
|
||||
|
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); |
||||
|
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; |
||||
|
} |
@ -0,0 +1,201 @@ |
|||||
|
start(); |
||||
|
|
||||
|
function start () { |
||||
|
auto.waitFor() |
||||
|
var appName = "cn.youth.news"; |
||||
|
if (launch(appName)) { |
||||
|
console.info("启动中青看点"); |
||||
|
} |
||||
|
console.show(); |
||||
|
// sleep(2000);
|
||||
|
|
||||
|
// var taskBtn = getById(30, 'cn.youth.news:id/x8');
|
||||
|
// if (taskBtn == undefined) {
|
||||
|
// console.error('未找到,任务入口');
|
||||
|
// exit()
|
||||
|
// }
|
||||
|
|
||||
|
// randomClickObject(taskBtn);
|
||||
|
// sleep(2000);
|
||||
|
|
||||
|
// var btn = getById(10, 'cn.youth.news:id/ach'); // id('acj').findOnce();
|
||||
|
// if (btn == undefined) {
|
||||
|
// console.error('未找打,看看赚入口');
|
||||
|
// exit()
|
||||
|
// }
|
||||
|
// randomClickObject(btn);
|
||||
|
// sleep(2000);
|
||||
|
|
||||
|
// kkz();
|
||||
|
ssz(); |
||||
|
exit(); |
||||
|
} |
||||
|
|
||||
|
//浏览赚
|
||||
|
function llz () { |
||||
|
console.clear(); |
||||
|
if (text('看看赚').findOnce() == undefined) { |
||||
|
console.log('未在看看赚页面,后退'); |
||||
|
back(); |
||||
|
} |
||||
|
|
||||
|
var goBtn = text('浏览赚').clickable().findOnce(); |
||||
|
if (goBtn == undefined) { |
||||
|
console.warn('未找到浏览赚进入按钮,结束'); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
goBtn.click(); |
||||
|
sleep(1000); |
||||
|
} |
||||
|
|
||||
|
//浏搜索赚
|
||||
|
function ssz () { |
||||
|
console.clear(); |
||||
|
|
||||
|
if (text('看看赚').findOnce() == undefined) { |
||||
|
console.log('未在看看赚页面,后退'); |
||||
|
back(); |
||||
|
} |
||||
|
|
||||
|
var goBtn = text('搜索赚').clickable().findOnce(); |
||||
|
if (goBtn == undefined) { |
||||
|
console.warn('未找到搜索赚进入按钮,结束'); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
randomClickObject(goBtn); |
||||
|
// goBtn.click();
|
||||
|
sleep(3000); |
||||
|
|
||||
|
|
||||
|
//等待页面出现
|
||||
|
if (text('去搜索').findOne(18 * 1000) == undefined) { |
||||
|
console.warn('未找到去搜索的任务'); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
//任务列表
|
||||
|
var items = text('去搜索').clickable().find(); |
||||
|
if (items == undefined || items.length == 0) { |
||||
|
console.warn('未找到去搜索的任务'); |
||||
|
// back();
|
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
console.warn("开始'去搜索'任务"); |
||||
|
for (let index = 0; index < items.length; index++) { |
||||
|
|
||||
|
var item = text('去搜索').clickable().findOnce(index); |
||||
|
if (item == undefined) { |
||||
|
console.warn(" ", index, "未找到"); |
||||
|
continue; |
||||
|
} |
||||
|
|
||||
|
console.warn(" ", index, "去搜索任务 ", item.parent().child(1).text()); |
||||
|
|
||||
|
randomClickObject(item); |
||||
|
|
||||
|
if (text('step3').findOne(18 * 1000) != undefined) { |
||||
|
sszViewTask(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function sszViewTask () { |
||||
|
for (var i = 0; i < 12; i++) { |
||||
|
|
||||
|
var task = className('android.view.View').clickable().filter(function (v) { |
||||
|
return v.text().length > 3; |
||||
|
}).findOnce(); |
||||
|
|
||||
|
if (task == undefined) { |
||||
|
console.log(" ", i, "未找到"); |
||||
|
continue; |
||||
|
} |
||||
|
|
||||
|
console.log(" ", i, task.text()); |
||||
|
randomClickObject(task); |
||||
|
sleep(1000); |
||||
|
|
||||
|
if (text('step3').findOnce() == undefined) { |
||||
|
back(); |
||||
|
sleep(2000); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
//退回到主界面
|
||||
|
if (text('step3').findOnce() != undefined) { |
||||
|
back(); |
||||
|
sleep(2000); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
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 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);
|
||||
|
|
||||
|
if (obj && obj.click) { |
||||
|
obj.click(); |
||||
|
} |
||||
|
|
||||
|
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; |
||||
|
} |
Loading…
Reference in new issue