python - “控制器”的实例没有“类型”成员 pynput 模块
问题描述
我是新手Python
,我最近制作了这个程序来自动单击程序中的文本框并输入文本(你好)。但是每次我运行程序时,它都会说:
Instance of 'Controller' has no 'type' member.
我正在使用pynput
和Python 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)
解决方案
你有这个:
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
然后,您可以使用KeyboardController
andMouseController
来引用正确的Controller
.
或者,您可以:
import pynput.keyboard
import pynput.mouse
然后,您可以只参考pynput.keyboard.Controller
and pynput.mouse.Controller
。
推荐阅读
- .htaccess - 带有索引路径的 Opencart Htaccess 重定向不起作用
- sql - 用于逐行更新的替代 SQL 嵌套 while 循环到递归/非循环
- laravel - Laravel 8 UniSharp 文件管理器 3 路由文件管理器不工作
- flutter - Flutter OS 错误:文件存在,errno = 17
- python - PHP - 是否可以将变量从 php 传递到 Python?
- docker - 使用 Docker 和 Kubernetes 集群编排的 VM 上的容器
- c++ - 这是一个根据用户输入的查询存储值并打印“答案”向量作为输出的程序
- foreach - SwiftUI 无限 TabView 项
- php - 为什么当我尝试登录时用户仍然是匿名的 - Symfony 5?
- html - 以最易于访问的方式显示统计信息的正确 HTML 是什么?