Compare commits

..

5 Commits

Author SHA1 Message Date
45ce9d7186 修改宇恒id 2026-03-12 17:00:13 +08:00
78bfda1ced 修改测量页面线路列表滑动范围 2026-03-06 18:24:02 +08:00
4cc6a3391f 工况类型找不到时在列表循环匹配。 2026-03-05 17:34:46 +08:00
e285191149 修改了上传页面点击的逻辑;增加循环 2026-03-05 14:32:37 +08:00
cfafb9d3d4 优化查找断点列表。 2026-03-02 18:27:54 +08:00
36 changed files with 18594 additions and 18254 deletions

Binary file not shown.

View File

@@ -1,6 +1,6 @@
(['D:\\Projects\\cjgc_upload\\create_a_link.py'],
['D:\\Projects\\cjgc_upload'],
['appium', 'urllib3.connection'],
[],
[('C:\\Program Files\\Python312\\Lib\\site-packages\\numpy\\_pyinstaller', 0),
('C:\\Program '
'Files\\Python312\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\stdhooks',
@@ -387,10 +387,10 @@
('stringprep',
'C:\\Program Files\\Python312\\Lib\\stringprep.py',
'PYMODULE'),
('_py_abc', 'C:\\Program Files\\Python312\\Lib\\_py_abc.py', 'PYMODULE'),
('tracemalloc',
'C:\\Program Files\\Python312\\Lib\\tracemalloc.py',
'PYMODULE'),
('_py_abc', 'C:\\Program Files\\Python312\\Lib\\_py_abc.py', 'PYMODULE'),
('socket', 'C:\\Program Files\\Python312\\Lib\\socket.py', 'PYMODULE'),
('urllib3.connection',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\urllib3\\connection.py',
@@ -1845,44 +1845,44 @@
('api-ms-win-core-synch-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-synch-l1-2-0.dll',
'BINARY'),
('api-ms-win-crt-conio-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-conio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-convert-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-convert-l1-1-0.dll',
('api-ms-win-crt-math-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-math-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-stdio-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-stdio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-environment-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-environment-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-process-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-process-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-filesystem-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-filesystem-l1-1-0.dll',
'BINARY'),
('VCRUNTIME140.dll',
'C:\\Program Files\\Python312\\VCRUNTIME140.dll',
'BINARY'),
('api-ms-win-crt-string-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-string-l1-1-0.dll',
('api-ms-win-crt-convert-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-convert-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-heap-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-heap-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-environment-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-environment-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-filesystem-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-filesystem-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-conio-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-conio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-time-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-time-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-process-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-process-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-locale-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-locale-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-string-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-runtime-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-runtime-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-math-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-math-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-locale-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-locale-l1-1-0.dll',
('VCRUNTIME140.dll',
'C:\\Program Files\\Python312\\VCRUNTIME140.dll',
'BINARY'),
('api-ms-win-crt-utility-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-utility-l1-1-0.dll',
@@ -1897,50 +1897,26 @@
'C:\\Program Files\\Python312\\DLLs\\libffi-8.dll',
'BINARY'),
('ucrtbase.dll', 'D:\\Resource\\JDK\\JavaJDK17\\bin\\ucrtbase.dll', 'BINARY'),
('api-ms-win-core-timezone-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-timezone-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-datetime-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-datetime-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-debug-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-debug-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l2-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l2-1-0.dll',
'BINARY'),
('api-ms-win-core-sysinfo-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-sysinfo-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-synch-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-synch-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-string-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-libraryloader-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-libraryloader-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-memory-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-memory-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-1.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processthreads-l1-1-1.dll',
('api-ms-win-core-rtlsupport-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-rtlsupport-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-namedpipe-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-namedpipe-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processthreads-l1-1-0.dll',
('api-ms-win-core-file-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-interlocked-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-interlocked-l1-1-0.dll',
('api-ms-win-core-datetime-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-datetime-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-console-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-console-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-memory-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-memory-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l2-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l2-1-0.dll',
'BINARY'),
('api-ms-win-core-util-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-util-l1-1-0.dll',
@@ -1948,68 +1924,92 @@
('api-ms-win-core-profile-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-profile-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-rtlsupport-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-rtlsupport-l1-1-0.dll',
('api-ms-win-core-string-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-heap-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-heap-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-localization-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-localization-l1-2-0.dll',
('api-ms-win-core-sysinfo-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-sysinfo-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processenvironment-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processenvironment-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-errorhandling-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-errorhandling-l1-1-0.dll',
('api-ms-win-core-debug-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-debug-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-interlocked-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-interlocked-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processthreads-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-synch-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-synch-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-1.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processthreads-l1-1-1.dll',
'BINARY'),
('api-ms-win-core-localization-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-localization-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-handle-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-handle-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-console-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-console-l1-1-0.dll',
('api-ms-win-core-timezone-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-timezone-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-errorhandling-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-errorhandling-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-libraryloader-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-libraryloader-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-heap-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-heap-l1-1-0.dll',
'BINARY')],
[],
[],
[('selenium\\webdriver\\remote\\isDisplayed.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\isDisplayed.js',
'DATA'),
('selenium\\webdriver\\remote\\getAttribute.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\getAttribute.js',
'DATA'),
('selenium\\webdriver\\remote\\findElements.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\findElements.js',
'DATA'),
('selenium\\webdriver\\firefox\\webdriver_prefs.json',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\firefox\\webdriver_prefs.json',
'DATA'),
('selenium\\webdriver\\common\\macos\\selenium-manager',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\macos\\selenium-manager',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v138\\py.typed',
[('selenium\\webdriver\\common\\devtools\\v138\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v138\\py.typed',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v137\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v137\\py.typed',
'DATA'),
('selenium\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\py.typed',
'DATA'),
('selenium\\webdriver\\common\\mutation-listener.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\mutation-listener.js',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v139\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v139\\py.typed',
'DATA'),
('selenium\\webdriver\\common\\linux\\selenium-manager',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\linux\\selenium-manager',
'DATA'),
('certifi\\cacert.pem',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\certifi\\cacert.pem',
('selenium\\webdriver\\remote\\getAttribute.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\getAttribute.js',
'DATA'),
('selenium\\webdriver\\remote\\isDisplayed.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\isDisplayed.js',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v137\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v137\\py.typed',
'DATA'),
('selenium\\webdriver\\firefox\\webdriver_prefs.json',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\firefox\\webdriver_prefs.json',
'DATA'),
('selenium\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\py.typed',
'DATA'),
('selenium\\webdriver\\common\\macos\\selenium-manager',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\macos\\selenium-manager',
'DATA'),
('selenium\\webdriver\\common\\mutation-listener.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\mutation-listener.js',
'DATA'),
('selenium\\webdriver\\remote\\findElements.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\findElements.js',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v139\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v139\\py.typed',
'DATA'),
('certifi\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\certifi\\py.typed',
'DATA'),
('certifi\\cacert.pem',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\certifi\\cacert.pem',
'DATA'),
('base_library.zip',
'D:\\Projects\\cjgc_upload\\build\\创建无线连接\\base_library.zip',
'DATA')])

View File

@@ -114,44 +114,44 @@
('api-ms-win-core-synch-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-synch-l1-2-0.dll',
'BINARY'),
('api-ms-win-crt-conio-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-conio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-convert-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-convert-l1-1-0.dll',
('api-ms-win-crt-math-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-math-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-stdio-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-stdio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-environment-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-environment-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-process-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-process-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-filesystem-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-filesystem-l1-1-0.dll',
'BINARY'),
('VCRUNTIME140.dll',
'C:\\Program Files\\Python312\\VCRUNTIME140.dll',
'BINARY'),
('api-ms-win-crt-string-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-string-l1-1-0.dll',
('api-ms-win-crt-convert-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-convert-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-heap-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-heap-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-environment-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-environment-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-filesystem-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-filesystem-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-conio-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-conio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-time-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-time-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-process-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-process-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-locale-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-locale-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-string-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-runtime-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-runtime-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-math-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-math-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-locale-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-locale-l1-1-0.dll',
('VCRUNTIME140.dll',
'C:\\Program Files\\Python312\\VCRUNTIME140.dll',
'BINARY'),
('api-ms-win-crt-utility-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-utility-l1-1-0.dll',
@@ -166,50 +166,26 @@
'C:\\Program Files\\Python312\\DLLs\\libffi-8.dll',
'BINARY'),
('ucrtbase.dll', 'D:\\Resource\\JDK\\JavaJDK17\\bin\\ucrtbase.dll', 'BINARY'),
('api-ms-win-core-timezone-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-timezone-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-datetime-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-datetime-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-debug-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-debug-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l2-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l2-1-0.dll',
'BINARY'),
('api-ms-win-core-sysinfo-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-sysinfo-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-synch-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-synch-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-string-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-libraryloader-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-libraryloader-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-memory-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-memory-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-1.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processthreads-l1-1-1.dll',
('api-ms-win-core-rtlsupport-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-rtlsupport-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-namedpipe-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-namedpipe-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processthreads-l1-1-0.dll',
('api-ms-win-core-file-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-interlocked-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-interlocked-l1-1-0.dll',
('api-ms-win-core-datetime-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-datetime-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-console-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-console-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-memory-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-memory-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l2-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l2-1-0.dll',
'BINARY'),
('api-ms-win-core-util-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-util-l1-1-0.dll',
@@ -217,73 +193,97 @@
('api-ms-win-core-profile-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-profile-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-rtlsupport-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-rtlsupport-l1-1-0.dll',
('api-ms-win-core-string-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-heap-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-heap-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-localization-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-localization-l1-2-0.dll',
('api-ms-win-core-sysinfo-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-sysinfo-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processenvironment-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processenvironment-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-errorhandling-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-errorhandling-l1-1-0.dll',
('api-ms-win-core-debug-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-debug-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-interlocked-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-interlocked-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processthreads-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-synch-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-synch-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-1.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processthreads-l1-1-1.dll',
'BINARY'),
('api-ms-win-core-localization-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-localization-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-handle-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-handle-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-console-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-console-l1-1-0.dll',
('api-ms-win-core-timezone-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-timezone-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-errorhandling-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-errorhandling-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-libraryloader-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-libraryloader-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-heap-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-heap-l1-1-0.dll',
'BINARY'),
('selenium\\webdriver\\remote\\isDisplayed.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\isDisplayed.js',
'DATA'),
('selenium\\webdriver\\remote\\getAttribute.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\getAttribute.js',
'DATA'),
('selenium\\webdriver\\remote\\findElements.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\findElements.js',
'DATA'),
('selenium\\webdriver\\firefox\\webdriver_prefs.json',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\firefox\\webdriver_prefs.json',
'DATA'),
('selenium\\webdriver\\common\\macos\\selenium-manager',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\macos\\selenium-manager',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v138\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v138\\py.typed',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v137\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v137\\py.typed',
'DATA'),
('selenium\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\py.typed',
'DATA'),
('selenium\\webdriver\\common\\mutation-listener.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\mutation-listener.js',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v139\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v139\\py.typed',
'DATA'),
('selenium\\webdriver\\common\\linux\\selenium-manager',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\linux\\selenium-manager',
'DATA'),
('certifi\\cacert.pem',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\certifi\\cacert.pem',
('selenium\\webdriver\\remote\\getAttribute.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\getAttribute.js',
'DATA'),
('selenium\\webdriver\\remote\\isDisplayed.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\isDisplayed.js',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v137\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v137\\py.typed',
'DATA'),
('selenium\\webdriver\\firefox\\webdriver_prefs.json',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\firefox\\webdriver_prefs.json',
'DATA'),
('selenium\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\py.typed',
'DATA'),
('selenium\\webdriver\\common\\macos\\selenium-manager',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\macos\\selenium-manager',
'DATA'),
('selenium\\webdriver\\common\\mutation-listener.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\mutation-listener.js',
'DATA'),
('selenium\\webdriver\\remote\\findElements.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\findElements.js',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v139\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v139\\py.typed',
'DATA'),
('certifi\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\certifi\\py.typed',
'DATA'),
('certifi\\cacert.pem',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\certifi\\cacert.pem',
'DATA'),
('base_library.zip',
'D:\\Projects\\cjgc_upload\\build\\创建无线连接\\base_library.zip',
'DATA')],
[],
False,
False,
1770709924,
1773016676,
[('run.exe',
'C:\\Program '
'Files\\Python312\\Lib\\site-packages\\PyInstaller\\bootloader\\Windows-64bit-intel\\run.exe',

View File

@@ -91,44 +91,44 @@
('api-ms-win-core-synch-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-synch-l1-2-0.dll',
'BINARY'),
('api-ms-win-crt-conio-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-conio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-convert-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-convert-l1-1-0.dll',
('api-ms-win-crt-math-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-math-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-stdio-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-stdio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-environment-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-environment-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-process-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-process-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-filesystem-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-filesystem-l1-1-0.dll',
'BINARY'),
('VCRUNTIME140.dll',
'C:\\Program Files\\Python312\\VCRUNTIME140.dll',
'BINARY'),
('api-ms-win-crt-string-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-string-l1-1-0.dll',
('api-ms-win-crt-convert-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-convert-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-heap-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-heap-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-environment-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-environment-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-filesystem-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-filesystem-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-conio-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-conio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-time-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-time-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-process-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-process-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-locale-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-locale-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-string-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-runtime-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-runtime-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-math-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-math-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-locale-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-locale-l1-1-0.dll',
('VCRUNTIME140.dll',
'C:\\Program Files\\Python312\\VCRUNTIME140.dll',
'BINARY'),
('api-ms-win-crt-utility-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-crt-utility-l1-1-0.dll',
@@ -143,50 +143,26 @@
'C:\\Program Files\\Python312\\DLLs\\libffi-8.dll',
'BINARY'),
('ucrtbase.dll', 'D:\\Resource\\JDK\\JavaJDK17\\bin\\ucrtbase.dll', 'BINARY'),
('api-ms-win-core-timezone-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-timezone-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-datetime-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-datetime-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-debug-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-debug-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l2-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l2-1-0.dll',
'BINARY'),
('api-ms-win-core-sysinfo-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-sysinfo-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-synch-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-synch-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-string-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-libraryloader-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-libraryloader-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-memory-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-memory-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-1.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processthreads-l1-1-1.dll',
('api-ms-win-core-rtlsupport-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-rtlsupport-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-namedpipe-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-namedpipe-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processthreads-l1-1-0.dll',
('api-ms-win-core-file-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-interlocked-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-interlocked-l1-1-0.dll',
('api-ms-win-core-datetime-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-datetime-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-console-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-console-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-memory-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-memory-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l2-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l2-1-0.dll',
'BINARY'),
('api-ms-win-core-util-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-util-l1-1-0.dll',
@@ -194,66 +170,90 @@
('api-ms-win-core-profile-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-profile-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-rtlsupport-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-rtlsupport-l1-1-0.dll',
('api-ms-win-core-string-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-heap-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-heap-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-localization-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-localization-l1-2-0.dll',
('api-ms-win-core-sysinfo-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-sysinfo-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processenvironment-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processenvironment-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-errorhandling-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-errorhandling-l1-1-0.dll',
('api-ms-win-core-debug-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-debug-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-interlocked-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-interlocked-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processthreads-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-synch-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-synch-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-file-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-1.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-processthreads-l1-1-1.dll',
'BINARY'),
('api-ms-win-core-localization-l1-2-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-localization-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-handle-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-handle-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-console-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-console-l1-1-0.dll',
('api-ms-win-core-timezone-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-timezone-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-errorhandling-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-errorhandling-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-libraryloader-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-libraryloader-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-heap-l1-1-0.dll',
'D:\\Resource\\JDK\\JavaJDK17\\bin\\api-ms-win-core-heap-l1-1-0.dll',
'BINARY'),
('selenium\\webdriver\\remote\\isDisplayed.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\isDisplayed.js',
'DATA'),
('selenium\\webdriver\\remote\\getAttribute.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\getAttribute.js',
'DATA'),
('selenium\\webdriver\\remote\\findElements.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\findElements.js',
'DATA'),
('selenium\\webdriver\\firefox\\webdriver_prefs.json',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\firefox\\webdriver_prefs.json',
'DATA'),
('selenium\\webdriver\\common\\macos\\selenium-manager',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\macos\\selenium-manager',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v138\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v138\\py.typed',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v137\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v137\\py.typed',
'DATA'),
('selenium\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\py.typed',
'DATA'),
('selenium\\webdriver\\common\\mutation-listener.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\mutation-listener.js',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v139\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v139\\py.typed',
'DATA'),
('selenium\\webdriver\\common\\linux\\selenium-manager',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\linux\\selenium-manager',
'DATA'),
('certifi\\cacert.pem',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\certifi\\cacert.pem',
('selenium\\webdriver\\remote\\getAttribute.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\getAttribute.js',
'DATA'),
('selenium\\webdriver\\remote\\isDisplayed.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\isDisplayed.js',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v137\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v137\\py.typed',
'DATA'),
('selenium\\webdriver\\firefox\\webdriver_prefs.json',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\firefox\\webdriver_prefs.json',
'DATA'),
('selenium\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\py.typed',
'DATA'),
('selenium\\webdriver\\common\\macos\\selenium-manager',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\macos\\selenium-manager',
'DATA'),
('selenium\\webdriver\\common\\mutation-listener.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\mutation-listener.js',
'DATA'),
('selenium\\webdriver\\remote\\findElements.js',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\remote\\findElements.js',
'DATA'),
('selenium\\webdriver\\common\\devtools\\v139\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\selenium\\webdriver\\common\\devtools\\v139\\py.typed',
'DATA'),
('certifi\\py.typed',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\certifi\\py.typed',
'DATA'),
('certifi\\cacert.pem',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\certifi\\cacert.pem',
'DATA'),
('base_library.zip',
'D:\\Projects\\cjgc_upload\\build\\创建无线连接\\base_library.zip',
'DATA')],

View File

@@ -25,7 +25,7 @@ missing module named _posixsubprocess - imported by subprocess (conditional), mu
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), zipimport (top-level)
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional), zipimport (top-level)
missing module named grp - imported by shutil (delayed, optional), tarfile (optional), pathlib (delayed, optional), subprocess (delayed, conditional, optional)
missing module named posix - imported by os (conditional, optional), posixpath (optional), shutil (conditional), importlib._bootstrap_external (conditional)
missing module named posix - imported by os (conditional, optional), shutil (conditional), importlib._bootstrap_external (conditional), posixpath (optional)
missing module named resource - imported by posix (top-level)
missing module named multiprocessing.get_context - imported by multiprocessing (top-level), multiprocessing.pool (top-level), multiprocessing.managers (top-level), multiprocessing.sharedctypes (top-level)
missing module named multiprocessing.TimeoutError - imported by multiprocessing (top-level), multiprocessing.pool (top-level)

View File

@@ -12008,7 +12008,6 @@ imports:
&#8226; <a href="#importlib">importlib</a>
&#8226; <a href="#importlib._bootstrap">importlib._bootstrap</a>
&#8226; <a href="#importlib._bootstrap_external">importlib._bootstrap_external</a>
&#8226; <a href="#importlib.machinery">importlib.machinery</a>
&#8226; <a href="#sys">sys</a>
&#8226; <a href="#warnings">warnings</a>
@@ -12144,8 +12143,7 @@ imports:
</div>
<div class="import">
imported by:
<a href="#importlib">importlib</a>
&#8226; <a href="#importlib.abc">importlib.abc</a>
<a href="#importlib.abc">importlib.abc</a>
&#8226; <a href="#inspect">inspect</a>
&#8226; <a href="#pkgutil">pkgutil</a>
&#8226; <a href="#py_compile">py_compile</a>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -6421,6 +6421,7 @@
'C:\\Program Files\\Python312\\Lib\\tracemalloc.py',
'PYMODULE'),
('tty', 'C:\\Program Files\\Python312\\Lib\\tty.py', 'PYMODULE'),
('turtle', 'C:\\Program Files\\Python312\\Lib\\turtle.py', 'PYMODULE'),
('typing', 'C:\\Program Files\\Python312\\Lib\\typing.py', 'PYMODULE'),
('typing_extensions',
'C:\\Users\\ADMIN\\AppData\\Roaming\\Python\\Python312\\site-packages\\typing_extensions.py',

View File

@@ -52,27 +52,25 @@ missing module named jaraco.text.yield_lines - imported by setuptools._vendor.ja
missing module named _manylinux - imported by packaging._manylinux (delayed, optional), setuptools._vendor.packaging._manylinux (delayed, optional), setuptools._vendor.wheel.vendored.packaging._manylinux (delayed, optional)
missing module named trove_classifiers - imported by setuptools.config._validate_pyproject.formats (optional)
missing module named pyimod02_importers - imported by C:\Program Files\Python312\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgutil.py (delayed), C:\Program Files\Python312\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgres.py (delayed)
missing module named 'OpenSSL.crypto' - imported by urllib3.contrib.pyopenssl (delayed, conditional)
missing module named collections.Mapping - imported by collections (optional), pytz.lazy (optional)
missing module named collections.Callable - imported by collections (optional), socks (optional)
missing module named simplejson - imported by requests.compat (conditional, optional)
missing module named dummy_threading - imported by requests.cookies (optional)
missing module named zstandard - imported by urllib3.util.request (optional), urllib3.response (optional)
missing module named compression - imported by urllib3.util.request (optional), urllib3.response (optional)
missing module named brotli - imported by urllib3.util.request (optional), urllib3.response (optional)
missing module named brotlicffi - imported by urllib3.util.request (optional), urllib3.response (optional)
missing module named 'cryptography.x509' - imported by urllib3.contrib.pyopenssl (delayed, optional)
missing module named cryptography - imported by urllib3.contrib.pyopenssl (top-level), requests (conditional, optional)
missing module named OpenSSL - imported by urllib3.contrib.pyopenssl (top-level)
missing module named 'h2.events' - imported by urllib3.http2.connection (top-level)
missing module named 'h2.connection' - imported by urllib3.http2.connection (top-level)
missing module named h2 - imported by urllib3.http2.connection (top-level)
missing module named brotli - imported by urllib3.util.request (optional), urllib3.response (optional)
missing module named brotlicffi - imported by urllib3.util.request (optional), urllib3.response (optional)
missing module named win_inet_pton - imported by socks (conditional, optional)
missing module named collections.Callable - imported by collections (optional), socks (optional)
missing module named cryptography - imported by urllib3.contrib.pyopenssl (top-level), requests (conditional, optional)
missing module named 'OpenSSL.crypto' - imported by urllib3.contrib.pyopenssl (delayed, conditional)
missing module named 'cryptography.x509' - imported by urllib3.contrib.pyopenssl (delayed, optional)
missing module named OpenSSL - imported by urllib3.contrib.pyopenssl (top-level)
missing module named 'pyodide.ffi' - imported by urllib3.contrib.emscripten.fetch (delayed, optional)
missing module named pyodide - imported by urllib3.contrib.emscripten.fetch (top-level)
missing module named js - imported by urllib3.contrib.emscripten.fetch (top-level)
missing module named wsaccel - imported by websocket._utils (optional)
missing module named 'python_socks.sync' - imported by websocket._http (optional)
missing module named 'python_socks._types' - imported by websocket._http (optional)
missing module named python_socks - imported by websocket._http (optional)
missing module named 'wsaccel.xormask' - imported by websocket._abnf (optional)
missing module named six.moves.range - imported by six.moves (top-level), dateutil.rrule (top-level)
runtime module named six.moves - imported by dateutil.tz.tz (top-level), dateutil.tz._factories (top-level), dateutil.tz.win (top-level), dateutil.rrule (top-level)
missing module named dateutil.tz.tzfile - imported by dateutil.tz (top-level), dateutil.zoneinfo (top-level)
@@ -308,7 +306,6 @@ missing module named setuptools_scm - imported by matplotlib (delayed, condition
missing module named markupsafe - imported by pandas.io.formats.style_render (top-level)
missing module named botocore - imported by pandas.io.common (delayed, conditional, optional)
missing module named sets - imported by pytz.tzinfo (optional)
missing module named collections.Mapping - imported by collections (optional), pytz.lazy (optional)
missing module named UserDict - imported by pytz.lazy (optional)
missing module named 'scipy.sparse' - imported by pandas.core.arrays.sparse.array (conditional), pandas.core.arrays.sparse.scipy_sparse (delayed, conditional), pandas.core.arrays.sparse.accessor (delayed), pandas.core.dtypes.common (delayed, conditional, optional)
missing module named pandas.core.internals.Block - imported by pandas.core.internals (conditional), pandas.io.pytables (conditional)
@@ -343,5 +340,8 @@ missing module named numpy_distutils - imported by numpy.f2py.diagnose (delayed,
missing module named yaml - imported by numpy.__config__ (delayed)
missing module named numpy._distributor_init_local - imported by numpy (optional), numpy._distributor_init (optional)
missing module named pytest - imported by pandas._testing._io (delayed), pandas._testing (delayed)
missing module named simplejson - imported by requests.compat (conditional, optional)
missing module named dummy_threading - imported by requests.cookies (optional)
missing module named wsaccel - imported by websocket._utils (optional)
missing module named 'python_socks.sync' - imported by websocket._http (optional)
missing module named 'python_socks._types' - imported by websocket._http (optional)
missing module named python_socks - imported by websocket._http (optional)
missing module named 'wsaccel.xormask' - imported by websocket._abnf (optional)

View File

@@ -282,9 +282,6 @@ imports:
&#8226; <a href="#functools">functools</a>
&#8226; <a href="#genericpath">genericpath</a>
&#8226; <a href="#globals.apis">globals.apis</a>
&#8226; <a href="#globals.driver_utils">globals.driver_utils</a>
&#8226; <a href="#globals.global_variable">globals.global_variable</a>
&#8226; <a href="#globals.ids">globals.ids</a>
&#8226; <a href="#heapq">heapq</a>
&#8226; <a href="#io">io</a>
&#8226; <a href="#keyword">keyword</a>
@@ -294,12 +291,6 @@ imports:
&#8226; <a href="#ntpath">ntpath</a>
&#8226; <a href="#operator">operator</a>
&#8226; <a href="#os">os</a>
&#8226; <a href="#page_objects.download_tabbar_page">page_objects.download_tabbar_page</a>
&#8226; <a href="#page_objects.login_page">page_objects.login_page</a>
&#8226; <a href="#page_objects.more_download_page">page_objects.more_download_page</a>
&#8226; <a href="#page_objects.screenshot_page">page_objects.screenshot_page</a>
&#8226; <a href="#page_objects.upload_config_page">page_objects.upload_config_page</a>
&#8226; <a href="#permissions">permissions</a>
&#8226; <a href="#posixpath">posixpath</a>
&#8226; <a href="#pyi_rth__tkinter.py">pyi_rth__tkinter.py</a>
&#8226; <a href="#pyi_rth_inspect.py">pyi_rth_inspect.py</a>
@@ -13248,6 +13239,7 @@ imported by:
&#8226; <a href="#setuptools._vendor.backports.tarfile">setuptools._vendor.backports.tarfile</a>
&#8226; <a href="#sqlalchemy.sql.util">sqlalchemy.sql.util</a>
&#8226; <a href="#tarfile">tarfile</a>
&#8226; <a href="#turtle">turtle</a>
&#8226; <a href="#weakref">weakref</a>
&#8226; <a href="#webbrowser">webbrowser</a>
&#8226; <a href="#xlrd.formula">xlrd.formula</a>
@@ -13548,6 +13540,7 @@ imported by:
&#8226; <a href="#openpyxl.utils.datetime">openpyxl.utils.datetime</a>
&#8226; <a href="#openpyxl.writer.excel">openpyxl.writer.excel</a>
&#8226; <a href="#page_objects.download_tabbar_page">page_objects.download_tabbar_page</a>
&#8226; <a href="#page_objects.more_download_page">page_objects.more_download_page</a>
&#8226; <a href="#page_objects.screenshot_page">page_objects.screenshot_page</a>
&#8226; <a href="#page_objects.upload_config_page">page_objects.upload_config_page</a>
&#8226; <a href="#pandas._typing">pandas._typing</a>
@@ -18031,7 +18024,6 @@ imported by:
&#8226; <a href="#page_objects.more_download_page">page_objects.more_download_page</a>
&#8226; <a href="#page_objects.screenshot_page">page_objects.screenshot_page</a>
&#8226; <a href="#page_objects.upload_config_page">page_objects.upload_config_page</a>
&#8226; <a href="#scheduler.py">scheduler.py</a>
</div>
@@ -18055,7 +18047,6 @@ imported by:
&#8226; <a href="#page_objects.login_page">page_objects.login_page</a>
&#8226; <a href="#page_objects.screenshot_page">page_objects.screenshot_page</a>
&#8226; <a href="#page_objects.upload_config_page">page_objects.upload_config_page</a>
&#8226; <a href="#scheduler.py">scheduler.py</a>
</div>
@@ -18075,7 +18066,6 @@ imported by:
&#8226; <a href="#page_objects.download_tabbar_page">page_objects.download_tabbar_page</a>
&#8226; <a href="#page_objects.login_page">page_objects.login_page</a>
&#8226; <a href="#page_objects.screenshot_page">page_objects.screenshot_page</a>
&#8226; <a href="#scheduler.py">scheduler.py</a>
</div>
@@ -19306,6 +19296,7 @@ imported by:
&#8226; <a href="#sqlalchemy.sql.lambdas">sqlalchemy.sql.lambdas</a>
&#8226; <a href="#sqlalchemy.util.compat">sqlalchemy.util.compat</a>
&#8226; <a href="#sqlalchemy.util.langhelpers">sqlalchemy.util.langhelpers</a>
&#8226; <a href="#turtle">turtle</a>
&#8226; <a href="#typing">typing</a>
&#8226; <a href="#typing_extensions">typing_extensions</a>
&#8226; <a href="#unittest.async_case">unittest.async_case</a>
@@ -20949,6 +20940,7 @@ imported by:
&#8226; <a href="#setuptools._vendor.more_itertools.recipes">setuptools._vendor.more_itertools.recipes</a>
&#8226; <a href="#sqlalchemy.dialects.sqlite.pysqlite">sqlalchemy.dialects.sqlite.pysqlite</a>
&#8226; <a href="#statistics">statistics</a>
&#8226; <a href="#turtle">turtle</a>
&#8226; <a href="#urllib.parse">urllib.parse</a>
&#8226; <a href="#xlsxwriter.worksheet">xlsxwriter.worksheet</a>
@@ -37790,6 +37782,7 @@ imported by:
&#8226; <a href="#setuptools.msvc">setuptools.msvc</a>
&#8226; <a href="#sysconfig">sysconfig</a>
&#8226; <a href="#tracemalloc">tracemalloc</a>
&#8226; <a href="#turtle">turtle</a>
&#8226; <a href="#unittest.util">unittest.util</a>
</div>
@@ -38269,7 +38262,6 @@ imports:
<div class="import">
imported by:
<a href="#main">main</a>
&#8226; <a href="#scheduler.py">scheduler.py</a>
</div>
@@ -38297,7 +38289,6 @@ imports:
imported by:
<a href="#main">main</a>
&#8226; <a href="#page_objects.more_download_page">page_objects.more_download_page</a>
&#8226; <a href="#scheduler.py">scheduler.py</a>
</div>
@@ -38309,6 +38300,7 @@ imported by:
<span class="moduletype">SourceModule</span> <div class="import">
imports:
<a href="#appium.webdriver.common.appiumby">appium.webdriver.common.appiumby</a>
&#8226; <a href="#datetime">datetime</a>
&#8226; <a href="#globals.driver_utils">globals.driver_utils</a>
&#8226; <a href="#logging">logging</a>
&#8226; <a href="#page_objects">page_objects</a>
@@ -38324,7 +38316,6 @@ imports:
imported by:
<a href="#main">main</a>
&#8226; <a href="#page_objects.upload_config_page">page_objects.upload_config_page</a>
&#8226; <a href="#scheduler.py">scheduler.py</a>
</div>
@@ -38350,12 +38341,12 @@ imports:
&#8226; <a href="#selenium.webdriver.support.ui">selenium.webdriver.support.ui</a>
&#8226; <a href="#subprocess">subprocess</a>
&#8226; <a href="#time">time</a>
&#8226; <a href="#turtle">turtle</a>
</div>
<div class="import">
imported by:
<a href="#main">main</a>
&#8226; <a href="#scheduler.py">scheduler.py</a>
</div>
@@ -38378,6 +38369,7 @@ imports:
&#8226; <a href="#pandas">pandas</a>
&#8226; <a href="#re">re</a>
&#8226; <a href="#selenium.common.exceptions">selenium.common.exceptions</a>
&#8226; <a href="#selenium.webdriver.common.by">selenium.webdriver.common.by</a>
&#8226; <a href="#selenium.webdriver.support">selenium.webdriver.support</a>
&#8226; <a href="#selenium.webdriver.support.expected_conditions">selenium.webdriver.support.expected_conditions</a>
&#8226; <a href="#selenium.webdriver.support.ui">selenium.webdriver.support.ui</a>
@@ -38388,7 +38380,6 @@ imports:
<div class="import">
imported by:
<a href="#main">main</a>
&#8226; <a href="#scheduler.py">scheduler.py</a>
</div>
@@ -51178,7 +51169,6 @@ imports:
<div class="import">
imported by:
<a href="#main">main</a>
&#8226; <a href="#scheduler.py">scheduler.py</a>
</div>
@@ -53219,6 +53209,7 @@ imported by:
&#8226; <a href="#tkinter">tkinter</a>
&#8226; <a href="#tokenize">tokenize</a>
&#8226; <a href="#tomllib._re">tomllib._re</a>
&#8226; <a href="#turtle">turtle</a>
&#8226; <a href="#typing">typing</a>
&#8226; <a href="#unittest.case">unittest.case</a>
&#8226; <a href="#unittest.loader">unittest.loader</a>
@@ -54971,6 +54962,7 @@ imports:
imported by:
<a href="#appium.webdriver.common.appiumby">appium.webdriver.common.appiumby</a>
&#8226; <a href="#appium.webdriver.webdriver">appium.webdriver.webdriver</a>
&#8226; <a href="#page_objects.upload_config_page">page_objects.upload_config_page</a>
&#8226; <a href="#selenium.webdriver.remote.locator_converter">selenium.webdriver.remote.locator_converter</a>
&#8226; <a href="#selenium.webdriver.remote.shadowroot">selenium.webdriver.remote.shadowroot</a>
&#8226; <a href="#selenium.webdriver.remote.switch_to">selenium.webdriver.remote.switch_to</a>
@@ -70140,6 +70132,7 @@ imported by:
&#8226; <a href="#tkinter">tkinter</a>
&#8226; <a href="#tokenize">tokenize</a>
&#8226; <a href="#traceback">traceback</a>
&#8226; <a href="#turtle">turtle</a>
&#8226; <a href="#types">types</a>
&#8226; <a href="#typing">typing</a>
&#8226; <a href="#typing_extensions">typing_extensions</a>
@@ -70594,6 +70587,7 @@ imported by:
&#8226; <a href="#subprocess">subprocess</a>
&#8226; <a href="#tarfile">tarfile</a>
&#8226; <a href="#threading">threading</a>
&#8226; <a href="#turtle">turtle</a>
&#8226; <a href="#unittest.case">unittest.case</a>
&#8226; <a href="#unittest.runner">unittest.runner</a>
&#8226; <a href="#urllib.request">urllib.request</a>
@@ -70623,9 +70617,9 @@ imports:
&#8226; <a href="#os">os</a>
&#8226; <a href="#re">re</a>
&#8226; <a href="#sys">sys</a>
&#8226; <a href="#tkinter.commondialog">tkinter.commondialog</a>
&#8226; <a href="#tkinter.constants">tkinter.constants</a>
&#8226; <a href="#tkinter.messagebox">tkinter.messagebox</a>
&#8226; <a href="#tkinter.simpledialog">tkinter.simpledialog</a>
&#8226; <a href="#traceback">traceback</a>
&#8226; <a href="#types">types</a>
@@ -70640,6 +70634,7 @@ imported by:
&#8226; <a href="#tkinter.font">tkinter.font</a>
&#8226; <a href="#tkinter.messagebox">tkinter.messagebox</a>
&#8226; <a href="#tkinter.simpledialog">tkinter.simpledialog</a>
&#8226; <a href="#turtle">turtle</a>
</div>
@@ -70655,8 +70650,7 @@ imports:
</div>
<div class="import">
imported by:
<a href="#tkinter">tkinter</a>
&#8226; <a href="#tkinter.filedialog">tkinter.filedialog</a>
<a href="#tkinter.filedialog">tkinter.filedialog</a>
&#8226; <a href="#tkinter.messagebox">tkinter.messagebox</a>
</div>
@@ -70765,7 +70759,9 @@ imports:
<div class="import">
imported by:
<a href="#matplotlib.backends._backend_tk">matplotlib.backends._backend_tk</a>
&#8226; <a href="#tkinter">tkinter</a>
&#8226; <a href="#tkinter.filedialog">tkinter.filedialog</a>
&#8226; <a href="#turtle">turtle</a>
</div>
@@ -71045,6 +71041,32 @@ imported by:
</div>
<div class="node">
<a name="turtle"></a>
<a target="code" href="///C:/Program%20Files/Python312/Lib/turtle.py" type="text/plain"><tt>turtle</tt></a>
<span class="moduletype">SourceModule</span> <div class="import">
imports:
<a href="#copy">copy</a>
&#8226; <a href="#inspect">inspect</a>
&#8226; <a href="#math">math</a>
&#8226; <a href="#os.path">os.path</a>
&#8226; <a href="#re">re</a>
&#8226; <a href="#sys">sys</a>
&#8226; <a href="#time">time</a>
&#8226; <a href="#tkinter">tkinter</a>
&#8226; <a href="#tkinter.simpledialog">tkinter.simpledialog</a>
&#8226; <a href="#types">types</a>
&#8226; <a href="#warnings">warnings</a>
</div>
<div class="import">
imported by:
<a href="#page_objects.screenshot_page">page_objects.screenshot_page</a>
</div>
</div>
<div class="node">
<a name="types"></a>
<a target="code" href="///C:/Program%20Files/Python312/Lib/types.py" type="text/plain"><tt>types</tt></a>
@@ -71159,6 +71181,7 @@ imported by:
&#8226; <a href="#tempfile">tempfile</a>
&#8226; <a href="#tkinter">tkinter</a>
&#8226; <a href="#tomllib._parser">tomllib._parser</a>
&#8226; <a href="#turtle">turtle</a>
&#8226; <a href="#typing">typing</a>
&#8226; <a href="#typing_extensions">typing_extensions</a>
&#8226; <a href="#unittest.case">unittest.case</a>
@@ -74124,6 +74147,7 @@ imported by:
&#8226; <a href="#tarfile">tarfile</a>
&#8226; <a href="#tempfile">tempfile</a>
&#8226; <a href="#threading">threading</a>
&#8226; <a href="#turtle">turtle</a>
&#8226; <a href="#typing">typing</a>
&#8226; <a href="#typing_extensions">typing_extensions</a>
&#8226; <a href="#unittest.async_case">unittest.async_case</a>

View File

@@ -240,7 +240,7 @@ def start_settlement_app(device_id, device_ip, device_port):
# 无线 ADB 建链主流程
# =======================
def setup_adb_wireless(yh_id="68c0dbfdb7cbcd616e7c5ab5"):
def setup_adb_wireless(yh_id="68ef0e02b0138d25e2ac9918"):
port = get_new_port(yh_id)
# port = 3435
print(f"🚀 开始无线 ADB 建链(端口 {port}")
@@ -361,6 +361,6 @@ def setup_adb_wireless(yh_id="68c0dbfdb7cbcd616e7c5ab5"):
if __name__ == "__main__":
# 配置参数
USER_ID = "68c0dbfdb7cbcd616e7c5ab5" # 替换为实际的用户ID
USER_ID = "68ef0e02b0138d25e2ac9918" # 替换为实际的用户ID
setup_adb_wireless(USER_ID)

68
debug_page_source.xml Normal file
View File

@@ -0,0 +1,68 @@
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<hierarchy index="0" class="hierarchy" rotation="0" width="1080" height="2029">
<android.widget.FrameLayout index="0" package="com.bjjw.cjgc" class="android.widget.FrameLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,2118]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="0" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.widget.LinearLayout index="0" package="com.bjjw.cjgc" class="android.widget.LinearLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,2118]" displayed="true" a11y-important="false" screen-reader-focusable="false" drawing-order="1" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.widget.FrameLayout index="0" package="com.bjjw.cjgc" class="android.widget.FrameLayout" text="" resource-id="android:id/content" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,89][1080,2118]" displayed="true" a11y-important="false" screen-reader-focusable="false" drawing-order="2" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.widget.RelativeLayout index="0" package="com.bjjw.cjgc" class="android.widget.RelativeLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,89][1080,2118]" displayed="true" a11y-important="false" screen-reader-focusable="false" drawing-order="1" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.widget.LinearLayout index="0" package="com.bjjw.cjgc" class="android.widget.LinearLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,89][1080,1980]" displayed="true" a11y-important="false" screen-reader-focusable="false" drawing-order="2" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.support.v4.view.ViewPager index="0" package="com.bjjw.cjgc" class="android.support.v4.view.ViewPager" text="" resource-id="com.bjjw.cjgc:id/vPager" checkable="false" checked="false" clickable="false" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="true" selected="false" bounds="[0,89][1080,1980]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="1" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.widget.FrameLayout index="1" package="com.bjjw.cjgc" class="android.widget.FrameLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,89][1080,1980]" displayed="true" a11y-important="false" screen-reader-focusable="false" drawing-order="1" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.widget.RelativeLayout index="0" package="com.bjjw.cjgc" class="android.widget.RelativeLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,89][1080,1980]" displayed="true" a11y-important="false" screen-reader-focusable="false" drawing-order="1" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.widget.ListView index="0" package="com.bjjw.cjgc" class="android.widget.ListView" text="" resource-id="com.bjjw.cjgc:id/upload_result_list" checkable="false" checked="false" clickable="false" enabled="true" focusable="true" focused="true" long-clickable="true" password="false" scrollable="false" selected="false" bounds="[28,117][1052,683]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="1" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.widget.LinearLayout index="0" package="com.bjjw.cjgc" class="android.widget.LinearLayout" text="" resource-id="com.bjjw.cjgc:id/itemContainer" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="true" password="false" scrollable="false" selected="false" bounds="[28,117][1052,305]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="1" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.widget.LinearLayout index="0" package="com.bjjw.cjgc" class="android.widget.LinearLayout" text="" resource-id="com.bjjw.cjgc:id/longclick" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="true" password="false" scrollable="false" selected="false" bounds="[56,159][875,263]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="1" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.widget.TextView index="0" package="com.bjjw.cjgc" class="android.widget.TextView" text="CDWZQ-2标-刚性路基156右线-462321-462390-0" resource-id="com.bjjw.cjgc:id/title" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[84,159][875,218]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="1" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false" />
<android.widget.TextView index="1" package="com.bjjw.cjgc" class="android.widget.TextView" text="测量时间2026-02-02 09:59:42" resource-id="com.bjjw.cjgc:id/subtitle" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[84,218][590,263]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="2" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false" />
</android.widget.LinearLayout>
<android.widget.Button index="1" package="com.bjjw.cjgc" class="android.widget.Button" text="上传" resource-id="com.bjjw.cjgc:id/upload_btn" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[875,145][1024,277]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="5" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false" />
</android.widget.LinearLayout>
<android.widget.LinearLayout index="1" package="com.bjjw.cjgc" class="android.widget.LinearLayout" text="" resource-id="com.bjjw.cjgc:id/itemContainer" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="true" password="false" scrollable="false" selected="false" bounds="[28,306][1052,494]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="2" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.widget.LinearLayout index="0" package="com.bjjw.cjgc" class="android.widget.LinearLayout" text="" resource-id="com.bjjw.cjgc:id/longclick" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="true" password="false" scrollable="false" selected="false" bounds="[56,348][875,452]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="1" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.widget.TextView index="0" package="com.bjjw.cjgc" class="android.widget.TextView" text="CDWZQ-2标-三工区-任家湾特大桥-53#-56#" resource-id="com.bjjw.cjgc:id/title" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[84,348][875,407]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="1" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false" />
<android.widget.TextView index="1" package="com.bjjw.cjgc" class="android.widget.TextView" text="测量时间2026-02-28 13:34:06" resource-id="com.bjjw.cjgc:id/subtitle" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[84,407][585,452]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="2" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false" />
</android.widget.LinearLayout>
<android.widget.Button index="1" package="com.bjjw.cjgc" class="android.widget.Button" text="上传" resource-id="com.bjjw.cjgc:id/upload_btn" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[875,334][1024,466]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="5" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false" />
</android.widget.LinearLayout>
<android.widget.LinearLayout index="2" package="com.bjjw.cjgc" class="android.widget.LinearLayout" text="" resource-id="com.bjjw.cjgc:id/itemContainer" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="true" password="false" scrollable="false" selected="false" bounds="[28,495][1052,683]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="3" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.widget.LinearLayout index="0" package="com.bjjw.cjgc" class="android.widget.LinearLayout" text="" resource-id="com.bjjw.cjgc:id/longclick" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="true" password="false" scrollable="false" selected="false" bounds="[56,537][875,641]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="1" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false">
<android.widget.TextView index="0" package="com.bjjw.cjgc" class="android.widget.TextView" text="CDWZQ-2标-区间路基136号-447970-448036-136" resource-id="com.bjjw.cjgc:id/title" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[84,537][875,596]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="1" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false" />
<android.widget.TextView index="1" package="com.bjjw.cjgc" class="android.widget.TextView" text="测量时间2026-02-28 11:44:46" resource-id="com.bjjw.cjgc:id/subtitle" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[84,596][583,641]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="2" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false" />
</android.widget.LinearLayout>
<android.widget.Button index="1" package="com.bjjw.cjgc" class="android.widget.Button" text="上传" resource-id="com.bjjw.cjgc:id/upload_btn" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[875,523][1024,655]" displayed="true" a11y-important="true" screen-reader-focusable="false" drawing-order="5" showing-hint="false" text-entry-key="false" dismissable="false" a11y-focused="false" heading="false" live-region="0" context-clickable="false" content-invalid="false" />
</android.widget.LinearLayout>
</android.widget.ListView>
</android.widget.RelativeLayout>

Binary file not shown.

View File

@@ -429,7 +429,7 @@ def get_line_info_and_save_global(user_name: str) -> bool:
# 存入全局字典key=line_namevalue=line_num
global_variable.get_upload_breakpoint_dict()[line_name] = line_num
print(f"当前全局字典数据上传线路字典数据:{global_variable.get_upload_breakpoint_dict()}")
# 如果line_name不在列表中则添加
if line_name not in global_variable.get_upload_breakpoint_list():
global_variable.get_upload_breakpoint_list().append(line_name)
@@ -438,6 +438,7 @@ def get_line_info_and_save_global(user_name: str) -> bool:
found_valid_data = True
if found_valid_data:
# print(f"当前全局字典数据上传线路字典数据:{global_variable.get_upload_breakpoint_dict()}")
logging.info(f"成功提取所有status=3的线路信息当前全局字典数据{global_variable.get_upload_breakpoint_dict()}")
return True
else:

View File

@@ -53,7 +53,7 @@ def get_remote_tasks():
return {}
# 2. 从服务器获取账户
accounts = apis.get_accounts_from_server("68c0dbfdb7cbcd616e7c5ab5")
accounts = apis.get_accounts_from_server("68ef0e02b0138d25e2ac9918")
if not accounts:
print("❌ 未从服务器获取到账户信息,终止流程")
return {}

113
main.py
View File

@@ -163,32 +163,99 @@ class DeviceAutomation(object):
EC.element_to_be_clickable((AppiumBy.ID, "com.bjjw.cjgc:id/img_2_layout"))
)
upload_page_btn.click()
upload_page_btn.click()
time.sleep(0.5)
# 遍历断点列表,逐个执行上传操作
upload_success_count = 0
for breakpoint_name in global_variable.get_upload_breakpoint_list():
try:
logging.info(f"设备 {self.device_id} 开始处理断点 '{breakpoint_name}' 的上传")
upload_success_count = 0 # 上传成功的断点数量
# 实现连续获取断点列表直到两次相同
previous_breakpoint_list = None
current_breakpoint_list = None
max_attempts = 5 # 最大尝试次数
attempt_count = 0
while attempt_count < max_attempts:
# 获取当前页面的断点列表
# 从当前页面获取断点列表名称
current_breakpoint_list = self.upload_config_page.get_breakpoint_list_from_page()
attempt_count += 1
if current_breakpoint_list is None:
logging.warning(f"设备 {self.device_id} 没有获取到断点列表,结束上传流程")
break
logging.info(f"{attempt_count} 次获取断点列表: {current_breakpoint_list}")
# 检查是否与上一次获取的列表相同
if previous_breakpoint_list is not None and current_breakpoint_list == previous_breakpoint_list:
logging.info("连续两次获取到相同的断点列表,结束上传")
# 下滑一次再次检查是否一致
# 获取列表容器
list_container = self.driver.find_element(AppiumBy.ID, "com.bjjw.cjgc:id/upload_result_list")
# 安全地获取断点信息
line_num = global_variable.get_upload_breakpoint_dict().get(breakpoint_name)
if line_num is None:
logging.warning(f"设备 {self.device_id} 断点 '{breakpoint_name}' 在字典中未找到,跳过上传")
continue
if not line_num:
logging.warning(f"设备 {self.device_id} 断点 '{breakpoint_name}' 未获取到line_num跳过上传")
continue
# 执行上传配置管理,传入当前断点名称
if self.upload_config_page.upload_config_page_manager(self.results_dir, breakpoint_name, line_num):
logging.info(f"设备 {self.device_id} 断点 '{breakpoint_name}' 上传成功")
upload_success_count += 1
else:
logging.error(f"设备 {self.device_id} 断点 '{breakpoint_name}' 上传失败")
# 计算滑动坐标
start_x = list_container.location['x'] + list_container.size['width'] // 2
# 向下滑动
start_y = list_container.location['y'] + list_container.size['height'] * 0.95
end_y = list_container.location['y'] + list_container.size['height'] * 0.05
logging.info("向下滑动列表")
self.driver.swipe(start_x, start_y, start_x, end_y, 500)
current_breakpoint_list = self.upload_config_page.get_breakpoint_list_from_page()
if previous_breakpoint_list is not None and current_breakpoint_list == previous_breakpoint_list:
break
previous_breakpoint_list = current_breakpoint_list.copy() if current_breakpoint_list else None
# 遍历当前页面列表,逐个执行上传操作
for breakpoint_name in current_breakpoint_list:
# # 遍历断点列表,逐个执行上传操作
# upload_success_count = 0
# for breakpoint_name in global_variable.get_upload_breakpoint_list():
try:
# 检查断点名称是否在当前页面列表中
if breakpoint_name not in current_breakpoint_list:
logging.warning(f"设备 {self.device_id} 断点 '{breakpoint_name}' 不在当前页面列表中,跳过上传")
continue
except Exception as e:
logging.error(f"设备 {self.device_id} 处理断点 '{breakpoint_name}' 时发生异常: {str(e)}")
logging.info(f"设备 {self.device_id} 开始处理断点 '{breakpoint_name}' 的上传")
# 安全地获取断点信息
# breakpoint_names = global_variable.get_upload_breakpoint_dict()
# logging.info(f"设备 {self.device_id} 断点字典 '{breakpoint_names}' 中包含断点 '{breakpoint_name}'")
ui_breakpoint_dict = {}
for key, value in global_variable.get_upload_breakpoint_dict().items():
# 去掉末尾的"-平原"
if key.endswith('-平原'):
ui_key = key[:-3] # 去掉最后3个字符"-平原"
else:
ui_key = key
ui_breakpoint_dict[ui_key] = value
line_num = ui_breakpoint_dict.get(breakpoint_name)
logging.info(f"设备 {self.device_id} 断点 '{breakpoint_name}' 对应的line_num为 {line_num}")
if line_num is None:
logging.warning(f"设备 {self.device_id} 断点 '{breakpoint_name}' 在字典中未找到,跳过上传")
continue
if not line_num:
logging.warning(f"设备 {self.device_id} 断点 '{breakpoint_name}' 未获取到line_num跳过上传")
continue
# 执行上传配置管理,传入当前断点名称
if self.upload_config_page.upload_config_page_manager(self.results_dir, breakpoint_name, line_num):
logging.info(f"设备 {self.device_id} 断点 '{breakpoint_name}' 上传成功")
upload_success_count += 1
else:
logging.error(f"设备 {self.device_id} 断点 '{breakpoint_name}' 上传失败")
for i in range(3):
if self.upload_config_page.upload_config_page_manager(self.results_dir, breakpoint_name, line_num):
logging.info(f"设备 {self.device_id} 断点 '{breakpoint_name}' 重试上传成功")
upload_success_count += 1
break
else:
logging.error(f"设备 {self.device_id} 断点 '{breakpoint_name}' 上传失败,第 {i+1} 次重试")
except Exception as e:
logging.error(f"设备 {self.device_id} 处理断点 '{breakpoint_name}' 时发生异常: {str(e)}")
logging.info(f"设备 {self.device_id} 上传配置管理执行完成,成功上传 {upload_success_count}/{len(global_variable.get_upload_breakpoint_list())} 个断点")

View File

@@ -59,7 +59,7 @@ class LoginPage:
# 如果clear方法不可用尝试其他方式
pass
accounts = apis.get_accounts_from_server("68c0dbfdb7cbcd616e7c5ab5")
accounts = apis.get_accounts_from_server("68ef0e02b0138d25e2ac9918")
matches = [acc for acc in accounts if acc.get("username") == existing_username]
if matches:
password = matches[0].get("password")

View File

@@ -44,19 +44,19 @@ class ScreenshotPage:
if direction == "down":
# 向下滑动
start_y = list_container.location['y'] + list_container.size['height'] * 0.95
end_y = list_container.location['y'] + list_container.size['height'] * 0.05
start_y = list_container.location['y'] + list_container.size['height'] * 0.90
end_y = list_container.location['y'] + list_container.size['height'] * 0.1
self.logger.info("向下滑动列表")
else:
# 向上滑动
# 记录滑动前的项目,用于判断是否滑动到顶
before_scroll_items = self.get_current_items()
start_y = list_container.location['y'] + list_container.size['height'] * 0.05
end_y = list_container.location['y'] + list_container.size['height'] * 0.95
start_y = list_container.location['y'] + list_container.size['height'] * 0.1
end_y = list_container.location['y'] + list_container.size['height'] * 0.90
self.logger.info("向上滑动列表")
# 执行滑动
self.driver.swipe(start_x, start_y, start_x, end_y, 1000)
self.driver.swipe(start_x, start_y, start_x, end_y, 500)
# 向上滑动时,检查是否滑动到顶
@@ -916,11 +916,6 @@ class ScreenshotPage:
self.logger.error(f"设备 {device_id} 点击平差处理按钮失败")
return False
# # 5. 在点击平差处理按钮后截图
# time.sleep(2) # 等待平差处理按钮点击后的界面变化
# if not self.take_screenshot("after_adjustment_button_click"):
# self.logger.error(f"设备 {device_id} 截图失败")
# return False
self.logger.info(f"设备 {device_id} 测量结束后操作流程完成")
return True
@@ -1347,27 +1342,31 @@ class ScreenshotPage:
retry_count += 1
continue
# 点击返回按钮并处理弹窗
if not self.execute_back_navigation_steps(device_id):
self.logger.error(f"设备 {device_id} 处理返回按钮确认失败")
retry_count += 1
continue
# 检查在不在测量列表页面,不在就点击返回按钮并处理弹窗
if self.check_measurement_list(device_id):
self.logger.error(f"设备 {device_id} 未在测量列表页面")
# 点击返回按钮并处理弹窗
if not self.execute_back_navigation_steps(device_id):
self.logger.error(f"设备 {device_id} 处理返回按钮确认失败")
retry_count += 1
continue
# 成功处理完一个断点,添加到已处理列表
processed_breakpoints.append(item)
# add_breakpoint_to_upload_list(item, line_code)
self.logger.info(f"成功处理断点: {item}")
break # 跳出重试循环
# 检查是否重试次数用完仍未成功
if retry_count >= max_retry_attempts:
if retry_count == max_retry_attempts-1:
self.logger.error(f"断点 {item} 经过 {max_retry_attempts} 次重试后仍然失败")
# 重新获取当前页面项目,因为可能有新的项目加载
break
continue
# 向下滑动列表以加载更多项目
if not self.scroll_list(direction="down"):
self.logger.error("向下滑动列表失败")
break
continue
# 检查是否到达底部:连续两次获取的项目相同
if current_items == previous_items and len(current_items) > 0:

View File

@@ -2,6 +2,7 @@
# \page_objects\test_upload_config_page.py
from appium.webdriver.common.appiumby import AppiumBy
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException, NoSuchElementException
import logging
@@ -24,6 +25,69 @@ class UploadConfigPage:
self.logger = logging.getLogger(__name__)
self.more_download_page = MoreDownloadPage(driver, wait,device_id)
self.device_id = device_id
def get_breakpoint_list_from_page(self):
"""
从当前页面获取断点列表的断点名称
Returns:
list: 断点名称列表
"""
breakpoint_list = []
try:
# 优化点1: 等待列表容器出现,确保页面已加载
self.wait.until(EC.presence_of_element_located((By.ID, "com.bjjw.cjgc:id/upload_result_list")))
# 优化点2: 等待至少一个itemContainer出现确保列表有数据
self.wait.until(EC.presence_of_element_located((By.ID, "com.bjjw.cjgc:id/itemContainer")))
# 方法1: 直接获取所有标题元素(最直接高效)
title_elements = self.driver.find_elements(By.ID, "com.bjjw.cjgc:id/title")
if title_elements:
for element in title_elements:
breakpoint_name = element.text
if breakpoint_name and breakpoint_name.strip(): # 增加空值过滤
breakpoint_list.append(breakpoint_name.strip())
print(f"✅ 直接通过title获取到 {len(breakpoint_list)} 个断点")
# 方法2: 如果方法1失败通过itemContainer获取备选方案
if not breakpoint_list:
print("⚠️ 直接获取title失败尝试通过itemContainer获取...")
item_containers = self.driver.find_elements(By.ID, "com.bjjw.cjgc:id/itemContainer")
for container in item_containers:
try:
title_element = container.find_element(By.ID, "com.bjjw.cjgc:id/title")
breakpoint_name = title_element.text
if breakpoint_name and breakpoint_name.strip():
breakpoint_list.append(breakpoint_name.strip())
except:
continue
print(f"✅ 通过itemContainer获取到 {len(breakpoint_list)} 个断点")
# 打印结果
if breakpoint_list:
print(f"📋 断点列表:")
for i, name in enumerate(breakpoint_list, 1):
print(f" {i}. {name}")
else:
print("⚠️ 未获取到任何断点,列表可能为空")
return breakpoint_list
except Exception as e:
print(f"❌ 获取断点列表失败: {str(e)}")
# 可以在这里打印更多调试信息
try:
page_source = driver.page_source
print("📄 当前页面源码已保存,可用于调试")
# 可以将page_source保存到文件方便分析
with open("debug_page_source.xml", "w", encoding="utf-8") as f:
f.write(page_source)
except:
pass
return breakpoint_list
def go_upload_config_page(self):
"""点击img_2_layout上传页面按钮"""
@@ -343,8 +407,8 @@ class UploadConfigPage:
'com.bjjw.cjgc:id/point_values'
)
self.logger.info(f"找到 {len(point_name_elements)} 个测点")
self.logger.info(f"找到 {len(point_value_elements)} 个数据元素")
# self.logger.info(f"找到 {len(point_name_elements)} 个测点")
# self.logger.info(f"找到 {len(point_value_elements)} 个数据元素")
# 提取每个测点的数据
for i, (name_element, value_element) in enumerate(zip(point_name_elements, point_value_elements)):
@@ -383,7 +447,7 @@ class UploadConfigPage:
point_data.append(point_info)
self.logger.info(f"测点 {i+1}: {point_name}")
# self.logger.info(f"测点 {i+1}: {point_name}")
# self.logger.info(f"完整数据: {point_value}")
except Exception as e:
@@ -487,54 +551,54 @@ class UploadConfigPage:
self.logger.error(f"检查上传配置页面时发生意外错误: {str(e)}")
return False
def collect_all_point_data(self, results_dir):
"""循环滑动收集所有测点数据,直到没有新数据出现"""
all_point_data = []
seen_point_names = set() # 用于跟踪已经见过的测点名称
max_scroll_attempts = 20 # 最大滑动次数,防止无限循环
scroll_attempt = 0
# def collect_all_point_data(self, results_dir):
# """循环滑动收集所有测点数据,直到没有新数据出现"""
# all_point_data = []
# seen_point_names = set() # 用于跟踪已经见过的测点名称
# max_scroll_attempts = 20 # 最大滑动次数,防止无限循环
# scroll_attempt = 0
self.logger.info("开始循环滑动收集所有测点数据...")
# self.logger.info("开始循环滑动收集所有测点数据...")
while scroll_attempt < max_scroll_attempts:
scroll_attempt += 1
self.logger.info(f"{scroll_attempt} 次尝试获取数据...")
# while scroll_attempt < max_scroll_attempts:
# scroll_attempt += 1
# self.logger.info(f"第 {scroll_attempt} 次尝试获取数据...")
# 获取当前屏幕的测点数据
current_point_data = self.get_point_data()
# # 获取当前屏幕的测点数据
# current_point_data = self.get_point_data()
if not current_point_data:
self.logger.info("当前屏幕没有测点数据,停止滑动")
break
# if not current_point_data:
# self.logger.info("当前屏幕没有测点数据,停止滑动")
# break
# 统计新发现的测点
new_points_count = 0
for point in current_point_data:
point_name = point.get('point_name')
if point_name and point_name not in seen_point_names:
# 新测点,添加到结果集
all_point_data.append(point)
seen_point_names.add(point_name)
new_points_count += 1
# # 统计新发现的测点
# new_points_count = 0
# for point in current_point_data:
# point_name = point.get('point_name')
# if point_name and point_name not in seen_point_names:
# # 新测点,添加到结果集
# all_point_data.append(point)
# seen_point_names.add(point_name)
# new_points_count += 1
self.logger.info(f"本次获取到 {len(current_point_data)} 个测点,其中 {new_points_count} 个是新测点")
# self.logger.info(f"本次获取到 {len(current_point_data)} 个测点,其中 {new_points_count} 个是新测点")
# 如果没有新数据,停止滑动
if new_points_count == 0:
self.logger.info("没有发现新测点,停止滑动")
break
# # 如果没有新数据,停止滑动
# if new_points_count == 0:
# self.logger.info("没有发现新测点,停止滑动")
# break
# 滑动到下一页
self.logger.info("滑动到下一页...")
if not self.swipe_up():
self.logger.warning("滑动失败,停止收集")
break
# # 滑动到下一页
# self.logger.info("滑动到下一页...")
# if not self.swipe_up():
# self.logger.warning("滑动失败,停止收集")
# break
# 等待页面稳定
time.sleep(1)
# # 等待页面稳定
# time.sleep(1)
self.logger.info(f"数据收集完成,共获取 {len(all_point_data)} 个测点数据")
return all_point_data
# self.logger.info(f"数据收集完成,共获取 {len(all_point_data)} 个测点数据")
# return all_point_data
def collect_check_all_point_data(self, max_variation):
"""循环滑动收集所有测点数据,直到没有新数据出现"""
@@ -547,7 +611,7 @@ class UploadConfigPage:
while scroll_attempt < max_scroll_attempts:
scroll_attempt += 1
self.logger.info(f"{scroll_attempt} 次尝试获取数据...")
# self.logger.info(f"第 {scroll_attempt} 次尝试获取数据...")
# 获取当前屏幕的测点数据
current_point_data = self.get_point_data()
@@ -951,7 +1015,7 @@ class UploadConfigPage:
if workinfo_names:
workinfo_name = workinfo_names[0] # 主要工况
self.logger.info(f"{work_type_name}({work_type_str})选择主要工况: {workinfo_name}")
# self.logger.info(f"为{work_type_name}({work_type_str})选择主要工况: {workinfo_name}")
try:
# 点击工况选择按钮
@@ -960,31 +1024,56 @@ class UploadConfigPage:
)
condition_button.click()
self.logger.info(f"成功点击{work_type_name}工况选择按钮")
# 检查是否有ListView如果没有就再次点击
try:
# 尝试查找ListView
self.wait.until(
EC.presence_of_element_located((AppiumBy.CLASS_NAME, "android.widget.ListView"))
)
self.logger.info(f"找到{work_type_name}工况选择的ListView")
except TimeoutException:
# 没有找到ListView再次点击按钮
self.logger.warning(f"未找到{work_type_name}工况选择的ListView再次点击按钮")
condition_button.click()
self.logger.info(f"再次成功点击{work_type_name}工况选择按钮")
# 选择主要的工况选项
if self._select_condition_option(workinfo_name):
self.logger.info(f"成功为{work_type_name}选择主要工况: {workinfo_name}")
success_count += 1
else:
self.logger.warning(f"未能为{work_type_name}选择主要工况: {workinfo_name}")
except TimeoutException:
self.logger.error(f"等待{work_type_name}工况选择按钮超时")
id_list = [
"com.bjjw.cjgc:id/all_point_workinfo_sp_suidao",
"com.bjjw.cjgc:id/all_point_workinfo_sp_luji",
"com.bjjw.cjgc:id/all_point_workinfo_sp_qiaoliang",
"com.bjjw.cjgc:id/all_point_workinfo_sp_handong",
]
for id in id_list:
if id == button_id:
continue
try:
self.wait.until(
EC.element_to_be_clickable((AppiumBy.ID, id))
)
self.driver.find_element(AppiumBy.ID, id).click()
self.logger.info(f"成功点击{work_type_name}其他工况选择按钮: {id}")
except TimeoutException:
self.logger.error(f"等待{work_type_name}其他工况选择按钮超时: {id}")
# return False
except Exception as e:
self.logger.error(f"点击{work_type_name}工况按钮时出错: {str(e)}")
return False
# 检查是否有ListView如果没有就再次点击
try:
# 尝试查找ListView
self.wait.until(
EC.presence_of_element_located((AppiumBy.CLASS_NAME, "android.widget.ListView"))
)
self.logger.info(f"找到{work_type_name}工况选择的ListView")
except TimeoutException:
# 没有找到ListView再次点击按钮
self.logger.warning(f"未找到{work_type_name}工况选择的ListView再次点击按钮")
condition_button.click()
self.logger.info(f"再次成功点击{work_type_name}工况选择按钮")
# 选择主要的工况选项
if self._select_condition_option(workinfo_name):
self.logger.info(f"成功为{work_type_name}选择主要工况: {workinfo_name}")
success_count += 1
else:
self.logger.warning(f"未能为{work_type_name}选择主要工况: {workinfo_name}")
# except TimeoutException:
# self.logger.error(f"等待{work_type_name}工况选择按钮超时")
# except Exception as e:
# self.logger.error(f"点击{work_type_name}工况按钮时出错: {str(e)}")
# 第二步:如果有次要工况,滑动页面处理
if minor_conditions_list:
@@ -1445,7 +1534,7 @@ class UploadConfigPage:
EC.element_to_be_clickable((AppiumBy.XPATH, option_xpath))
)
option_element.click()
self.logger.info(f"通过文本定位成功选择工况: {condition_name}")
# self.logger.info(f"通过文本定位成功选择工况: {condition_name}")
return True
except TimeoutException:
self.logger.debug(f"通过文本'{condition_name}'未找到工况选项")
@@ -1512,12 +1601,12 @@ class UploadConfigPage:
# return False
# 跳转到上传配置页面
if not go_main_click_tabber_button(self.driver, self.device_id, "com.bjjw.cjgc:id/img_2_layout"):
logging.error(f"设备 {self.device_id} 跳转到上传配置页面失败")
logging.error(f"设备 {self.device_id} 跳转到上传配置页面失败(下载操作)")
return False
# 根据断点名称点击上传按钮
if not self.click_upload_by_breakpoint_name(breakpoint_name):
self.logger.error("点击上传按钮失败")
self.logger.error("点击上传按钮失败(下载操作)")
return False
if not self.handle_upload_dialog():
@@ -1765,7 +1854,7 @@ class UploadConfigPage:
# 跳转到上传配置页面
if not go_main_click_tabber_button(self.driver, self.device_id, "com.bjjw.cjgc:id/img_2_layout"):
logging.error(f"设备 {self.device_id} 跳转到测量页面失败")
logging.error(f"设备 {self.device_id} 跳转到上传配置页面失败")
return False
# 根据断点名称点击上传按钮
@@ -1846,17 +1935,7 @@ class UploadConfigPage:
# 获取线路的所有工况信息
work_conditions = apis.get_work_conditions_by_linecode(self.line_num)
# work_conditions = {'1962527': {'sjName': '王顺', 'workinfoname': '轨道板(道床)铺设后第1个月', 'work_type': 2},
# '0299815Z2': {'sjName': '王顺', 'workinfoname': '冬休', 'work_type': 2},
# '0299820H1': {'sjName': '王顺', 'workinfoname': '架桥机(运梁车) 首次通过后', 'work_type': 4},
# '0431248D1': {'sjName': '王顺', 'workinfoname': '轨道板(道床)铺设后第1个月', 'work_type': 4},
# '0431248D2': {'sjName': '王顺', 'workinfoname': '轨道板(道床)铺设后第1个月', 'work_type': 4},
# '0299815Z1': {'sjName': '王顺', 'workinfoname': '架桥机(运梁车) 首次通过前', 'work_type': 2},
# '0431289D2': {'sjName': '王顺', 'workinfoname': '轨道板(道床)铺设后第1个月', 'work_type': 4},
# '0431330D1': {'sjName': '王顺', 'workinfoname': '轨道板(道床)铺设后第1个月', 'work_type': 2},
# '0431330D2': {'sjName': '王顺', 'workinfoname': '轨道板(道床)铺设后第1个月', 'work_type': 2},
# '0431370D1': {'sjName': '王顺', 'workinfoname': '轨道板(道床)铺设后第1个月', 'work_type': 2}}
self.logger.info(f"获取线路工况信息成功: {work_conditions}")
# self.logger.info(f"获取线路工况信息成功: {work_conditions}")
if not work_conditions:
self.logger.error("获取工况信息失败")
return False
@@ -1891,14 +1970,14 @@ class UploadConfigPage:
return False
# # 表达填写完成,点击"保存上传"并处理弹窗
# if not self.click_save_upload_and_handle_dialogs():
# self.logger.error("点击保存上传并处理弹窗失败")
# return False
# 表达填写完成,点击"保存上传"并处理弹窗
if not self.click_save_upload_and_handle_dialogs():
self.logger.error("点击保存上传并处理弹窗失败")
return False
# 暂不上传,使用返回按钮替代。
self.driver.back()
return True
# # 暂不上传,使用返回按钮替代。
# self.driver.back()
# return True
# 等待上传查看loading弹窗。没有就下一个

View File

@@ -52,7 +52,7 @@ def update_file_status(username, from_status, to_status):
def parse_time_config():
"""
解析 time.txt只获取状态为 true 的任务
解析 time.txt只获取状态为 ok 的任务
"""
time_map = {}
if not os.path.exists(TIME_FILE_PATH):
@@ -64,8 +64,8 @@ def parse_time_config():
with open(TIME_FILE_PATH, 'r', encoding='utf-8') as f:
for line in f:
line = line.strip()
# 匹配:用户名 时间 true (仅获取待处理任务)
match = re.search(r'(\w+)\s+(\d{4}-\d{1,2}-\d{1,2}\s+\d{1,2}:\d{2}:\d{2})\s+ok$', line)
# 匹配:用户名 时间 ok (仅获取待处理任务)
match = re.search(r'([\w-]+)\s+(\d{4}-\d{1,2}-\d{1,2}\s+\d{1,2}:\d{2}:\d{2})\s+ok$', line)
if match:
username, scheduled_time = match.group(1), match.group(2)
time_map[username] = scheduled_time
@@ -112,11 +112,12 @@ def get_combined_tasks():
"""
try:
local_times = parse_time_config()
print(f"📝 [文件解析]local_times: {local_times}")
if not local_times:
return {}
# 调用你的 API 接口获取账号信息
accounts = apis.get_accounts_from_server("68c0dbfdb7cbcd616e7c5ab5")
accounts = apis.get_accounts_from_server("68ef0e02b0138d25e2ac9918")
if not accounts:
return {}
@@ -135,13 +136,6 @@ def get_combined_tasks():
# full_time = f"{today} {local_times[user]}"
# 确保时间是两位数格式
raw_time = local_times[user]
# 将时间格式化为两位数9:52:20 -> 09:52:20
# if ':' in raw_time:
# parts = raw_time.split(':')
# if len(parts[0]) == 1:
# raw_time = f"0{raw_time}" # 补齐前导零
# full_time = f"{today} {raw_time}"
full_time = normalize_datetime(raw_time)
task_list[address] = {"time": full_time, "user": user}
@@ -194,7 +188,7 @@ def run_task(address, target_time, username):
return f"{username} 执行异常: {str(e)}"
def monitor_center():
"""调度中心:每半小时检查一次"""
"""调度中心:每10分钟检查一次"""
while True:
now_str = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(f"\n{'='*20} 周期性检查开始 ({now_str}) {'='*20}")

80
test.py Normal file
View File

@@ -0,0 +1,80 @@
from globals.driver_utils import init_appium_driver
from selenium.webdriver.support.ui import WebDriverWait
import permissions # 导入权限处理模块
import logging
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import main # 导入权限处理模块
def get_breakpoint_list_from_page():
driver, wait = init_appium_driver("77a6ac91")
"""
从当前页面获取断点列表的断点名称
Returns:
list: 断点名称列表
"""
breakpoint_list = []
try:
# 优化点1: 等待列表容器出现,确保页面已加载
wait.until(EC.presence_of_element_located((By.ID, "com.bjjw.cjgc:id/upload_result_list")))
# 优化点2: 等待至少一个itemContainer出现确保列表有数据
wait.until(EC.presence_of_element_located((By.ID, "com.bjjw.cjgc:id/itemContainer")))
# 方法1: 直接获取所有标题元素(最直接高效)
title_elements = driver.find_elements(By.ID, "com.bjjw.cjgc:id/title")
if title_elements:
for element in title_elements:
breakpoint_name = element.text
if breakpoint_name and breakpoint_name.strip(): # 增加空值过滤
breakpoint_list.append(breakpoint_name.strip())
print(f"✅ 直接通过title获取到 {len(breakpoint_list)} 个断点")
# 方法2: 如果方法1失败通过itemContainer获取备选方案
if not breakpoint_list:
print("⚠️ 直接获取title失败尝试通过itemContainer获取...")
item_containers = driver.find_elements(By.ID, "com.bjjw.cjgc:id/itemContainer")
for container in item_containers:
try:
title_element = container.find_element(By.ID, "com.bjjw.cjgc:id/title")
breakpoint_name = title_element.text
if breakpoint_name and breakpoint_name.strip():
breakpoint_list.append(breakpoint_name.strip())
except:
continue
print(f"✅ 通过itemContainer获取到 {len(breakpoint_list)} 个断点")
# 打印结果
if breakpoint_list:
print(f"📋 断点列表:")
for i, name in enumerate(breakpoint_list, 1):
print(f" {i}. {name}")
else:
print("⚠️ 未获取到任何断点,列表可能为空")
return breakpoint_list
except Exception as e:
print(f"❌ 获取断点列表失败: {str(e)}")
# 可以在这里打印更多调试信息
try:
page_source = driver.page_source
print("📄 当前页面源码已保存,可用于调试")
# 可以将page_source保存到文件方便分析
with open("debug_page_source.xml", "w", encoding="utf-8") as f:
f.write(page_source)
except:
pass
return breakpoint_list
if __name__ == "__main__":
if permissions.grant_appium_permissions("77a6ac91"):
logging.info(f"设备 77a6ac91 权限授予成功")
else:
logging.warning(f"设备 77a6ac91 权限授予失败")
# 确保Appium服务器正在运行
main.ensure_appium_server_running(4723)
get_breakpoint_list_from_page()

View File

@@ -1 +1,6 @@
SJSG-7标-跨沿江高速特大桥-85#-89#-墩身-平原
YKYGZQ-7-长房子特大桥0-3号墩-DK626+571-DK626+675-01-平原
YKYGZQ-7-长房子泄水洞隧道大里程第四段-DK628+639-DK628+791-01-平原
YKYGZQ-7-长房子泄水洞隧道大里程第二段-DK627+900-DK628+236-01-平原
YKYGZQ-7-长房子泄水洞隧道大里程第一段-DK627+276-DK627+668-01-平原
YKYGZQ-7-长房子泄水洞隧道大里程第三段-DK628+236-628+524-01-平原
YKYGZQ-7-长房子泄水洞隧道大里程第五段-DK628+919-DK629+191-01-平原

38
创建无线连接.spec Normal file
View File

@@ -0,0 +1,38 @@
# -*- mode: python ; coding: utf-8 -*-
a = Analysis(
['create_a_link.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
[],
name='创建无线连接',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)

View File

@@ -1,30 +1,25 @@
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(
['scheduler.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=['main', 'globals.apis', 'globals.ids', 'globals.global_variable', 'permissions', 'globals.driver_utils', 'page_objects.login_page', 'page_objects.download_tabbar_page', 'page_objects.screenshot_page', 'page_objects.upload_config_page', 'page_objects.more_download_page'],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='沉降观测自动上传',