python - 无法在 pynput 中选择文本
问题描述
我正在使用pynput
库编写一个 python 脚本,我想在其中选择特定长度的文本。
为此,我首先按 shift,然后按多次左箭头键。以便选择光标 id 左侧的文本,并可进一步用于复制目的。
这是我的代码:
from pynput import keyboard
from pynput.keyboard import Controller
keyboard_controller = Controller()
with keyboard_controller.pressed(keyboard.Key.shift_l):
keyboard_controller.press(keyboard.Key.left)
keyboard_controller.release(keyboard.Key.left)
keyboard_controller.press(keyboard.Key.left)
keyboard_controller.release(keyboard.Key.left)
keyboard_controller.press(keyboard.Key.left)
keyboard_controller.release(keyboard.Key.left)
这会将我的光标向左移动 3 步,但即使按下 shift,文本也不会被选中。我在这里缺少什么?
编辑:
操作系统:Windows 10
环境:Python 3.6.5
解决方案
我刚刚玩弄了 pynput 和 pyautogui,最后找到了一个使用 pynput 的组合,可以完成这个 shift 热键功能。我在代码中使用 page_down 而不是箭头键,但我确认两者都有效。出于某种原因,如果同时按下 shift 键和 shift_r 键,则可以通过移动光标来突出显示文本。
设置:
from pynput.keyboard import Key, Controller
keyboard = Controller()
代码:
keyboard.press(Key.shift)
keyboard.press(Key.shift_r)
keyboard.press(Key.page_down) # or keyboard.press(Key.left)
keyboard.release(Key.page_down) # or keyboard.release(Key.left)
keyboard.release(Key.shift_r)
keyboard.release(Key.shift)
推荐阅读
- javascript - Chrome 中的 ES6 模块
- c++ - 在测试中使用部分初始化的对象
- php - 带有 iis 的服务器中的路由问题
- javascript - IE 和 Firefox 渲染不正确,但在 Chrome、Safari 和 Chromium 浏览器中不正确
- vim - 在 vim 中打开与模式匹配的所有折叠
- excel - (Workbooks.Open) 不像正常打开那样工作
- c - GCC 在 MinGW 的 stdio.h 中发现错误
- jenkins - 使用 install-plugin 命令安装特定版本的插件
- google-analytics - 跟踪事件并理解它
- php - 在 PHP 中从今天开始创建整数天数组的有效方法