我正在尝试让pyautogui复制一个数字,然后将该数字转换为变量。这是我的代码,试图实现这一目标,但仅返回“ none”。我该如何解决?我希望它复制数字,然后将test1转换为该数字。
pyautogui.mouseDown()
pyautogui.moveRel(100, 0) #####FIND DOLLAR AMOUNT MOVE
pyautogui.mouseUp()
pyautogui.hotkey('ctrl', 'c')
test1 = pyautogui.hotkey('ctrl', 'v')
print(test1)
答案 0 :(得分:1)
pyautogui
不会使用方法hotkey()
不返回值,因此,当您尝试保存输出时,只捕获了该方法默认情况下返回的“无”。 / p>
如果要收集刚刚复制的内容,则需要将计算机的剪贴板作为目标。如果您正在运行Windows,则这相对简单。只需使用Powershell!
import subprocess
clipboard = subprocess.check_output("powershell.exe Get-Clipboard", stderr=subprocess.STDOUT, shell=True)
clipboard = clipboard.decode() #Subprocess.check_output() returns bytes, so if you want to handle it like a string, this is needed to "decode" it.
如上所述,我只是使用Windows Powershell执行命令Get-Clipboard
,该命令返回剪贴板中所有内容的字符串表示形式。使用这种检索方法的唯一缺点是,您必须等待计算机在后台打开Powershell窗口并执行命令。
答案 1 :(得分:1)
Hampus Larsson是对的:要收集数据,您需要使用剪贴板。一种替代方法是从那里使用pyperclip模块和paste
方法。
例如:
import pyperclip
pyautogui.hotkey('ctrl', 'c')
test1 = pyperclip.paste()