最近在做安卓自动化
就是利用无障碍模式,通过脚本来操作手机
我实际使用的是小红书来做搜索关键词
@RequiresApi(Build.VERSION_CODES.N)
suspend fun actAutoRedBook(act: ComponentActivity) {
setScreenSize(100, 100)
val keyString = listOf("自动化", "关键词2", "小红书2")
waitBaseAccessibility(60000)
log("打开小红书")
if (!openApp(act, "com.xingin.xhs"))
return
log("打开搜索")
val searchElementFound = SF.desc("搜索").clickable().require(2000)
// 寻找搜索按钮
if (!searchElementFound.globalClick()) {
log("点击搜索按钮失败", 3)
return
}
// 寻找编辑框
// if (keyString.size < keyInterval){
// log("搜索完所有关键词")
// return
// }
searchInput(keyString)
getListPost(act)
log("第二列")
getListPost(act)
}
大概就类似的一系列模拟,然后点击详情,复制链接,读取剪切板达到目的
但是后面发现scheme的东西,发现用起来太方便了,所以就直接用scheme来打开链接了
基本上面的代码都可以简化成这样
suspend fun actAutoRedBook(act: ComponentActivity) {
setScreenSize(100, 100)
val keyString = listOf("自动化", "关键词2", "小红书2")
waitBaseAccessibility(60000)
log("使用Scheme搜索关键词: ${keyString[keyInterval]}")
openScheme(RedBook.xhsSearchWithKeyword(keyString[keyInterval]))
getListPost(act)
log("第二列")
getListPost(act)
}
在自动化的过程中我还发现了给有取的现象
我手机是链接的电脑的,当点击小红书的分享后,发现手机的剪切板和电脑的剪切板不一样?
也不知道是啥原因
当然我也把这个开源了,有兴趣的自取哦: github
评论 (0)