PyUserInput使用及异常

安装PyUserInput之后,您应该在python路径中有pymouse和pykeyboard模块。让我们创建一个鼠标和键盘对象:

from pymouse import PyMouse
from pykeyboard import PyKeyboard

m = PyMouse()
k = PyKeyboard()
这是单击屏幕中心并键入“ Hello,World!”的示例:

x_dim, y_dim = m.screen_size()
m.click(x_dim/2, y_dim/2, 1)
k.type_string(‘Hello, World!’)
PyKeyboard支持多种发送击键的方法:

pressing a key

k.press_key(‘H’)

which you then follow with a release of the key

k.release_key(‘H’)

or you can ‘tap’ a key which does both

k.tap_key(‘e’)

note that that tap_key does support a way of repeating keystrokes with a interval time between each

k.tap_key(‘l’,n=2,interval=5)

and you can send a string if needed too

k.type_string(‘o World!’)
它支持各种特殊键:

#Create an Alt+Tab combo
k.press_key(k.alt_key)
k.tap_key(k.tab_key)
k.release_key(k.alt_key)

k.tap_key(k.function_keys[5]) # Tap F5
k.tap_key(k.numpad_keys[‘Home’]) # Tap ‘Home’ on the numpad
k.tap_key(k.numpad_keys[5], n=3) # Tap 5 on the numpad, thrice
请注意,您还可以使用press_keys方法一起发送多个击键(例如,访问键盘快捷键时):

Mac example

k.press_keys([‘Command’,‘shift’,‘3’])

Windows example

k.press_keys([k.windows_l_key,‘d’])
平台之间的一致性是一个巨大的挑战。请查看您正在使用的操作系统的源代码,以帮助了解您需要发送的密钥格式。例如:

Windows

k.tap_key(k.alt_key)

Mac

k.tap_key(‘Alternate’)
我想对使用PyMouseEvent和PyKeyboardEvent做特别说明。这些对象是侦听鼠标和键盘输入的框架。他们不做任何事情,除了听,直到您将其子类化。我仍在对PyKeyboardEvent进行形式化,因此下面是对PyMouseEvent进行子类化的示例:

from pymouse import PyMouseEvent

def fibo():
a = 0
yield a
b = 1
yield b
while True:
a, b = b, a+b
yield b

class Clickonacci(PyMouseEvent):
def init(self):
PyMouseEvent.init(self)
self.fibo = fibo()

def click(self, x, y, button, press):
    '''Print Fibonacci numbers when the left click is pressed.'''
    if button == 1:
        if press:
            print(self.fibo.next())
    else:  # Exit if any other mouse button used
        self.stop()

C = Clickonacci()
C.run()

异常 报错: :
m.click(x_dim/2, y_dim/2, 1)
改为
m.click(int(x_dim/2), int(y_dim/2), 1)

No module named 'windows
方案
pymouse时的文件,打开_init_.py文件(用记事本或者python编译软件)然后找到第92行的windows将其改写成 pymouse.windows

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值