我开始为我的个人项目学习pyautogui,并且在尝试打开OSX停靠栏图标时几乎立即遇到问题。
我想打开Mac Launchpad下的本地Spotify。
我的代码是这样做的。
import pyautogui
launchpad = pyautogui.locateOnScreen('img/Launchpad.png')
此返回None
,因此找不到图像。
图片示例附件
但是,如果我打开Mac OSX Notes窗口并将相同的图像粘贴到其中并再次运行程序,则每次都会找到该图像。同样,如果我只是在我的编辑器中打开图像。
Dock实际上是OSX屏幕的一部分pyautogui可以搜索吗?如果不是如何与它互动?
答案 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')