首页 > 解决方案 > “控制器”的实例没有“类型”成员 pynput 模块

问题描述

我是新手Python,我最近制作了这个程序来自动单击程序中的文本框并输入文本(你好)。但是每次我运行程序时,它都会说:

Instance of 'Controller' has no 'type' member.

我正在使用pynputPython 3.8.1 32bit。我pynput通过控制台手动安装

pip install pynput

这是我的代码:

import time
from pynput.keyboard import Key, Controller
from pynput.mouse import Button, Controller

def controlMouse(x, y):
    mouse = Controller()
    mouse.position = (x, y)

def controlKeyboard(txt):
    keyboard = Controller()
    keyboard.type(txt)

def clickMouse():
    mouse = Controller()
    mouse.click(Button.left, 1)

def pressKeyboard(key):
    keyboard.press(Key.key)
    keyboard.release(Key.key)

mouse = Controller()


controlMouse(268, 1030)
time.sleep(1)
clickMouse()
time.sleep(1)
controlMouse(400, 955)
time.sleep(1)
clickMouse()

controlKeyboard('Hello')
pressKeyboard(enter)

标签: pythonpynput

解决方案


你有这个:

from pynput.keyboard import Key, Controller
from pynput.mouse import Button, Controller

之后,Controller指的是pynput.mouse.Controller(因为它是最后一次Controller被定义)。如果您希望能够引用这两种Controller类型,则应该执行以下操作:

from pynput.keyboard import Key, Controller as KeyboardController
from pynput.mouse import Button, Controller as MouseController

然后,您可以使用KeyboardControllerandMouseController来引用正确的Controller.

或者,您可以:

import pynput.keyboard
import pynput.mouse

然后,您可以只参考pynput.keyboard.Controllerand pynput.mouse.Controller


推荐阅读