PyAutoGui - locate не видит контекстное меню

У меня есть приведенный ниже код, который в основном идентифицирует маленький хромированный значок на панели инструментов Windows, щелкните его правой кнопкой мыши с помощью pyautogui, а затем он должен найти параметр «Новое окно». Проблема, с которой я сталкиваюсь, заключается в том, что даже если я делаю снимок экрана после щелчка правой кнопкой мыши, небольшое меню не отображается, что делает невозможным поиск параметра «Новое окно».

# this part works
chrome_small_icon = r"C:\Users\chrome_small_icon.png"
elem = pyautogui.locateOnScreen(chrome_small_icon)
elem_center = pyautogui.center(elem)
pyautogui.click(elem_center, duration=0.5, button="right")

time.sleep(0.5)
im_after_right_click = pyautogui.screenshot()

# this part finds zero element, reason being, the right-click menu is like a ghost...
chrome_new_window = r"C:\Users\new_window_text.png"
elements = pyautogui.locateAllOnScreen(chrome_new_window)

есть ли у кого-нибудь предложения о том, как найти элементы внутри меню, которое появляется, когда мы щелкаем правой кнопкой мыши по элементу? Спасибо

РЕДАКТИРОВАТЬ кажется, что эта проблема возникает, только если я щелкаю правой кнопкой мыши на панели инструментов Windows. Это работает, если я щелкаю правой кнопкой мыши в других местах экрана.


person Angelo    schedule 19.09.2018    source источник


Ответы (1)


Вместо того, чтобы пытаться найти текст нового окна, используйте клавиатуру, чтобы выбрать опцию нового окна. Я только что запустил следующий код в MacOS, и мне удалось открыть новое окно Chrome:

import pyautogui
import time

pyautogui.rightClick(pyautogui.center(pyautogui.locateOnScreen('chrome.png'))) 
#chrome.png is an image of the chrome icon
pyautogui.typewrite('new window')
pyautogui.press('enter')
person Michael    schedule 23.10.2018