【发布时间】:2019-03-14 19:25:44
【问题描述】:
我在使用 PyAutoGUI 的任何屏幕截图功能时都会遇到错误,例如:
pyautogui.locateOnScreen('button.png')
pyautogui.pixelMatchesColor(x, y, (r, g, b))
im = pyautogui.screenshot()
我得到的错误是:
screencapture: cannot write file to intended destination, .screenshot2018-1009_16-43-26-003190.png
Traceback (most recent call last):
File "~/program.py", line 111, in <module>
pyautogui.locateOnScreen('/images/play!.png')
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyscreeze/__init__.py", line 265, in locateOnScreen
screenshotIm = screenshot(region=None) # the locateAll() function must handle cropping to return accurate coordinates, so don't pass a region here.
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyscreeze/__init__.py", line 331, in _screenshot_osx
im = Image.open(tmpFilename)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PIL/Image.py", line 2609, in open
fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: '.screenshot2018-1009_16-43-26-003190.png'
我不告诉它也不希望它将新的截图图像保存到任何目录(它不应该)。使用 pyautogui.screenshot() 函数,我可以手动将其保存到项目中的真实目录中,但我无法使用其他方法来执行此操作。关于如何解决这个问题的任何想法?
我尝试过的:
- 我查看了所有可以在网上找到的有关 pyautogui 屏幕截图的文档
- 重新启动计算机
- Pillow 和 pyscreez 的降级版本
编辑: 我在另一台 Mac 上尝试过,也遇到了同样的错误。 在 windows bootcamp(我的 mac 上的 windows)上试过,效果很好。
【问题讨论】:
-
同样的问题..你找到答案了吗?
-
@Otto 遗憾的是我没有。我必须在 Windows 上进行这种编程。我想知道是否有很多 mac 用户遇到这个问题,因为我已经在不同的 mac 上尝试过,但仍然出现错误。我猜这是一个将来会修复的错误。祝你好运!
-
您使用的是哪个版本的 osx?这适用于 High Sierra,但在我升级到 Mojave 后就坏了。 Mojave 对屏幕截图进行了一些更改,所以我想知道这是否相关。
-
@RichardW 是的,我测试过的所有 Mac 电脑都安装了 Mojave 软件。一定是这样,好洞察力!
标签: python-3.x macos crash screenshot pyautogui