是否有ruby宝石可以实现跨平台鼠标操作?
发布时间:2020-12-17 02:16:01 所属栏目:百科 来源:网络整理
导读:我需要能够以编程方式触发特定坐标处的鼠标单击.我发现AutoIt和auto_click gem都可以提供这种能力,但仅限于 Windows.我还发现了rautomation gem,旨在提供跨平台功能,但目前似乎不支持Windows以外的任何其他功能. 还有其他任何宝石允许直接从Ruby自动鼠标点击
我需要能够以编程方式触发特定坐标处的鼠标单击.我发现AutoIt和auto_click gem都可以提供这种能力,但仅限于
Windows.我还发现了rautomation gem,旨在提供跨平台功能,但目前似乎不支持Windows以外的任何其他功能.
还有其他任何宝石允许直接从Ruby自动鼠标点击特定的x / y坐标吗? 解决方法
我认为这是一个严重依赖系统的任务.您应该为代码提供一种加载系统相关宝石的方法(Win上的AutoIt,Linux上的Automations).如果您的目标是Mac OS,则可以通过FFI库从CGRemoteOperation.h调用CGPostMouseEvent来构建自己的lib.
例如: 要求’ffi’ module Mouse extend FFI::Library ffi_lib '/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics' class CGPoint < FFI::Struct layout :x,:double,:y,:double end attach_function :CGPostMouseEvent,[ CGPoint,:bool,:int,:bool ],:void end point = Mouse::CGPoint.new point[:x] = 100 point[:y] = 100 Mouse::CGPostMouseEvent(point,true,1,true) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |