我需要能夠以編程方式在特定座標處觸發鼠標點擊。我發現AutoIt和auto_click gem都可以提供這種功能,但只能在Windows上使用。我還發現了旨在提供跨平臺功能的rautomation gem,但目前似乎並未支持Windows以外的任何其他功能。有沒有可以實現跨平臺鼠標操作的紅寶石寶石?
是否有任何其他的寶石允許直接從Ruby的特定x/y座標自動點擊鼠標?
我需要能夠以編程方式在特定座標處觸發鼠標點擊。我發現AutoIt和auto_click gem都可以提供這種功能,但只能在Windows上使用。我還發現了旨在提供跨平臺功能的rautomation gem,但目前似乎並未支持Windows以外的任何其他功能。有沒有可以實現跨平臺鼠標操作的紅寶石寶石?
是否有任何其他的寶石允許直接從Ruby的特定x/y座標自動點擊鼠標?
我認爲這是一個高度依賴系統的任務。您應該提供代碼來加載系統相關的gem(AutoIt on Win,Linux上的自動化)。如果您的目標是Mac OS,則可以通過FFI庫從CGRemoteOperation.h
調用CGPostMouseEvent
來構建自己的庫。
例如:
需要 '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)
偉大的東西,謝謝。 – lottscarson
在rumouse寶石看看。它提供了簡單的API並支持linux,osx和windows。
也許這可以幫助你https://github.com/Quintus/Automations/ – derp