//此段代码要先在百度智能云上注册并开通百度OCR文字识别,开通方法请自行百度
//https://login.bce.baidu.com/?account=&redirect=http%3A%2F%2Fconsole.bce.baidu.com%2F#/index/overview
//首先获取百度的token
var token = baidu_access_Token()
/**
* @function baidu_access_Token 获取百度Access_Token的函数
*/
function baidu_access_Token() {
//注册百度云识别时给的,可以登录百度智能云在创建应用里面查看到。
var API_Key = "zcftgkhLUernYU3upuSgxG"
//注册百度云识别时给的,可以登录百度智能云在创建应用里面查看到。
var Secret_Key = "poexZNpZWNUNFcVpocBNPk8vWBidET";
//access_token获取地址,向授权服务地址https://aip.baidubce.com/oauth/2.0/token发送请求(推荐使用POST),并在URL中带上以下参数:
//access_token = http.get("https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=YIKKfQbdpYRRYtqqTPnZ5bCE&client_secret=hBxFiPhOCn6G9GH0sHoL0kTwfrCtndDj").body.json().access_token;
var 提交地址 = "https://aip.baidubce.com/oauth/2.0/token"
var token_Res = http.post(提交地址, {
grant_type: "client_credentials",
client_id: API_Key,
client_secret: Secret_Key,
});
var token = token_Res.body.json().access_token
// log(token_Res)
// log(token)
return token
}
//找字点击
//log(BaiDu_Ocr_Click("中"))
/**
* @function BaiDu_Ocr_Click 点击百度识别的文字,点击成功返回true,失败返回false.
* @param str 要点击的文字。
*/
function BaiDu_Ocr_Click(str){
var isClick=false
//我这个利用模拟器在测试,因为AUTOJS的截图在模拟器上老出错所有改用Shell截图
var a = shell("screencap -p /sdcard/Download/screen.png", true);
//读取图片
var img = images.read("/sdcard/Download/screen.png")
//转化成基于64的图片
var imag64 = images.toBase64(img, "png", 100);
var SiteInfo_ocr_Url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general"; //含位置信息,每天可用500次。
var ocr_Res = http.post(SiteInfo_ocr_Url, {
headers: {
"Content - Type": "application/x-www-form-urlencoded" //连接的请求方式,一般是'content-type': 'application/json',
},
access_token: token,
image: imag64,
})
var json = ocr_Res.body.json().words_result;
json.forEach(function(w){
//log(w.words)
if (w.words.indexOf(str) != -1) {
// if (w.words==str){
log(w.words)
isClick = click(w.location.left, w.location.top); //点击指定的文字
return
}
})
return isClick
}
//查找文字
log(BaiDu_Ocr_FindWord("基本"))
/**
* @function BaiDu_Ocr_FindWord 百度识别查找文字,找到返回true,失败返回false.
* @param str 要查找的文字。
*/
function BaiDu_Ocr_FindWord(str){
var isClick=false
//我这个利用模拟器在测试,因为AUTOJS的截图在模拟器上老出错所有改用Shell截图
var a = shell("screencap -p /sdcard/Download/screen.png", true);
//读取图片
var img = images.read("/sdcard/Download/screen.png")
//转化成基于64的图片
var imag64 = images.toBase64(img, "png", 100);
var Common_Ocr_Url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"; //普通文字识别,每天可用5000次。
var ocr_Res = http.post(Common_Ocr_Url, {
headers: {
"Content - Type": "application/x-www-form-urlencoded" //连接的请求方式,一般是'content-type': 'application/json',
},
access_token: token,
image: imag64,
})
var json = ocr_Res.body.json().words_result;
json.forEach(function(w){
//log(w.words)
if (w.words.indexOf(str) != -1) {
log(w.words)
//如果找到了就返回
isClick=true
return
}
})
return isClick
}