Clicknium 自动操作网页和应用

2022-08-12 12:05:15 +08:00
 heartlocker

Clicknium

Clicknium 是一个 Python 界面自动化库,可以非常简单直观地使用它操作浏览器和 Windows 平台的 APP 。
官网:https://www.clicknium.com
Github: https://github.com/clicknium/clicknium-docs
VS Code 插件:https://marketplace.visualstudio.com/items?itemName=ClickCorp.clicknium

为什么要做 Clicknium

目前 Python 有很多自动化的库,比如 Selenium ,Pyautogui ,Playwright 。有的只能操作网页,有的只能操作 App ,并且使用起来都算不上简单:Selenium 需要安装 driver ,需要学习什么是 XPath ; Pyautogui 的方式比较简单易懂,是我本人比较欣赏的方式,使用简单,代码可读性强,完全模拟鼠标单击,双击拖动;但是它采用 xy 轴的方式定位桌面元素。 分辨率变化,位置变化都会影响运行。 要想用好这些工具,学习成本实在不低。 但是大多数人的自动化需求其实非常简单。 花大量的时间和精力学习自动化技术,可能还不如自己手动点点鼠标键盘。
好的自动化工具,需要在使用上简单,直观才能帮助更多的人。

有多简单

Clicknium 提供了简洁直观的 API 来操作 UI 元素,如 set_test, get_test, click 等等。查看代码时,逻辑非常清晰,贴近自然语言和实际操作。 那怎么解决元素定位的问题。 我们为此设计了 Clicknium Recorder 。 打开 Recorder ,Clicknium 会自动识别鼠标所指的元素。 按住 Ctrl+鼠标单击,Recorder 就会自动抓取元素,生成 Locator 。直接使用 Locator 就能直接获取 UI 元素并对其进行操作: Clicknium 还提供了智能提示和代码补全的功能:

如何尝试

环境:

配置 Clicknium

在 VS Code Extension 市场中搜索 Clicknium , 然后根据欢迎页面的步骤完成配置: 我建议第一次使用:

交流

目前项目仍在早期阶段,团队很小。后期我们会根据需求将项目拓展到全平台。 有任何问题或者意见欢迎交流, 比如你想要 PyCharm 插件? clicknium@clicknium.com
加入我们的Slack

5623 次点击
所在节点    分享创造
38 条回复
heartlocker
2022-08-12 17:10:18 +08:00
@brianinzz 可以加一下 slack 吗? 看看是什么问题导致的,确实有个别用户遇到了跳转打不开的问题,我们还没能复现。https://join.slack.com/t/clicknium/shared_invite/zt-1cfxsstw7-s0CeJdhyg5wQ1h7_KKc6QQ
heartlocker
2022-08-12 17:18:22 +08:00
@lele140 感谢支持。
heartlocker
2022-08-12 18:04:56 +08:00
@brianinzz 你用的是 Chrome 浏览器吗?如果是 打开 chrome://settings/content/popups 设置里允许发送弹出式窗口并使用重定向 加入当前网站
heartlocker
2022-08-12 18:35:39 +08:00
@huntzhan 这个问题,我也想知道答案。目前还是希望先做一个真正有用的工具,验证我们的想法是对的。
hubahuba
2022-08-12 21:03:36 +08:00
非常棒,希望技术导向的公司越来越多!
allanpk716
2022-08-13 08:37:35 +08:00
后续会集成一些的图形识别功能吗?比如,某个 APP 的功能按钮样式比较特殊,希望在整个 APP 的区域内搜索定位来点击。可能类似于写外挂的某些功能。
brianinzz
2022-08-13 08:53:57 +08:00
@heartlocker 可以了 周末有空了玩一下 感谢
zx900930
2022-08-13 13:45:48 +08:00
能跳过 recaptcha, ncaptcha, 拼图之类验证吗?
heartlocker
2022-08-13 22:40:06 +08:00
@zx900930 人工自己操作 不能跳过的话 自动化操作也是不能跳过的。
heartlocker
2022-08-13 22:44:19 +08:00
@allanpk716 不确定这个功能有很强的需求。 本质上是需要给 locator 一个方式定位到 UI 元素。 直接用识别理论上效率会很低。 不如直接调用 ocr 的库,自己控制,然后把对应的值用代码配置给 locator.
kele999
2022-08-14 10:16:24 +08:00
很有前途
Ne
2022-08-15 07:23:21 +08:00
刚好在学 python 爬虫,感谢。
Ne
2022-08-15 15:51:24 +08:00
@heartlocker 如果网站是本地的 192.168.1.2 这样的网址会出错,Locator 里的 192 文件夹要改名,不然代码会说 chrome 找不到
heartlocker
2022-08-15 16:35:56 +08:00
@Ne 因为采用的是类似 namespace 的方式,纯数字是非法的。 我们修改一下自动生成的规则吧。 多谢提醒。 下个版本会修复。
gumuxi
2022-08-16 09:59:02 +08:00
以后应该能用到,收藏下
heartlocker
2022-08-26 13:37:28 +08:00
图像识别的功能已加入。 按住 shit 用鼠标框选元素就可以。 欢迎试用。
itabas016
2022-08-31 12:16:17 +08:00
点赞
nvyao
26 天前
安装的时候被 crowdstrike 检测出来有病毒,具体文件是:QnInject.exe

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/872403

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX