2016-04-13 42 views
0

Bir tepsi öğesinden bir alt menüye erişmeye çalışıyorum.pywinauto - tepsiden erişim alt menüsü

import pywinauto 
from pywinauto import taskbar 
app = pywinauto.application.Application() 
taskbar.RightClickSystemTrayIcon('App tray icon', exact=True) 
app.PopupMenu.MenuItem("SomeMenuItem").ClickInput() # Clicks an item from the app's main tray menu 

Ben pywinauto menuwrapper dokümanlardan çeşitli işlevleri kullanarak çalıştı, ancak başarılı olamadı:

Bu benim bir menüsünü tıklayın nasıl.

enter image description here

cevap

1

Uygulamanın bağlanması gereken: bu işlevler yalnızca uygulama menüleri ?: Burada https://pywinauto.github.io/docs/code/pywinauto.controls.menuwrapper.html

Ben erişmek istediğiniz bir alt türü bir örnektir için çalışmak mümkün it mi onunla herhangi bir eylem yapmadan önce süreci. Kodunuzda cevapsız görünüyor (tabii ki, çıktı gerçekten ne olduğunu anlamak için çok yararlı olacaktır). Bu gibi görünmelidir kodu varsayalım:

import pywinauto 
from pywinauto import taskbar 
app = pywinauto.application.Application() 

# start/connect is required before any action 
app.connect(path='your.exe') 

taskbar.RightClickSystemTrayIcon('App tray icon', exact=True) 
app.PopupMenu.MenuItem("SomeMenuItem").ClickInput() 
app.PopupMenu.MenuItem("SomeMenuItem->sub-menu item").ClickInput() 
+0

Ben kodunuzu çalıştı, ancak alt menüye tıklandığında bu hatayı alıyorum: 'Dosya "C: \ Python27 \ lib \ site paketleri \ pywinauto kontroller \ \ menuwrapper .py ", satır 86, denetim
ağında MenuInaccessible pywinauto.controls.menuwrapper.MenuInaccessible' – mhd

+0

Yükseltme Menü muhtemelen yerel (belki WPF uygulaması?). Inspect.exe'deki menü öğesi metinlerini görebiliyor musunuz? –

+0

'Inspect.exe' özelliği (Win7 x64):' C: \ Program Files (x86) \ Windows Kits \ 8.1 \ bin \ x86 \ inspect.exe' –