我在从 pynput 库中导入一些东西时遇到了一些麻烦。
在我的代码中,我想使用 python 库(pynput)在鼠标和键盘上执行一些操作。当我只导入键盘或鼠标时,它可以工作,但有时同时导入两者时,它会给我一些错误。
这是我的代码:
from pynput.mouse import Button, Controller
from pynput.keyboard import Key, Controller
from time import sleep
mouse = Controller()
keyboard = Controller()
rock1x = 691
rock1y = 466
rock2x = 548
rock2y = 350
rock3x = 687
rock3y = 234
while (1):
drop1x = 1183
drop1y = 325
drop2x = 1220
drop2y = 325
drop3x = 1263
drop3y = 325
drop4x = 1303
drop4y = 325
for i in range(8):
sleep(2.5)
mouse.position = (rock2x,rock2y)
sleep(0.3)
mouse.press(Button.left)
mouse.release(Button.left)
sleep(2.1)
mouse.position = (rock3x,rock3y)
sleep(0.3)
mouse.press(Button.left)
mouse.release(Button.left)
sleep(2.1)
mouse.position = (rock1x,rock1y)
sleep(0.2)
mouse.press(Button.left)
mouse.release(Button.left)
for i in range(3):
keyboard.press(Key.shift)
for x in range(6):
mouse.position = (drop1x,drop1y)
sleep(0.3)
mouse.press(Button.left)
mouse.release(Button.left)
drop1y=drop1y+35
for x in range(6):
mouse.position = (drop2x,drop2y)
sleep(0.3)
mouse.press(Button.left)
mouse.release(Button.left)
drop2y=drop2y+35
for x in range(6):
mouse.position = (drop3x,drop3y)
sleep(0.3)
mouse.press(Button.left)
mouse.release(Button.left)
drop3y=drop3y+35
for x in range(6):
mouse.position = (drop4x,drop4y)
sleep(0.3)
mouse.press(Button.left)
mouse.release(Button.left)
drop4y=drop4y+35
keyboard.release(Key.shift)
sleep(3)
当我运行此代码时,出现以下错误:
Traceback (most recent call last):
File "mining.py", line 29, in <module>
mouse.press(Button.left)
File "/home/filipe/.local/lib/python2.7/site-packages/pynput/keyboard/_base.py", line 366, in press
if resolved.is_dead:
AttributeError: 'NoneType' object has no attribute 'is_dead'
但是当我评论第二行时:
from pynput.keyboard import Key, Controller
代码运行到:
keyboard.press(Key.shift)
并给我错误:
Traceback (most recent call last):
File "mining.py", line 48, in <module>
keyboard.press(Key.shift)
NameError: name 'Key' is not defined
我应该如何从 pynput 库导入以使用鼠标和键盘?