使用 AutoHotKey 自动点击屏幕位置
最近想把 flomo 上的内容迁移到 Notion 上,迁移完毕后,发现 flomo 竟然不支持批量删除!
虽然几百个 memo 手点一点也无所谓,想了想还是用脚本吧……通过脚本找到屏幕中的“删除”并自动点击!
后续发现,删除标签时,会把标签以及包含此标签的 memo 全部删除…… 不过这里的方法仍然可以实现更灵活的批量删除。
主要用到的函数:
- ImageSearch 搜索图片位置(图片事先截图)
- MouseClick - Syntax & Usage | AutoHotkey v2 点击对应位置
- MouseMove - Syntax & Usage | AutoHotkey v2 移动鼠标位置
- MouseGetPos - Syntax & Usage | AutoHotkey v2 获取鼠标位置
流程在循环中进行:判断图片位置 -> 点击对应位置 -> 恢复鼠标位置
CoordMode "Pixel" ; Interprets the coordinates below as relative to the screen rather than the active window's client area.
Loop
{
MouseGetPos &OriginalX, &OriginalY
if ImageSearch(&FoundX, &FoundY, 1000, 500, 2000, 1000, "*10 " "C:\del.png") {
; MsgBox "The icon was found at " FoundX "x" FoundY
MouseClick "left", FoundX, FoundY
MouseMove OriginalX, OriginalY
}
Sleep 500 ; 检测间隔时间,可以根据需要进行调整
}
几个小细节:
*10
设置了颜色变化的容忍度,原图片的话可能识别不出来1000, 500, 2000, 1000
是设置了图片搜索的屏幕范围,因为全屏幕搜索的话比较慢,而这里要搜索的按钮位置是固定的。MouseClick
后,鼠标停留在指定的位置,为了比较舒适的体验,最好还原位置。- 用脚本自动删除的话,flomo 不会自动加载,因此删除之前需要手动下滑,把内容全部加载完毕,再返回顶端进行删除。