6

我看到 pyautogui 和 tkinter 之间存在冲突。当我在没有 tkinter 的情况下运行程序时,pyautogui 可以按预期控制键盘和鼠标。但是,如果我首先通过 tkinter 获取输入(例如用户选择的目录),我会收到此错误:

File "C:\Users\Test_Lab\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyautogui\__init__.py", line 362, in click
platformModule._click(x, y, 'left')
File "C:\Users\Test_Lab\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyautogui\_pyautogui_win.py", line 437, in _click
_sendMouseEvent(MOUSEEVENTF_LEFTCLICK, x, y)
File "C:\Users\Test_Lab\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyautogui\_pyautogui_win.py", line 480, in _sendMouseEvent
raise ctypes.WinError()
FileNotFoundError: [WinError 2] The system cannot find the file specified.

我可以通过先打印出来来验证 tkinter 是否获得了有效的目录。版本:Python= 3.5.1、tkinter.TkVersion=8.6、pyautogui.__version__='0.9.33',在 Windows 7 Pro 上运行。

这是一个重现我的问题的最小示例:

import pyautogui
import tkinter
root=tkinter.Tk()
dirname = tkinter.filedialog.askdirectory(parent=root, initialdir="C:\\",
                                  title='Please select a directory')
dname=dirname.replace('/',os.sep)
print(dname)
root.quit()
root.destroy()
pyautogui.moveTo(35, 5)
pyautogui.click(pause=.1)
4

0 回答 0