AutoJs6 icon indicating copy to clipboard operation
AutoJs6 copied to clipboard

[功能建议]控件抓取菜单增强

Open photkey opened this issue 2 years ago • 3 comments

很多没有id/text/desc的app,这个弹出菜单里面的"生成代码"就不能用了,但是我们可以针对自己操作的APP写一个针对性的脚本来生成能获取唯一控件的筛选条件;

我目前是这么操作的: 点击“显示控件信息” → 点击“bounds”复制到剪贴板 → 退出 控件信息界面 → 点击悬浮窗 → 运行一个自己写的脚本 这个脚本是先获取剪切板信息 提取bounds,然后通过bounds找到UiObject,然后再获取控件的各种属性 尝试通过各种组合(包括父控件等各种吧)找到唯一的控件后生成代码

就是操作步骤比较啰嗦,希望是可以增加自定义的菜单项, 跟“生成代码”一样,直接传入UiObject对象,就可以省去:点击“显示控件信息” → 点击“bounds”复制到剪贴板 → 退出 控件信息界面 → 点击悬浮窗 ……这些操作,直接运行自定义的脚本。

说明一下:我目前autojs只学了几天,了解的比较少,可能已经有类似或者更好的办法我不知道,如果有的话 希望能指点一下,如果没有的话,希望以后能实现这个功能。

补张图:我指的是在下图的菜单中,添加可以运行自定义脚本的菜单项 Snipaste_2023-07-11_08-08-58

photkey avatar Jul 11 '23 00:07 photkey

image 或者是在这里增加一个自定义的选项,勾选这个选项时 出现一个编辑框 可以填入自己的查找控件代码,已经勾选的情况下默认都是使用这个选项。 控件代码就是一个函数,返回null时 就说明没找到唯一控件的筛选条件;否则返回的就是找到唯一控件的筛选条件

photkey avatar Jul 11 '23 14:07 photkey

智能控件生成本身是一个大工程, 后续版本会逐步考虑实现, 但开发周期可能会非常长.

SuperMonster003 avatar Jul 28 '23 10:07 SuperMonster003

智能控件生成本身是一个大工程, 后续版本会逐步考虑实现, 但开发周期可能会非常长.

完全的智能控件,想想都挺难,可以让我们自己根据项目操作的APP来实现智能控件的函数,不同的项目可以使用不同的代码; 我认为可能会更容易实现的思路(实际上我并不清楚这个的难度): 把通过 选中控件(包括在布局层次查看中选中的控件)的所有控件属性 包括bounds 组成一条 UiSelector,只要可以把这条UiSelector 传递给我们的自定义函数,然后加一个执行这段自定义代码的按钮就行了, 这样可不可行? @SuperMonster003

photkey avatar Jul 30 '23 03:07 photkey