农药君 发布的帖子
发布在 bug、问题、建议 阅读更多

代码截图

function setExitTimeout(time){
    let timeoutExit_ = engines.execScript(util.format("%s 的定时关闭", files.getName(engines.myEngine().source)), 
    ([
        "events.on(\"set_e\", (engine, time) => {",
        "    console.log(engine, time);",
        "    setTimeout(()=>{",
        "        engine.forceStop();",
        "    }, time);",
        "});",
        "setTimeout(()=>{}, 5000);"
    ]).join("\n"));
    while(timeoutExit_.getEngine() === null){}
    setTimeout(()=>{timeoutExit_.getEngine().emit("set_e", engines.myEngine(), time)}, 250);
    let engine = timeoutExit_.getEngine();
    class timeoutExit {
        constructor (engine) {
            this.engine = engine;
        }
        clear () {
            this.engine.forceStop();
        }
    }
    return new timeoutExit(engine);
}
setExitTimeout(6000);
// setTimeout(()=>{}, 10000);

报错截图

22:56:46.858/E: identifier is a reserved word: class (/storage/emulated/0/auto.js/脚本/自动启动脚本/每n分钟执行一次/1/1.js#15)
identifier is a reserved word: class

是为什么啊

发布在 技术交流 阅读更多

怎样接收邮件啊?我想通过邮件的方式获得验证码,然后自动填入到某一些地方,以此来进行自动验证码登录

发布在 技术交流 阅读更多

同问,因为我用的校园网,想搞一些涉及到网络请求的自动化脚本,可是校园网晚上11:00就会关,而校园网晚上11:00关的是对外路由(虽然它从始至终就没有开过对内路由),也就是说晚上11:00到第二天(我也不知道是几点钟开的)我手机都会持续连接到这种无法正常使用的,会被推迟响应的(就是相当于是一直处于连接中的状态),没有超时时间的话,因为我设置那个脚本是每分钟都要执行一次,而如果一直没有响应的话脚本又关不了,那么他们就会一直保持运行到第二天早上,在这期间,还有一些其他的不涉及到网络的,但也是需要持续运行的这些脚本,以及一直在运行的每分钟执行一次的脚本,这些脚本加起来会占用我手机的大量运行内存,啊所以懂得都懂,所以我也确实需要一个超时时间

发布在 bug、问题、建议 阅读更多

在activityorg.autojs.autojs.ui.build.ProjectConfigActivity_[Layout XML文件路径:APK FILE/res/St1.xml](进入软件后点击右上角加号点击项目后进入的页面)中的“项目路径”输入框应当是文本框,而软件中是数字框

问题XML元素标签完整内容

<androidx.appcompat.widget.AppCompatEditText
    android:id="@7F090265"
    android:layout_width="-1"
    android:layout_height="-2"
    android:inputType="0x00000002" />

可以直接在反编译后的xml文件中搜索内容:android:id="@7F090265"
然后将该元素的android:inputType属性值更改为0x00000000

视频

发布在 技术交流 阅读更多

点击无效……这种事情我之前也遇到过很多遍,一个比较好的办法就是重新开启无障碍服务

发布在 技术交流 阅读更多

具体是因为什么原因我不清楚,但是我可以给你一些可能的原因

  1. 抖音是短视频软件,如果你用流量刷过抖音的话,你就会发现像抖音这一类的短视频软件会很快消耗你很多流量,也就是说如果使用抖音的话,它对于网络的需求是非常大的,可能你刚打开抖音,他就需要加载2~5个视频,这样子的行为可能会非常严重的占用网络带宽,导致请求其他数据超时
发布在 资源交流 阅读更多

可以试一下通过长按或滑动进度条,然后获取进度条上方文本控件内容的方式获取,但是只能精确到秒(我所说的精确到秒是指精确到秒的个位数,没有办法向后精确小数点)

发布在 技术交流 阅读更多

如果你说的是在浏览器中,那并不是不行。只是目前来说并没有一个适配性很好的办法
如果你说的是Auto.js Pro或Autox.js,那还是跟楼上的说法一样,通过loadurl重新加载
翻了一下之前的一些文档、文件和搜索记录,可以用这个方式来:

ui.webview.loadUrl("javascript:location.reload()");

把前面那一段代码中的webview给变更成你的webview控件ID,或者说把ui.webview变更成你的webview控件对象

发布在 技术交流 阅读更多

他说的是在浏览器中

发布在 技术交流 阅读更多

我手动试了一下,发现不同的脚本之间播放的音频是不会互相干扰的
在同一脚本中,即使使用了多线程,第二次播放音乐,仍然会将第一次播放的音乐停止
而在不同脚本中,后播放的音乐不会停止先播放的音乐
由此我们可以使用多脚本策略,如果你打算只使用一个脚本,也可以使用执行脚本文本的方式(可以不用执行脚本文件,而换成使用脚本文本)
测试视频链接
视频链接1
备用链接(很慢,其他的浏览器会变成下载)

发布在 技术交流 阅读更多

支持一下吧……
(搜索引擎搜了半天搜不到,找AI也问了老半天,一大堆错误的回答,不停的根据报错内容和未报错的执行现象对其进行纠正,最后总算是测试成功了)

"ui";
ui.layout(
  <vertical>
    <input id="input" hint="输入框" />
    <input id="input2" hint="输入框2" />
  </vertical>
);

let input = ui.input;    // 将 ui.input 中的 input 替换成你实际的input控件ID

var prevFocus = null; // 记录上一个焦点所在的输入框id
input.setOnFocusChangeListener({
    onFocusChange: function(view, hasFocus) {
        if (!hasFocus) {
            // 输入框失去焦点
            console.log("输入框失去焦点");
        } else if (hasFocus) {
            // 输入框获得焦点
            console.log("输入框获得焦点");
        }
        prevFocus = hasFocus ? "myInput" : null;
    }
});
发布在 bug、问题、建议 阅读更多

我基本上没有把需要查找控件的脚本打包成软件,原因很简单,我曾经使用的是auto.js Pro,打开过无障碍权限后,即使是关机重启都不会被撤销(除非打开超级省电)而如果把脚本打包成软件那么每一次将软件关闭后都会被撤销掉无障碍权限,麻烦的要死,所以如果是需要用到无障碍权限的脚本,不建议打包成软件

发布在 bug、问题、建议 阅读更多

确实有可能是你在提问中所说的问题,我之前有遇到过相同的问题,虽然不是在点击按钮进行的网络请求,据说是线程问题,由报错翻译结果判断,具体内容并没有保存下来,其大致意思是说:不能在UI线程中进行网络请求(好像是因为权限问题还是安卓sdk问题)
一个最简单粗暴且有用的办法是,创建一个新线程,然后在新线程中进行网络请求,响应结果通过线程通信进行传递,或者使用ui.run函数通过UI界面中的信息进行传递

发布在 技术交流 阅读更多

怎么样创建一个桌面快捷方式啊?我其实关于Auto.js Pro(7.0.4-1破解版)和Autox.js最想要做到的两个功能就是发送通知和创建桌面快捷方式,但是我发送通知我都搜到可以怎么做了,而且是可用的,但是创建桌面快捷方式搜到的全都是有错误的,或者干脆搜不到

发布在 技术交流 阅读更多

他的信息是JSON格式的,通过你所给出的代码可知你是通过网络请求后获取到的数据,那么这个数据可以通过网络请求的响应对象的响应体它会有一个获取响应体的JSON对象的函数:HTTP对象.body.json(),然后通过获取json对象键值的操作方式:HTTP对象.body.json().j
他的结果就是24.17
你可以用这样子的代码:

var url = "http://api.mairui.club/zs/kdj/sh000300/dn/f15f12792427f5ad42";
//http://api.mairui.club/zs/kdj/指数代码(如sh000001)/分时级别/您的licence
//http://api.mairui.club/jj/lsma/基金代码/分时级别/您的licence
var res = http.get(url);
if(res.statusCode == 200){
	toast("请求成功");
	console.show();
	log(res.body.string());
	//上面是你原本的输出log,下面是你要输出的那一个
	console.log(res.body.json().j);
	print("OKK")
}else{
	toast("请求失败:" + res.statusMessage);
}