easytrader icon indicating copy to clipboard operation
easytrader copied to clipboard

gj user.balance pywinauto.findwindows.ElementNotFoundError

Open arisliang opened this issue 4 years ago • 1 comments

env

OS: win10 PYTHON_VERSION: 3.7 EASYTRADER_VERSION: 0.22.0 BROKER_TYPE: gj

problem

2021-02-10 14:19:36,152 [ERROR] clienttrader.py 471: error occurred when trying to get left menus Traceback (most recent call last): File "C:\Users\arisl\anaconda3\envs\easytrader\lib\site-packages\easytrader\clienttrader.py", line 467, in _get_left_menus_handle handle.wait("ready", 2) File "C:\Users\arisl\anaconda3\envs\easytrader\lib\site-packages\pywinauto\application.py", line 512, in wait lambda: self.__check_all_conditions(check_method_names, retry_interval)) File "C:\Users\arisl\anaconda3\envs\easytrader\lib\site-packages\pywinauto\timings.py", line 375, in wait_until raise err pywinauto.timings.TimeoutError: timed out 2021-02-10 14:19:38,238 [ERROR] clienttrader.py 471: error occurred when trying to get left menus Traceback (most recent call last): File "C:\Users\arisl\anaconda3\envs\easytrader\lib\site-packages\easytrader\clienttrader.py", line 467, in _get_left_menus_handle handle.wait("ready", 2) File "C:\Users\arisl\anaconda3\envs\easytrader\lib\site-packages\pywinauto\application.py", line 512, in wait lambda: self.__check_all_conditions(check_method_names, retry_interval)) File "C:\Users\arisl\anaconda3\envs\easytrader\lib\site-packages\pywinauto\timings.py", line 375, in wait_until raise err pywinauto.timings.TimeoutError: timed out Traceback (most recent call last): File "C:\Users\arisl\anaconda3\envs\easytrader\lib\site-packages\pywinauto\application.py", line 256, in __resolve_control criteria) File "C:\Users\arisl\anaconda3\envs\easytrader\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 "C:/src/lycn-start/easytrader-start/main.py", line 19, in print_gj() File "C:/src/lycn-start/easytrader-start/main.py", line 14, in print_gj print(user.balance) File "C:\Users\arisl\anaconda3\envs\easytrader\lib\site-packages\easytrader\clienttrader.py", line 126, in balance self._switch_left_menus(["查询[F4]", "资金股票"]) File "C:\Users\arisl\anaconda3\envs\easytrader\lib\site-packages\easytrader\utils\perf.py", line 18, in wrapper return f(*args, **kwargs) File "C:\Users\arisl\anaconda3\envs\easytrader\lib\site-packages\easytrader\clienttrader.py", line 449, in _switch_left_menus self._get_left_menus_handle().get_item(path).click() File "C:\Users\arisl\anaconda3\envs\easytrader\lib\site-packages\pywinauto\application.py", line 362, in getattribute ctrls = self.__resolve_control(self.criteria) File "C:\Users\arisl\anaconda3\envs\easytrader\lib\site-packages\pywinauto\application.py", line 259, in __resolve_control raise e.original_exception File "C:\Users\arisl\anaconda3\envs\easytrader\lib\site-packages\pywinauto\timings.py", line 436, in wait_until_passes func_val = func(*args, **kwargs) File "C:\Users\arisl\anaconda3\envs\easytrader\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\arisl\anaconda3\envs\easytrader\lib\site-packages\pywinauto\findwindows.py", line 87, in find_element raise ElementNotFoundError(kwargs) pywinauto.findwindows.ElementNotFoundError: {'title': '网上股票交易系统5.0', 'backend': 'win32', 'process': 16108}

how to repeat

user = easytrader.use('gj_client') user.prepare(...) print(user.balance) # error`

arisliang avatar Feb 10 '21 06:02 arisliang

同样的问题在0.23版里也有,我的系统是win11,通过miniconda安装的python3.9 这里还有额外的错误信息: miniconda3\lib\site-packages\pywinauto\application.py:1062: UserWarning: 32-bit application should be automated using 32-bit Python (you use 64-bit Python) 但返回的主要错误还是:ElementNotFoundError: {'title': '网上股票交易系统5.0', 'backend': 'win32', 'process': 21432}

kaykouo avatar Jun 04 '22 22:06 kaykouo