当前位置:嗨网首页>书籍在线阅读

41-使用剪贴板读取文本字段

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

20.17.2 使用剪贴板读取文本字段

虽然你可以用 pyautogui.write() 向应用程序的文本字段发送按键命令,但你不能单独使用PyAutoGUI来读取已经在文本字段内的文本。这时候 pyperclip 模块就可以提供帮助。你可以使用PyAutoGUI来获取一个文本编辑器(如Mu或记事本)的窗口,通过单击它,让它取得焦点,在文本字段内单击,然后按Ctrl-A或Command-A快捷键“选择全部内容”,按Ctrl-C或Command-C快捷键“复制到剪贴板”。然后你的Python脚本可以通过运行 import pyperclippyperclip.paste() 来读取剪贴板文本。

编写一个程序,按照这个过程从窗口的文本字段复制文本。使用 pyautogui. getWindowsWithTitle('Notepad') (或你选择的任何一个文本编辑器)获得一个 Window 对象。这个 Window 对象的 topleft 属性可以告诉你这个窗口在哪里,而 activate() 方法将确保它在屏幕前面。然后,你可以用 pyautogui.click() 方法在文本编辑器的主文本输入框中单击,例如在顶部和左侧的属性值上加100像素或200像素处,将键盘的焦点放在那里。调用 pyautogui.hotkey('ctrl', 'a')pyautogui. hotkey('ctrl', 'c') 来选择所有的文本并复制到剪贴板上。最后,调用 pyperclip.paste() 从剪贴板中获取文本,并将它粘贴到你的Python程序中。在那里,你可以随意使用这个字符串,但现在只需将它传递给 print()

请注意,PyAutoGUI的窗口函数只在PyAutoGUI 1.0.0.0版本的Windows操作系统上工作,在macOS或Linux操作系统上不能工作。