pywinauto: Pywinauto doesn't see most of controls while connecting to Skype
On pywinauto 0.6.6 this simple code snippet fails in one of 2 scenarious:
app = Application(backend="uia").start("skype.exe")
sleep(8)
skp = app.window(title_re='Skype.*')
sleep(8)
search = skp["Search for people, groups & messages"]
search.click()
It either fails on line skp = app.window(title_re='Skype.*')
:
Traceback (most recent call last):
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\application.py", line 256, in __resolve_control
criteria)
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\timings.py", line 458, in wait_until_passes
raise err
pywinauto.timings.TimeoutError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "skype.py", line 300, in <module>
status = add_friends(prefix, min_mutuals, invitation_msg)
File "skype.py", line 130, in add_friends
search.click()
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\application.py", line 362, in __getattribute__
ctrls = self.__resolve_control(self.criteria)
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\application.py", line 259, in __resolve_control
raise e.original_exception
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\timings.py", line 436, in wait_until_passes
func_val = func(*args, **kwargs)
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\application.py", line 201, in __get_ctrl
dialog = self.backend.generic_wrapper_class(findwindows.find_element(**criteria[0]))
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\findwindows.py", line 87, in find_element
raise ElementNotFoundError(kwargs)
pywinauto.findwindows.ElementNotFoundError: {'title_re': 'Skype.*', 'backend': 'uia', 'process': 9112}
or fails in the moment when code trying to reach search control using line search = skp["Search for people, groups & messages"]
C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\application.py",` line 256, in __resolve_control criteria)
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\timings.py", line 458, in wait_until_passes
raise err
pywinauto.timings.TimeoutError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "skype.py", line 300, in <module>
status = add_friends(prefix, min_mutuals, invitation_msg)
File "skype.py", line 130, in add_friends
search.click()
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\application.py", line 362, in __getattribute__
ctrls = self.__resolve_control(self.criteria)
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\application.py", line 259, in __resolve_control
raise e.original_exception
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\timings.py", line 436, in wait_until_passes
func_val = func(*args, **kwargs)
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\application.py", line 220, in __get_ctrl
ctrl = self.backend.generic_wrapper_class(findwindows.find_element(**ctrl_criteria))
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\findwindows.py", line 84, in find_element
elements = find_elements(**kwargs)
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\findwindows.py", line 303, in find_elements
elements = findbestmatch.find_best_control_matches(best_match, wrapped_elems)
File "C:\Users\Bravissimo\AppData\Local\conda\conda\envs\py36\lib\site-packages\pywinauto\findbestmatch.py", line 533, in find_best_control_matches
raise MatchError(items = name_control_map.keys(), tofind = search_text)
pywinauto.findbestmatch.MatchError: Could not find 'Search for people, groups & messages' in 'dict_keys(['', 'Pane', 'TitleBar', '0', '1', '2', 'System', 'SystemMenu', 'Menu', 'System0', 'System1', 'System2', 'MenuItem', 'SystemMenuItem', 'Button', 'MinimalizujButton', 'Minimalizuj', 'Button0', 'Button1', 'Button2', 'Maksymalizuj', 'MaksymalizujButton', 'Button3', 'Zamknij', 'ZamknijButton', 'Custom', '3', 'Custom0', 'Custom1', 'Custom2', '4', 'Custom3', '5', 'Custom4', '6', 'Custom5', '7'])
Also in this message you can see that there’re only few controls visible, while most of them aren’t here. 2 weeks ago this code worked, but now it works very rarely and in most cases fails.
Do you have any idea why it’s happening?
About this issue
- Original URL
- State: open
- Created 5 years ago
- Comments: 16 (9 by maintainers)
A-ha-ha! The fifth
Skype.exe
process withpid = 32
eats 100% of one CPU core for this period of time! Come on, Skype team! What are you doing?Reported the issue to Skype through standard feedback form with the link to this issue. Let’s wait for a month at least for any reaction.