Мне нужно щелкнуть правой кнопкой мыши значок значка Windows Notification Tray и выбрать (щелкнуть левой кнопкой мыши) один из элементов в появившемся контекстном меню.Как щелкнуть правой кнопкой мыши по значку в панели Windows и щелкнуть элемент в контекстном меню на Python?
Я пытался использовать pywinauto, и во время выполнения этого кода из кода на странице: How To's из pywinauto.application импорта Применение из pywinauto импорта задач
# connect to outlook
outlook = Application().connect_(process=4436)
# click on Outlook's icon
taskbar.ClickSystemTrayIcon(12)
# Select an item in the popup menu
outlook.PopupMenu.MenuClick("Cancel Server Request")
Я получаю следующее сообщение об ошибке:
Traceback (most recent call last):
File "C:\dev\consumertms\temp.py", line 25, in <module>
taskbar.ClickSystemTrayIcon(12)
File "C:\Python27\lib\site-packages\pywinauto\taskbar.py", line 52, in ClickSystemTrayIcon
button = _get_visible_button_index(button)
File "C:\Python27\lib\site-packages\pywinauto\taskbar.py", line 42, in _get_visible_button_index
if not SystemTrayIcons.GetButton(i).fsState & \
File "C:\Python27\lib\site-packages\pywinauto\controls\common_controls.py", line 1878, in GetButton
button.idCommand)
RuntimeError: GetButtonInfo failed for button with command id 2
В настоящее время я работаю Windows 8, но для этого потребуется запустить Windows XP.
Я искал вокруг и не смог найти обходной путь для этого.
Мой вопрос: Есть ли обходной путь для этой ошибки? Если нет, есть ли другой модуль Python, который я могу использовать для автоматизации этого процесса? Некоторые фрагменты кода будут очень оценены.
Благодаря
Если вы хотите автоматизировать UI вещи, которые вы можете использовать [AutoIt] (http://www.autoitscript.com/site/autoit/) – User
мне нужно для автоматизации этого в Python или C++ (который я буду использовать через ctypes) – heavenslife
Существует модуль python для автоматизации с технологией MSAA - https://github.com/phuslu/pyMSAA. Вы не сможете сделать правый щелчок (иногда даже щелкните левой кнопкой мыши) на значках в лотке, но вы можете получить координаты значка, а затем щелкнуть по методу ClickInput pywinauto, используя эти координаты. К сожалению, сейчас у меня нет примеров. – SWAPYAutomation