为什么pyautogui无法在OSX Dock中找到项目?

时间:2018-04-02 17:13:44

标签: python macos pyautogui

我开始为我的个人项目学习pyautogui,并且在尝试打开OSX停靠栏图标时几乎立即遇到问题。

我想打开Mac Launchpad下的本地Spotify。

我的代码是这样做的。

import pyautogui

launchpad = pyautogui.locateOnScreen('img/Launchpad.png')

此返回None,因此找不到图像。

图片示例附件

enter image description here

但是,如果我打开Mac OSX Notes窗口并将相同的图像粘贴到其中并再次运行程序,则每次都会找到该图像。同样,如果我只是在我的编辑器中打开图像。

Dock实际上是OSX屏幕的一部分pyautogui可以搜索吗?如果不是如何与它互动?

1 个答案:

答案 0 :(得分:0)

认为使用应用程序热键vs屏幕上的查找是一种不那么脆弱的方法。下面我最终如何构建Spotify bot。

import time

import pyautogui

# use pyauutogui key shortcut to open OSX spotlight search
pyautogui.hotkey('command', 'space')
# type spotify and press enter to open application
pyautogui.typewrite('Spotify')
pyautogui.hotkey('enter')
# use Spotify keyboard shortcuts to select search.
# key docs here: https://support.spotify.com/ie/article/Keyboard-shortcuts/
time.sleep(5)
pyautogui.hotkey('command', 'l')
# typewrite allows passing string arguments using keyboard
pyautogui.typewrite('concentration music')
# move to select the song with tab and press enter to play
pyautogui.hotkey('tab', 'tab', 'tab', 'tab')
time.sleep(2)
pyautogui.hotkey('enter')
pyautogui.hotkey('space')
# sleeps 30 seconds while music is playing
time.sleep(30)
pyautogui.hotkey('command', 'q')