osn-selenium 0.0.0__py3-none-any.whl → 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (628) hide show
  1. osn_selenium/_functions.py +84 -0
  2. osn_selenium/_typehints.py +19 -0
  3. osn_selenium/abstract/executors/cdp/__init__.py +435 -0
  4. osn_selenium/abstract/executors/cdp/accessibility.py +62 -0
  5. osn_selenium/abstract/executors/cdp/animation.py +47 -0
  6. osn_selenium/abstract/executors/cdp/audits.py +39 -0
  7. osn_selenium/abstract/executors/cdp/autofill.py +34 -0
  8. osn_selenium/abstract/executors/cdp/background_service.py +22 -0
  9. osn_selenium/abstract/executors/cdp/bluetooth_emulation.py +95 -0
  10. osn_selenium/abstract/executors/cdp/browser.py +122 -0
  11. osn_selenium/abstract/executors/cdp/cache_storage.py +49 -0
  12. osn_selenium/abstract/executors/cdp/cast.py +31 -0
  13. osn_selenium/abstract/executors/cdp/console.py +18 -0
  14. osn_selenium/abstract/executors/cdp/css.py +197 -0
  15. osn_selenium/abstract/executors/cdp/debugger.py +198 -0
  16. osn_selenium/abstract/executors/cdp/device_access.py +22 -0
  17. osn_selenium/abstract/executors/cdp/device_orientation.py +14 -0
  18. osn_selenium/abstract/executors/cdp/dom.py +305 -0
  19. osn_selenium/abstract/executors/cdp/dom_debugger.py +57 -0
  20. osn_selenium/abstract/executors/cdp/dom_snapshot.py +42 -0
  21. osn_selenium/abstract/executors/cdp/dom_storage.py +31 -0
  22. osn_selenium/abstract/executors/cdp/emulation.py +259 -0
  23. osn_selenium/abstract/executors/cdp/event_breakpoints.py +18 -0
  24. osn_selenium/abstract/executors/cdp/extensions.py +31 -0
  25. osn_selenium/abstract/executors/cdp/fed_cm.py +35 -0
  26. osn_selenium/abstract/executors/cdp/fetch.py +76 -0
  27. osn_selenium/abstract/executors/cdp/file_system.py +11 -0
  28. osn_selenium/abstract/executors/cdp/headless_experimental.py +30 -0
  29. osn_selenium/abstract/executors/cdp/heap_profiler.py +73 -0
  30. osn_selenium/abstract/executors/cdp/indexed_db.py +99 -0
  31. osn_selenium/abstract/executors/cdp/input.py +158 -0
  32. osn_selenium/abstract/executors/cdp/inspector.py +14 -0
  33. osn_selenium/abstract/executors/cdp/io.py +24 -0
  34. osn_selenium/abstract/executors/cdp/layer_tree.py +61 -0
  35. osn_selenium/abstract/executors/cdp/log.py +27 -0
  36. osn_selenium/abstract/executors/cdp/media.py +14 -0
  37. osn_selenium/abstract/executors/cdp/memory.py +61 -0
  38. osn_selenium/abstract/executors/cdp/network.py +252 -0
  39. osn_selenium/abstract/executors/cdp/overlay.py +166 -0
  40. osn_selenium/abstract/executors/cdp/page.py +347 -0
  41. osn_selenium/abstract/executors/cdp/performance.py +28 -0
  42. osn_selenium/abstract/executors/cdp/performance_timeline.py +11 -0
  43. osn_selenium/abstract/executors/cdp/preload.py +14 -0
  44. osn_selenium/abstract/executors/cdp/profiler.py +54 -0
  45. osn_selenium/abstract/executors/cdp/pwa.py +46 -0
  46. osn_selenium/abstract/executors/cdp/runtime.py +176 -0
  47. osn_selenium/abstract/executors/cdp/schema.py +11 -0
  48. osn_selenium/abstract/executors/cdp/security.py +26 -0
  49. osn_selenium/abstract/executors/cdp/service_worker.py +54 -0
  50. osn_selenium/abstract/executors/cdp/storage.py +175 -0
  51. osn_selenium/abstract/executors/cdp/system_info.py +24 -0
  52. osn_selenium/abstract/executors/cdp/target.py +125 -0
  53. osn_selenium/abstract/executors/cdp/tethering.py +14 -0
  54. osn_selenium/abstract/executors/cdp/tracing.py +48 -0
  55. osn_selenium/abstract/executors/cdp/web_audio.py +19 -0
  56. osn_selenium/abstract/executors/cdp/web_authn.py +76 -0
  57. osn_selenium/abstract/executors/javascript.py +203 -0
  58. osn_selenium/abstract/instances/action_chains/__init__.py +12 -0
  59. osn_selenium/abstract/instances/action_chains/base.py +25 -0
  60. osn_selenium/abstract/instances/action_chains/click.py +93 -0
  61. osn_selenium/abstract/instances/action_chains/drag_and_drop.py +46 -0
  62. osn_selenium/abstract/instances/action_chains/hm_keyboard.py +44 -0
  63. osn_selenium/abstract/instances/action_chains/hm_move.py +104 -0
  64. osn_selenium/abstract/instances/action_chains/hm_scroll.py +75 -0
  65. osn_selenium/abstract/instances/action_chains/keyboard.py +79 -0
  66. osn_selenium/abstract/instances/action_chains/move.py +60 -0
  67. osn_selenium/abstract/instances/action_chains/scroll.py +61 -0
  68. osn_selenium/abstract/instances/action_chains/utils.py +44 -0
  69. osn_selenium/abstract/instances/alert.py +67 -0
  70. osn_selenium/abstract/instances/browser.py +76 -0
  71. osn_selenium/abstract/instances/browsing_context.py +310 -0
  72. osn_selenium/abstract/instances/dialog.py +107 -0
  73. osn_selenium/abstract/instances/fedcm.py +133 -0
  74. osn_selenium/abstract/instances/mobile.py +79 -0
  75. osn_selenium/abstract/instances/network.py +100 -0
  76. osn_selenium/abstract/instances/permissions.py +52 -0
  77. osn_selenium/abstract/instances/script.py +109 -0
  78. osn_selenium/abstract/instances/shadow_root.py +81 -0
  79. osn_selenium/abstract/instances/storage.py +98 -0
  80. osn_selenium/abstract/instances/switch_to.py +104 -0
  81. osn_selenium/abstract/instances/web_driver_wait.py +57 -0
  82. osn_selenium/abstract/instances/web_element.py +395 -0
  83. osn_selenium/abstract/instances/web_extension.py +70 -0
  84. osn_selenium/abstract/webdriver/blink/__init__.py +18 -0
  85. osn_selenium/abstract/webdriver/blink/base.py +80 -0
  86. osn_selenium/abstract/webdriver/blink/casting.py +82 -0
  87. osn_selenium/abstract/webdriver/blink/features.py +51 -0
  88. osn_selenium/abstract/webdriver/blink/lifecycle.py +76 -0
  89. osn_selenium/abstract/webdriver/blink/logging.py +40 -0
  90. osn_selenium/abstract/webdriver/blink/network.py +45 -0
  91. osn_selenium/abstract/webdriver/blink/settings.py +68 -0
  92. osn_selenium/abstract/webdriver/chrome/__init__.py +18 -0
  93. osn_selenium/abstract/webdriver/chrome/base.py +36 -0
  94. osn_selenium/abstract/webdriver/chrome/lifecycle.py +92 -0
  95. osn_selenium/abstract/webdriver/chrome/settings.py +110 -0
  96. osn_selenium/abstract/webdriver/core/__init__.py +16 -0
  97. osn_selenium/abstract/webdriver/core/actions.py +58 -0
  98. osn_selenium/abstract/webdriver/core/auth.py +145 -0
  99. osn_selenium/abstract/webdriver/core/base.py +298 -0
  100. osn_selenium/abstract/webdriver/core/capture.py +84 -0
  101. osn_selenium/abstract/webdriver/core/components.py +82 -0
  102. osn_selenium/abstract/webdriver/core/devtools.py +69 -0
  103. osn_selenium/abstract/webdriver/core/element.py +55 -0
  104. osn_selenium/abstract/webdriver/core/file.py +82 -0
  105. osn_selenium/abstract/webdriver/core/lifecycle.py +103 -0
  106. osn_selenium/abstract/webdriver/core/navigation.py +65 -0
  107. osn_selenium/abstract/webdriver/core/script.py +88 -0
  108. osn_selenium/abstract/webdriver/core/settings.py +43 -0
  109. osn_selenium/abstract/webdriver/core/storage.py +81 -0
  110. osn_selenium/abstract/webdriver/core/timeouts.py +101 -0
  111. osn_selenium/abstract/webdriver/core/window.py +237 -0
  112. osn_selenium/abstract/webdriver/edge/__init__.py +18 -0
  113. osn_selenium/abstract/webdriver/edge/base.py +36 -0
  114. osn_selenium/abstract/webdriver/edge/lifecycle.py +92 -0
  115. osn_selenium/abstract/webdriver/edge/settings.py +110 -0
  116. osn_selenium/abstract/webdriver/yandex/__init__.py +18 -0
  117. osn_selenium/abstract/webdriver/yandex/base.py +18 -0
  118. osn_selenium/abstract/webdriver/yandex/lifecycle.py +92 -0
  119. osn_selenium/abstract/webdriver/yandex/settings.py +110 -0
  120. osn_selenium/base_mixin.py +122 -0
  121. osn_selenium/browsers_handler/__init__.py +47 -17
  122. osn_selenium/browsers_handler/_linux.py +226 -0
  123. osn_selenium/browsers_handler/_windows.py +21 -14
  124. osn_selenium/browsers_handler/{types.py → models.py} +5 -2
  125. osn_selenium/dev_tools/_decorators.py +140 -0
  126. osn_selenium/dev_tools/_exception_helpers.py +116 -0
  127. osn_selenium/dev_tools/_functions.py +174 -0
  128. osn_selenium/dev_tools/_system_utils.py +35 -0
  129. osn_selenium/dev_tools/_typehints.py +32 -0
  130. osn_selenium/dev_tools/_validators.py +227 -0
  131. osn_selenium/dev_tools/_wrappers.py +95 -0
  132. osn_selenium/dev_tools/domains/__init__.py +7 -40
  133. osn_selenium/dev_tools/domains/abstract.py +98 -254
  134. osn_selenium/dev_tools/domains/fetch.py +229 -906
  135. osn_selenium/dev_tools/domains_default/fetch.py +40 -28
  136. osn_selenium/dev_tools/filters.py +40 -0
  137. osn_selenium/dev_tools/logger/main.py +226 -0
  138. osn_selenium/dev_tools/logger/models.py +232 -0
  139. osn_selenium/dev_tools/logger/target.py +258 -0
  140. osn_selenium/dev_tools/manager/__init__.py +16 -0
  141. osn_selenium/dev_tools/manager/base.py +147 -0
  142. osn_selenium/dev_tools/manager/lifecycle.py +236 -0
  143. osn_selenium/dev_tools/manager/logging.py +153 -0
  144. osn_selenium/dev_tools/manager/settings.py +89 -0
  145. osn_selenium/dev_tools/manager/targets.py +175 -0
  146. osn_selenium/dev_tools/models.py +49 -0
  147. osn_selenium/dev_tools/settings.py +135 -0
  148. osn_selenium/dev_tools/target/__init__.py +16 -0
  149. osn_selenium/dev_tools/target/base.py +438 -0
  150. osn_selenium/dev_tools/target/detach.py +54 -0
  151. osn_selenium/dev_tools/target/discovery.py +112 -0
  152. osn_selenium/dev_tools/target/events.py +120 -0
  153. osn_selenium/dev_tools/target/fingerprint.py +126 -0
  154. osn_selenium/dev_tools/target/lifecycle.py +179 -0
  155. osn_selenium/dev_tools/target/logging.py +155 -0
  156. osn_selenium/exceptions/__init__.py +1 -0
  157. osn_selenium/exceptions/base.py +9 -0
  158. osn_selenium/exceptions/configuration.py +84 -0
  159. osn_selenium/exceptions/devtools.py +114 -0
  160. osn_selenium/exceptions/flags.py +45 -0
  161. osn_selenium/exceptions/instance.py +92 -0
  162. osn_selenium/exceptions/javascript.py +31 -0
  163. osn_selenium/exceptions/logic.py +31 -0
  164. osn_selenium/exceptions/path.py +77 -0
  165. osn_selenium/exceptions/platform.py +33 -0
  166. osn_selenium/exceptions/protocol.py +86 -0
  167. osn_selenium/exceptions/webdriver.py +44 -0
  168. osn_selenium/exceptions/window.py +63 -0
  169. osn_selenium/executors/__init__.py +1 -0
  170. osn_selenium/executors/sync/__init__.py +1 -0
  171. osn_selenium/executors/sync/cdp/__init__.py +550 -0
  172. osn_selenium/executors/sync/cdp/accessibility.py +74 -0
  173. osn_selenium/executors/sync/cdp/animation.py +50 -0
  174. osn_selenium/executors/sync/cdp/audits.py +48 -0
  175. osn_selenium/executors/sync/cdp/autofill.py +39 -0
  176. osn_selenium/executors/sync/cdp/background_service.py +30 -0
  177. osn_selenium/executors/sync/cdp/bluetooth_emulation.py +101 -0
  178. osn_selenium/executors/sync/cdp/browser.py +131 -0
  179. osn_selenium/executors/sync/cdp/cache_storage.py +66 -0
  180. osn_selenium/executors/sync/cdp/cast.py +38 -0
  181. osn_selenium/executors/sync/cdp/console.py +24 -0
  182. osn_selenium/executors/sync/cdp/css.py +187 -0
  183. osn_selenium/executors/sync/cdp/debugger.py +206 -0
  184. osn_selenium/executors/sync/cdp/device_access.py +27 -0
  185. osn_selenium/executors/sync/cdp/device_orientation.py +24 -0
  186. osn_selenium/executors/sync/cdp/dom.py +310 -0
  187. osn_selenium/executors/sync/cdp/dom_debugger.py +56 -0
  188. osn_selenium/executors/sync/cdp/dom_snapshot.py +58 -0
  189. osn_selenium/executors/sync/cdp/dom_storage.py +38 -0
  190. osn_selenium/executors/sync/cdp/emulation.py +270 -0
  191. osn_selenium/executors/sync/cdp/event_breakpoints.py +27 -0
  192. osn_selenium/executors/sync/cdp/extensions.py +39 -0
  193. osn_selenium/executors/sync/cdp/fed_cm.py +45 -0
  194. osn_selenium/executors/sync/cdp/fetch.py +96 -0
  195. osn_selenium/executors/sync/cdp/file_system.py +18 -0
  196. osn_selenium/executors/sync/cdp/headless_experimental.py +44 -0
  197. osn_selenium/executors/sync/cdp/heap_profiler.py +89 -0
  198. osn_selenium/executors/sync/cdp/indexed_db.py +142 -0
  199. osn_selenium/executors/sync/cdp/input.py +233 -0
  200. osn_selenium/executors/sync/cdp/inspector.py +21 -0
  201. osn_selenium/executors/sync/cdp/io.py +33 -0
  202. osn_selenium/executors/sync/cdp/layer_tree.py +71 -0
  203. osn_selenium/executors/sync/cdp/log.py +35 -0
  204. osn_selenium/executors/sync/cdp/media.py +21 -0
  205. osn_selenium/executors/sync/cdp/memory.py +62 -0
  206. osn_selenium/executors/sync/cdp/network.py +287 -0
  207. osn_selenium/executors/sync/cdp/overlay.py +174 -0
  208. osn_selenium/executors/sync/cdp/page.py +365 -0
  209. osn_selenium/executors/sync/cdp/performance.py +33 -0
  210. osn_selenium/executors/sync/cdp/performance_timeline.py +26 -0
  211. osn_selenium/executors/sync/cdp/preload.py +21 -0
  212. osn_selenium/executors/sync/cdp/profiler.py +58 -0
  213. osn_selenium/executors/sync/cdp/pwa.py +55 -0
  214. osn_selenium/executors/sync/cdp/runtime.py +221 -0
  215. osn_selenium/executors/sync/cdp/schema.py +23 -0
  216. osn_selenium/executors/sync/cdp/security.py +30 -0
  217. osn_selenium/executors/sync/cdp/service_worker.py +56 -0
  218. osn_selenium/executors/sync/cdp/storage.py +151 -0
  219. osn_selenium/executors/sync/cdp/system_info.py +30 -0
  220. osn_selenium/executors/sync/cdp/target.py +147 -0
  221. osn_selenium/executors/sync/cdp/tethering.py +21 -0
  222. osn_selenium/executors/sync/cdp/tracing.py +62 -0
  223. osn_selenium/executors/sync/cdp/web_audio.py +24 -0
  224. osn_selenium/executors/sync/cdp/web_authn.py +82 -0
  225. osn_selenium/executors/sync/javascript.py +79 -0
  226. osn_selenium/executors/trio_threads/__init__.py +1 -0
  227. osn_selenium/executors/trio_threads/cdp/__init__.py +771 -0
  228. osn_selenium/executors/trio_threads/cdp/accessibility.py +87 -0
  229. osn_selenium/executors/trio_threads/cdp/animation.py +63 -0
  230. osn_selenium/executors/trio_threads/cdp/audits.py +57 -0
  231. osn_selenium/executors/trio_threads/cdp/autofill.py +52 -0
  232. osn_selenium/executors/trio_threads/cdp/background_service.py +40 -0
  233. osn_selenium/executors/trio_threads/cdp/bluetooth_emulation.py +111 -0
  234. osn_selenium/executors/trio_threads/cdp/browser.py +140 -0
  235. osn_selenium/executors/trio_threads/cdp/cache_storage.py +79 -0
  236. osn_selenium/executors/trio_threads/cdp/cast.py +47 -0
  237. osn_selenium/executors/trio_threads/cdp/console.py +33 -0
  238. osn_selenium/executors/trio_threads/cdp/css.py +196 -0
  239. osn_selenium/executors/trio_threads/cdp/debugger.py +219 -0
  240. osn_selenium/executors/trio_threads/cdp/device_access.py +40 -0
  241. osn_selenium/executors/trio_threads/cdp/device_orientation.py +34 -0
  242. osn_selenium/executors/trio_threads/cdp/dom.py +319 -0
  243. osn_selenium/executors/trio_threads/cdp/dom_debugger.py +69 -0
  244. osn_selenium/executors/trio_threads/cdp/dom_snapshot.py +71 -0
  245. osn_selenium/executors/trio_threads/cdp/dom_storage.py +51 -0
  246. osn_selenium/executors/trio_threads/cdp/emulation.py +283 -0
  247. osn_selenium/executors/trio_threads/cdp/event_breakpoints.py +37 -0
  248. osn_selenium/executors/trio_threads/cdp/extensions.py +52 -0
  249. osn_selenium/executors/trio_threads/cdp/fed_cm.py +54 -0
  250. osn_selenium/executors/trio_threads/cdp/fetch.py +105 -0
  251. osn_selenium/executors/trio_threads/cdp/file_system.py +31 -0
  252. osn_selenium/executors/trio_threads/cdp/headless_experimental.py +54 -0
  253. osn_selenium/executors/trio_threads/cdp/heap_profiler.py +102 -0
  254. osn_selenium/executors/trio_threads/cdp/indexed_db.py +155 -0
  255. osn_selenium/executors/trio_threads/cdp/input.py +242 -0
  256. osn_selenium/executors/trio_threads/cdp/inspector.py +34 -0
  257. osn_selenium/executors/trio_threads/cdp/io.py +42 -0
  258. osn_selenium/executors/trio_threads/cdp/layer_tree.py +84 -0
  259. osn_selenium/executors/trio_threads/cdp/log.py +44 -0
  260. osn_selenium/executors/trio_threads/cdp/media.py +30 -0
  261. osn_selenium/executors/trio_threads/cdp/memory.py +71 -0
  262. osn_selenium/executors/trio_threads/cdp/network.py +296 -0
  263. osn_selenium/executors/trio_threads/cdp/overlay.py +183 -0
  264. osn_selenium/executors/trio_threads/cdp/page.py +374 -0
  265. osn_selenium/executors/trio_threads/cdp/performance.py +46 -0
  266. osn_selenium/executors/trio_threads/cdp/performance_timeline.py +36 -0
  267. osn_selenium/executors/trio_threads/cdp/preload.py +30 -0
  268. osn_selenium/executors/trio_threads/cdp/profiler.py +71 -0
  269. osn_selenium/executors/trio_threads/cdp/pwa.py +64 -0
  270. osn_selenium/executors/trio_threads/cdp/runtime.py +230 -0
  271. osn_selenium/executors/trio_threads/cdp/schema.py +32 -0
  272. osn_selenium/executors/trio_threads/cdp/security.py +43 -0
  273. osn_selenium/executors/trio_threads/cdp/service_worker.py +69 -0
  274. osn_selenium/executors/trio_threads/cdp/storage.py +162 -0
  275. osn_selenium/executors/trio_threads/cdp/system_info.py +43 -0
  276. osn_selenium/executors/trio_threads/cdp/target.py +156 -0
  277. osn_selenium/executors/trio_threads/cdp/tethering.py +34 -0
  278. osn_selenium/executors/trio_threads/cdp/tracing.py +71 -0
  279. osn_selenium/executors/trio_threads/cdp/web_audio.py +37 -0
  280. osn_selenium/executors/trio_threads/cdp/web_authn.py +95 -0
  281. osn_selenium/executors/trio_threads/javascript.py +90 -0
  282. osn_selenium/executors/unified/__init__.py +1 -0
  283. osn_selenium/executors/unified/cdp/__init__.py +1 -0
  284. osn_selenium/executors/unified/cdp/accessibility.py +81 -0
  285. osn_selenium/executors/unified/cdp/animation.py +50 -0
  286. osn_selenium/executors/unified/cdp/audits.py +45 -0
  287. osn_selenium/executors/unified/cdp/autofill.py +41 -0
  288. osn_selenium/executors/unified/cdp/background_service.py +24 -0
  289. osn_selenium/executors/unified/cdp/bluetooth_emulation.py +132 -0
  290. osn_selenium/executors/unified/cdp/browser.py +143 -0
  291. osn_selenium/executors/unified/cdp/cache_storage.py +69 -0
  292. osn_selenium/executors/unified/cdp/cast.py +32 -0
  293. osn_selenium/executors/unified/cdp/console.py +18 -0
  294. osn_selenium/executors/unified/cdp/css.py +237 -0
  295. osn_selenium/executors/unified/cdp/debugger.py +243 -0
  296. osn_selenium/executors/unified/cdp/device_access.py +21 -0
  297. osn_selenium/executors/unified/cdp/device_orientation.py +18 -0
  298. osn_selenium/executors/unified/cdp/dom.py +380 -0
  299. osn_selenium/executors/unified/cdp/dom_debugger.py +65 -0
  300. osn_selenium/executors/unified/cdp/dom_snapshot.py +58 -0
  301. osn_selenium/executors/unified/cdp/dom_storage.py +38 -0
  302. osn_selenium/executors/unified/cdp/emulation.py +312 -0
  303. osn_selenium/executors/unified/cdp/event_breakpoints.py +24 -0
  304. osn_selenium/executors/unified/cdp/extensions.py +45 -0
  305. osn_selenium/executors/unified/cdp/fed_cm.py +51 -0
  306. osn_selenium/executors/unified/cdp/fetch.py +111 -0
  307. osn_selenium/executors/unified/cdp/file_system.py +15 -0
  308. osn_selenium/executors/unified/cdp/headless_experimental.py +38 -0
  309. osn_selenium/executors/unified/cdp/heap_profiler.py +101 -0
  310. osn_selenium/executors/unified/cdp/indexed_db.py +157 -0
  311. osn_selenium/executors/unified/cdp/input.py +254 -0
  312. osn_selenium/executors/unified/cdp/inspector.py +15 -0
  313. osn_selenium/executors/unified/cdp/io.py +29 -0
  314. osn_selenium/executors/unified/cdp/layer_tree.py +71 -0
  315. osn_selenium/executors/unified/cdp/log.py +29 -0
  316. osn_selenium/executors/unified/cdp/media.py +15 -0
  317. osn_selenium/executors/unified/cdp/memory.py +59 -0
  318. osn_selenium/executors/unified/cdp/network.py +323 -0
  319. osn_selenium/executors/unified/cdp/overlay.py +209 -0
  320. osn_selenium/executors/unified/cdp/page.py +410 -0
  321. osn_selenium/executors/unified/cdp/performance.py +27 -0
  322. osn_selenium/executors/unified/cdp/performance_timeline.py +17 -0
  323. osn_selenium/executors/unified/cdp/preload.py +15 -0
  324. osn_selenium/executors/unified/cdp/profiler.py +55 -0
  325. osn_selenium/executors/unified/cdp/pwa.py +55 -0
  326. osn_selenium/executors/unified/cdp/runtime.py +245 -0
  327. osn_selenium/executors/unified/cdp/schema.py +17 -0
  328. osn_selenium/executors/unified/cdp/security.py +27 -0
  329. osn_selenium/executors/unified/cdp/service_worker.py +62 -0
  330. osn_selenium/executors/unified/cdp/storage.py +178 -0
  331. osn_selenium/executors/unified/cdp/system_info.py +24 -0
  332. osn_selenium/executors/unified/cdp/target.py +165 -0
  333. osn_selenium/executors/unified/cdp/tethering.py +15 -0
  334. osn_selenium/executors/unified/cdp/tracing.py +62 -0
  335. osn_selenium/executors/unified/cdp/web_audio.py +18 -0
  336. osn_selenium/executors/unified/cdp/web_authn.py +103 -0
  337. osn_selenium/executors/unified/javascript.py +108 -0
  338. osn_selenium/flags/__init__.py +1 -0
  339. osn_selenium/flags/_functions.py +45 -0
  340. osn_selenium/flags/_typehints.py +34 -0
  341. osn_selenium/flags/_validators.py +101 -0
  342. osn_selenium/{webdrivers/BaseDriver/flags.py → flags/base.py} +165 -243
  343. osn_selenium/{webdrivers/Blink/flags.py → flags/blink.py} +133 -371
  344. osn_selenium/flags/chrome.py +259 -0
  345. osn_selenium/flags/edge.py +259 -0
  346. osn_selenium/flags/models/__init__.py +1 -0
  347. osn_selenium/flags/models/base.py +130 -0
  348. osn_selenium/flags/models/blink.py +263 -0
  349. osn_selenium/{webdrivers/Chrome/flags.py → flags/models/chrome.py} +25 -75
  350. osn_selenium/{webdrivers/Edge/flags.py → flags/models/edge.py} +25 -75
  351. osn_selenium/flags/models/values.py +44 -0
  352. osn_selenium/{webdrivers/Yandex/flags.py → flags/models/yandex.py} +26 -76
  353. osn_selenium/flags/yandex.py +259 -0
  354. osn_selenium/instances/__init__.py +1 -0
  355. osn_selenium/instances/_functions.py +242 -0
  356. osn_selenium/instances/_typehints.py +148 -0
  357. osn_selenium/instances/_utils.py +143 -0
  358. osn_selenium/instances/convert.py +287 -0
  359. osn_selenium/instances/protocols.py +105 -0
  360. osn_selenium/instances/sync/__init__.py +1 -0
  361. osn_selenium/instances/sync/action_chains/__init__.py +26 -0
  362. osn_selenium/instances/sync/action_chains/base.py +74 -0
  363. osn_selenium/instances/sync/action_chains/click.py +61 -0
  364. osn_selenium/instances/sync/action_chains/drag_and_drop.py +45 -0
  365. osn_selenium/instances/sync/action_chains/hm_keyboard.py +37 -0
  366. osn_selenium/instances/sync/action_chains/hm_move.py +81 -0
  367. osn_selenium/instances/sync/action_chains/hm_scroll.py +60 -0
  368. osn_selenium/instances/sync/action_chains/keyboard.py +55 -0
  369. osn_selenium/instances/sync/action_chains/move.py +46 -0
  370. osn_selenium/instances/sync/action_chains/scroll.py +43 -0
  371. osn_selenium/instances/sync/action_chains/utils.py +30 -0
  372. osn_selenium/instances/sync/alert.py +69 -0
  373. osn_selenium/instances/sync/browser.py +72 -0
  374. osn_selenium/instances/sync/browsing_context.py +193 -0
  375. osn_selenium/instances/sync/dialog.py +81 -0
  376. osn_selenium/instances/sync/fedcm.py +92 -0
  377. osn_selenium/instances/sync/mobile.py +75 -0
  378. osn_selenium/instances/sync/network.py +90 -0
  379. osn_selenium/instances/sync/permissions.py +80 -0
  380. osn_selenium/instances/sync/script.py +77 -0
  381. osn_selenium/instances/sync/shadow_root.py +91 -0
  382. osn_selenium/instances/sync/storage.py +91 -0
  383. osn_selenium/instances/sync/switch_to.py +92 -0
  384. osn_selenium/instances/sync/web_driver_wait.py +83 -0
  385. osn_selenium/instances/sync/web_element.py +179 -0
  386. osn_selenium/instances/sync/web_extension.py +77 -0
  387. osn_selenium/instances/trio_threads/__init__.py +1 -0
  388. osn_selenium/instances/trio_threads/action_chains/__init__.py +26 -0
  389. osn_selenium/instances/trio_threads/action_chains/base.py +88 -0
  390. osn_selenium/instances/trio_threads/action_chains/click.py +71 -0
  391. osn_selenium/instances/trio_threads/action_chains/drag_and_drop.py +49 -0
  392. osn_selenium/instances/trio_threads/action_chains/hm_keyboard.py +41 -0
  393. osn_selenium/instances/trio_threads/action_chains/hm_move.py +91 -0
  394. osn_selenium/instances/trio_threads/action_chains/hm_scroll.py +66 -0
  395. osn_selenium/instances/trio_threads/action_chains/keyboard.py +63 -0
  396. osn_selenium/instances/trio_threads/action_chains/move.py +52 -0
  397. osn_selenium/instances/trio_threads/action_chains/scroll.py +49 -0
  398. osn_selenium/instances/trio_threads/action_chains/utils.py +32 -0
  399. osn_selenium/instances/trio_threads/alert.py +87 -0
  400. osn_selenium/instances/trio_threads/browser.py +90 -0
  401. osn_selenium/instances/trio_threads/browsing_context.py +216 -0
  402. osn_selenium/instances/trio_threads/dialog.py +99 -0
  403. osn_selenium/instances/trio_threads/fedcm.py +110 -0
  404. osn_selenium/instances/trio_threads/mobile.py +93 -0
  405. osn_selenium/instances/trio_threads/network.py +108 -0
  406. osn_selenium/instances/trio_threads/permissions.py +102 -0
  407. osn_selenium/instances/trio_threads/script.py +95 -0
  408. osn_selenium/instances/trio_threads/shadow_root.py +123 -0
  409. osn_selenium/instances/trio_threads/storage.py +109 -0
  410. osn_selenium/instances/trio_threads/switch_to.py +124 -0
  411. osn_selenium/instances/trio_threads/web_driver_wait.py +101 -0
  412. osn_selenium/instances/trio_threads/web_element.py +217 -0
  413. osn_selenium/instances/trio_threads/web_extension.py +99 -0
  414. osn_selenium/instances/unified/__init__.py +1 -0
  415. osn_selenium/instances/unified/action_chains/__init__.py +22 -0
  416. osn_selenium/instances/unified/action_chains/base.py +31 -0
  417. osn_selenium/instances/unified/action_chains/click.py +27 -0
  418. osn_selenium/instances/unified/action_chains/drag_and_drop.py +24 -0
  419. osn_selenium/instances/unified/action_chains/hm_keyboard.py +30 -0
  420. osn_selenium/instances/unified/action_chains/hm_move.py +66 -0
  421. osn_selenium/instances/unified/action_chains/hm_scroll.py +79 -0
  422. osn_selenium/instances/unified/action_chains/keyboard.py +24 -0
  423. osn_selenium/instances/unified/action_chains/move.py +24 -0
  424. osn_selenium/instances/unified/action_chains/scroll.py +21 -0
  425. osn_selenium/instances/unified/action_chains/utils.py +19 -0
  426. osn_selenium/instances/unified/alert.py +29 -0
  427. osn_selenium/instances/unified/browser.py +33 -0
  428. osn_selenium/instances/unified/browsing_context.py +151 -0
  429. osn_selenium/instances/unified/dialog.py +42 -0
  430. osn_selenium/instances/unified/fedcm.py +48 -0
  431. osn_selenium/instances/unified/mobile.py +36 -0
  432. osn_selenium/instances/unified/network.py +50 -0
  433. osn_selenium/instances/unified/permissions.py +43 -0
  434. osn_selenium/instances/unified/script.py +38 -0
  435. osn_selenium/instances/unified/shadow_root.py +46 -0
  436. osn_selenium/instances/unified/storage.py +48 -0
  437. osn_selenium/instances/unified/switch_to.py +49 -0
  438. osn_selenium/instances/unified/web_driver_wait.py +45 -0
  439. osn_selenium/instances/unified/web_element.py +145 -0
  440. osn_selenium/instances/unified/web_extension.py +38 -0
  441. osn_selenium/javascript/__init__.py +1 -0
  442. osn_selenium/javascript/_functions.py +63 -0
  443. osn_selenium/javascript/fingerprint/__init__.py +120 -0
  444. osn_selenium/javascript/fingerprint/_decorators.py +41 -0
  445. osn_selenium/javascript/fingerprint/_detect/__init__.py +1 -0
  446. osn_selenium/javascript/fingerprint/_detect/functions.py +253 -0
  447. osn_selenium/javascript/fingerprint/_detect/templates.py +128 -0
  448. osn_selenium/javascript/fingerprint/_functions.py +35 -0
  449. osn_selenium/javascript/fingerprint/_typehints.py +27 -0
  450. osn_selenium/javascript/fingerprint/registry/__init__.py +7 -0
  451. osn_selenium/javascript/fingerprint/registry/_core_functions.py +236 -0
  452. osn_selenium/javascript/fingerprint/registry/_functions.py +923 -0
  453. osn_selenium/javascript/fingerprint/registry/_typehints.py +6 -0
  454. osn_selenium/javascript/fingerprint/registry/_utils.py +6 -0
  455. osn_selenium/javascript/fingerprint/registry/models.py +41 -0
  456. osn_selenium/javascript/fingerprint/spoof/__init__.py +1 -0
  457. osn_selenium/javascript/fingerprint/spoof/_functions.py +172 -0
  458. osn_selenium/javascript/fingerprint/spoof/_templates.py +134 -0
  459. osn_selenium/javascript/fingerprint/spoof/_typehints.py +22 -0
  460. osn_selenium/javascript/fingerprint/spoof/core_rules.py +141 -0
  461. osn_selenium/javascript/fingerprint/spoof/noise.py +51 -0
  462. osn_selenium/javascript/fingerprint/spoof/rules.py +313 -0
  463. osn_selenium/javascript/functions.py +44 -0
  464. osn_selenium/javascript/models.py +35 -0
  465. osn_selenium/javascript/scripts/start_fingerprint_detection.js +56 -0
  466. osn_selenium/models.py +139 -0
  467. osn_selenium/webdrivers/_args_helpers.py +181 -0
  468. osn_selenium/webdrivers/_bridges.py +57 -0
  469. osn_selenium/webdrivers/_decorators.py +83 -0
  470. osn_selenium/webdrivers/_executable_tables/__init__.py +1 -0
  471. osn_selenium/webdrivers/_executable_tables/functions.py +113 -0
  472. osn_selenium/webdrivers/_executable_tables/models.py +19 -0
  473. osn_selenium/webdrivers/_typehints.py +10 -0
  474. osn_selenium/webdrivers/protocols.py +50 -0
  475. osn_selenium/webdrivers/sync/__init__.py +1 -0
  476. osn_selenium/webdrivers/sync/blink/__init__.py +114 -0
  477. osn_selenium/webdrivers/sync/blink/base.py +128 -0
  478. osn_selenium/webdrivers/sync/blink/casting.py +34 -0
  479. osn_selenium/webdrivers/sync/blink/features.py +28 -0
  480. osn_selenium/webdrivers/sync/blink/lifecycle.py +66 -0
  481. osn_selenium/webdrivers/sync/blink/logging.py +25 -0
  482. osn_selenium/webdrivers/sync/blink/network.py +28 -0
  483. osn_selenium/webdrivers/sync/blink/settings.py +63 -0
  484. osn_selenium/webdrivers/sync/chrome/__init__.py +67 -0
  485. osn_selenium/webdrivers/sync/chrome/base.py +106 -0
  486. osn_selenium/webdrivers/sync/chrome/lifecycle.py +63 -0
  487. osn_selenium/webdrivers/sync/chrome/settings.py +58 -0
  488. osn_selenium/webdrivers/sync/core/__init__.py +91 -0
  489. osn_selenium/webdrivers/sync/core/actions.py +59 -0
  490. osn_selenium/webdrivers/sync/core/auth.py +77 -0
  491. osn_selenium/webdrivers/sync/core/base.py +167 -0
  492. osn_selenium/webdrivers/sync/core/capture.py +37 -0
  493. osn_selenium/webdrivers/sync/core/comonents.py +57 -0
  494. osn_selenium/webdrivers/sync/core/devtools.py +47 -0
  495. osn_selenium/webdrivers/sync/core/element.py +42 -0
  496. osn_selenium/webdrivers/sync/core/file.py +40 -0
  497. osn_selenium/webdrivers/sync/core/lifecycle.py +59 -0
  498. osn_selenium/webdrivers/sync/core/navigation.py +36 -0
  499. osn_selenium/webdrivers/sync/core/script.py +53 -0
  500. osn_selenium/webdrivers/sync/core/settings.py +35 -0
  501. osn_selenium/webdrivers/sync/core/storage.py +48 -0
  502. osn_selenium/webdrivers/sync/core/timeouts.py +59 -0
  503. osn_selenium/webdrivers/sync/core/window.py +99 -0
  504. osn_selenium/webdrivers/sync/edge/__init__.py +67 -0
  505. osn_selenium/webdrivers/sync/edge/base.py +102 -0
  506. osn_selenium/webdrivers/sync/edge/lifecycle.py +63 -0
  507. osn_selenium/webdrivers/sync/edge/settings.py +58 -0
  508. osn_selenium/webdrivers/sync/yandex/__init__.py +67 -0
  509. osn_selenium/webdrivers/sync/yandex/base.py +99 -0
  510. osn_selenium/webdrivers/sync/yandex/lifecycle.py +63 -0
  511. osn_selenium/webdrivers/sync/yandex/settings.py +58 -0
  512. osn_selenium/webdrivers/trio_threads/__init__.py +1 -0
  513. osn_selenium/webdrivers/trio_threads/blink/__init__.py +124 -0
  514. osn_selenium/webdrivers/trio_threads/blink/base.py +133 -0
  515. osn_selenium/webdrivers/trio_threads/blink/casting.py +35 -0
  516. osn_selenium/webdrivers/trio_threads/blink/features.py +29 -0
  517. osn_selenium/webdrivers/trio_threads/blink/lifecycle.py +66 -0
  518. osn_selenium/webdrivers/trio_threads/blink/logging.py +26 -0
  519. osn_selenium/webdrivers/trio_threads/blink/network.py +29 -0
  520. osn_selenium/webdrivers/trio_threads/blink/settings.py +63 -0
  521. osn_selenium/webdrivers/trio_threads/chrome/__init__.py +81 -0
  522. osn_selenium/webdrivers/trio_threads/chrome/base.py +107 -0
  523. osn_selenium/webdrivers/trio_threads/chrome/lifecycle.py +63 -0
  524. osn_selenium/webdrivers/trio_threads/chrome/settings.py +63 -0
  525. osn_selenium/webdrivers/trio_threads/core/__init__.py +109 -0
  526. osn_selenium/webdrivers/trio_threads/core/actions.py +72 -0
  527. osn_selenium/webdrivers/trio_threads/core/auth.py +88 -0
  528. osn_selenium/webdrivers/trio_threads/core/base.py +191 -0
  529. osn_selenium/webdrivers/trio_threads/core/capture.py +38 -0
  530. osn_selenium/webdrivers/trio_threads/core/comonents.py +92 -0
  531. osn_selenium/webdrivers/trio_threads/core/devtools.py +53 -0
  532. osn_selenium/webdrivers/trio_threads/core/element.py +58 -0
  533. osn_selenium/webdrivers/trio_threads/core/file.py +45 -0
  534. osn_selenium/webdrivers/trio_threads/core/lifecycle.py +60 -0
  535. osn_selenium/webdrivers/trio_threads/core/navigation.py +41 -0
  536. osn_selenium/webdrivers/trio_threads/core/script.py +59 -0
  537. osn_selenium/webdrivers/trio_threads/core/settings.py +36 -0
  538. osn_selenium/webdrivers/trio_threads/core/storage.py +54 -0
  539. osn_selenium/webdrivers/trio_threads/core/timeouts.py +60 -0
  540. osn_selenium/webdrivers/trio_threads/core/window.py +105 -0
  541. osn_selenium/webdrivers/trio_threads/edge/__init__.py +81 -0
  542. osn_selenium/webdrivers/trio_threads/edge/base.py +103 -0
  543. osn_selenium/webdrivers/trio_threads/edge/lifecycle.py +63 -0
  544. osn_selenium/webdrivers/trio_threads/edge/settings.py +63 -0
  545. osn_selenium/webdrivers/trio_threads/yandex/__init__.py +81 -0
  546. osn_selenium/webdrivers/trio_threads/yandex/base.py +100 -0
  547. osn_selenium/webdrivers/trio_threads/yandex/lifecycle.py +63 -0
  548. osn_selenium/webdrivers/trio_threads/yandex/settings.py +63 -0
  549. osn_selenium/webdrivers/unified/__init__.py +1 -0
  550. osn_selenium/webdrivers/unified/blink/__init__.py +1 -0
  551. osn_selenium/webdrivers/unified/blink/base.py +131 -0
  552. osn_selenium/webdrivers/unified/blink/casting.py +30 -0
  553. osn_selenium/webdrivers/unified/blink/features.py +22 -0
  554. osn_selenium/webdrivers/unified/blink/lifecycle.py +114 -0
  555. osn_selenium/webdrivers/unified/blink/logging.py +18 -0
  556. osn_selenium/webdrivers/unified/blink/network.py +22 -0
  557. osn_selenium/webdrivers/unified/blink/settings.py +86 -0
  558. osn_selenium/webdrivers/unified/chrome/__init__.py +1 -0
  559. osn_selenium/webdrivers/unified/chrome/base.py +54 -0
  560. osn_selenium/webdrivers/unified/chrome/lifecycle.py +88 -0
  561. osn_selenium/webdrivers/unified/chrome/settings.py +48 -0
  562. osn_selenium/webdrivers/unified/core/__init__.py +1 -0
  563. osn_selenium/webdrivers/unified/core/actions.py +43 -0
  564. osn_selenium/webdrivers/unified/core/auth.py +70 -0
  565. osn_selenium/webdrivers/unified/core/base.py +132 -0
  566. osn_selenium/webdrivers/unified/core/capture.py +32 -0
  567. osn_selenium/webdrivers/unified/core/components.py +32 -0
  568. osn_selenium/webdrivers/unified/core/devtools.py +35 -0
  569. osn_selenium/webdrivers/unified/core/element.py +24 -0
  570. osn_selenium/webdrivers/unified/core/file.py +35 -0
  571. osn_selenium/webdrivers/unified/core/lifecycle.py +84 -0
  572. osn_selenium/webdrivers/unified/core/navigation.py +31 -0
  573. osn_selenium/webdrivers/unified/core/script.py +32 -0
  574. osn_selenium/webdrivers/unified/core/settings.py +44 -0
  575. osn_selenium/webdrivers/unified/core/storage.py +37 -0
  576. osn_selenium/webdrivers/unified/core/timeouts.py +56 -0
  577. osn_selenium/webdrivers/unified/core/window.py +135 -0
  578. osn_selenium/webdrivers/unified/edge/__init__.py +1 -0
  579. osn_selenium/webdrivers/unified/edge/base.py +52 -0
  580. osn_selenium/webdrivers/unified/edge/lifecycle.py +88 -0
  581. osn_selenium/webdrivers/unified/edge/settings.py +48 -0
  582. osn_selenium/webdrivers/unified/yandex/__init__.py +1 -0
  583. osn_selenium/webdrivers/unified/yandex/base.py +54 -0
  584. osn_selenium/webdrivers/unified/yandex/lifecycle.py +58 -0
  585. osn_selenium/webdrivers/unified/yandex/settings.py +48 -0
  586. osn_selenium-1.0.0.dist-info/METADATA +239 -0
  587. osn_selenium-1.0.0.dist-info/RECORD +608 -0
  588. {osn_selenium-0.0.0.dist-info → osn_selenium-1.0.0.dist-info}/WHEEL +1 -1
  589. osn_selenium/captcha_workers/__init__.py +0 -26
  590. osn_selenium/dev_tools/_types.py +0 -22
  591. osn_selenium/dev_tools/errors.py +0 -89
  592. osn_selenium/dev_tools/logger.py +0 -558
  593. osn_selenium/dev_tools/manager.py +0 -1551
  594. osn_selenium/dev_tools/utils.py +0 -509
  595. osn_selenium/errors.py +0 -16
  596. osn_selenium/types.py +0 -118
  597. osn_selenium/webdrivers/BaseDriver/_utils.py +0 -37
  598. osn_selenium/webdrivers/BaseDriver/protocols.py +0 -2135
  599. osn_selenium/webdrivers/BaseDriver/trio_wrapper.py +0 -71
  600. osn_selenium/webdrivers/BaseDriver/webdriver.py +0 -2626
  601. osn_selenium/webdrivers/Blink/protocols.py +0 -330
  602. osn_selenium/webdrivers/Blink/webdriver.py +0 -637
  603. osn_selenium/webdrivers/Chrome/protocols.py +0 -228
  604. osn_selenium/webdrivers/Chrome/webdriver.py +0 -394
  605. osn_selenium/webdrivers/Edge/protocols.py +0 -228
  606. osn_selenium/webdrivers/Edge/webdriver.py +0 -394
  607. osn_selenium/webdrivers/Yandex/protocols.py +0 -211
  608. osn_selenium/webdrivers/Yandex/webdriver.py +0 -350
  609. osn_selenium/webdrivers/_functions.py +0 -504
  610. osn_selenium/webdrivers/types.py +0 -390
  611. osn_selenium-0.0.0.dist-info/METADATA +0 -710
  612. osn_selenium-0.0.0.dist-info/RECORD +0 -57
  613. /osn_selenium/{webdrivers/BaseDriver → abstract}/__init__.py +0 -0
  614. /osn_selenium/{webdrivers/Blink → abstract/executors}/__init__.py +0 -0
  615. /osn_selenium/{webdrivers/Chrome → abstract/instances}/__init__.py +0 -0
  616. /osn_selenium/{webdrivers/Edge → abstract/webdriver}/__init__.py +0 -0
  617. /osn_selenium/{webdrivers/Yandex → dev_tools/logger}/__init__.py +0 -0
  618. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/check_element_in_viewport.js +0 -0
  619. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_document_scroll_size.js +0 -0
  620. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_element_css.js +0 -0
  621. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_element_rect_in_viewport.js +0 -0
  622. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_random_element_point_in_viewport.js +0 -0
  623. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_viewport_position.js +0 -0
  624. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_viewport_rect.js +0 -0
  625. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_viewport_size.js +0 -0
  626. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/open_new_tab.js +0 -0
  627. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/stop_window_loading.js +0 -0
  628. {osn_selenium-0.0.0.dist-info → osn_selenium-1.0.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,550 @@
1
+ from typing import (
2
+ Any,
3
+ Callable,
4
+ Dict,
5
+ TYPE_CHECKING
6
+ )
7
+ from osn_selenium.abstract.executors.cdp import AbstractCDPExecutor
8
+
9
+
10
+ __all__ = ["CDPExecutor"]
11
+
12
+ if TYPE_CHECKING:
13
+ from osn_selenium.executors.sync.cdp.accessibility import AccessibilityCDPExecutor
14
+ from osn_selenium.executors.sync.cdp.animation import AnimationCDPExecutor
15
+ from osn_selenium.executors.sync.cdp.audits import AuditsCDPExecutor
16
+ from osn_selenium.executors.sync.cdp.autofill import AutofillCDPExecutor
17
+ from osn_selenium.executors.sync.cdp.background_service import BackgroundServiceCDPExecutor
18
+ from osn_selenium.executors.sync.cdp.bluetooth_emulation import BluetoothEmulationCDPExecutor
19
+ from osn_selenium.executors.sync.cdp.browser import BrowserCDPExecutor
20
+ from osn_selenium.executors.sync.cdp.css import CssCDPExecutor
21
+ from osn_selenium.executors.sync.cdp.cache_storage import CacheStorageCDPExecutor
22
+ from osn_selenium.executors.sync.cdp.cast import CastCDPExecutor
23
+ from osn_selenium.executors.sync.cdp.console import ConsoleCDPExecutor
24
+ from osn_selenium.executors.sync.cdp.dom import DomCDPExecutor
25
+ from osn_selenium.executors.sync.cdp.dom_debugger import DomDebuggerCDPExecutor
26
+ from osn_selenium.executors.sync.cdp.dom_snapshot import DomSnapshotCDPExecutor
27
+ from osn_selenium.executors.sync.cdp.dom_storage import DomStorageCDPExecutor
28
+ from osn_selenium.executors.sync.cdp.debugger import DebuggerCDPExecutor
29
+ from osn_selenium.executors.sync.cdp.device_access import DeviceAccessCDPExecutor
30
+ from osn_selenium.executors.sync.cdp.device_orientation import DeviceOrientationCDPExecutor
31
+ from osn_selenium.executors.sync.cdp.emulation import EmulationCDPExecutor
32
+ from osn_selenium.executors.sync.cdp.event_breakpoints import EventBreakpointsCDPExecutor
33
+ from osn_selenium.executors.sync.cdp.extensions import ExtensionsCDPExecutor
34
+ from osn_selenium.executors.sync.cdp.fed_cm import FedCmCDPExecutor
35
+ from osn_selenium.executors.sync.cdp.fetch import FetchCDPExecutor
36
+ from osn_selenium.executors.sync.cdp.file_system import FileSystemCDPExecutor
37
+ from osn_selenium.executors.sync.cdp.headless_experimental import HeadlessExperimentalCDPExecutor
38
+ from osn_selenium.executors.sync.cdp.heap_profiler import HeapProfilerCDPExecutor
39
+ from osn_selenium.executors.sync.cdp.io import IoCDPExecutor
40
+ from osn_selenium.executors.sync.cdp.indexed_db import IndexedDbCDPExecutor
41
+ from osn_selenium.executors.sync.cdp.input import InputCDPExecutor
42
+ from osn_selenium.executors.sync.cdp.inspector import InspectorCDPExecutor
43
+ from osn_selenium.executors.sync.cdp.layer_tree import LayerTreeCDPExecutor
44
+ from osn_selenium.executors.sync.cdp.log import LogCDPExecutor
45
+ from osn_selenium.executors.sync.cdp.media import MediaCDPExecutor
46
+ from osn_selenium.executors.sync.cdp.memory import MemoryCDPExecutor
47
+ from osn_selenium.executors.sync.cdp.network import NetworkCDPExecutor
48
+ from osn_selenium.executors.sync.cdp.overlay import OverlayCDPExecutor
49
+ from osn_selenium.executors.sync.cdp.pwa import PwaCDPExecutor
50
+ from osn_selenium.executors.sync.cdp.page import PageCDPExecutor
51
+ from osn_selenium.executors.sync.cdp.performance import PerformanceCDPExecutor
52
+ from osn_selenium.executors.sync.cdp.performance_timeline import PerformanceTimelineCDPExecutor
53
+ from osn_selenium.executors.sync.cdp.preload import PreloadCDPExecutor
54
+ from osn_selenium.executors.sync.cdp.profiler import ProfilerCDPExecutor
55
+ from osn_selenium.executors.sync.cdp.runtime import RuntimeCDPExecutor
56
+ from osn_selenium.executors.sync.cdp.schema import SchemaCDPExecutor
57
+ from osn_selenium.executors.sync.cdp.security import SecurityCDPExecutor
58
+ from osn_selenium.executors.sync.cdp.service_worker import ServiceWorkerCDPExecutor
59
+ from osn_selenium.executors.sync.cdp.storage import StorageCDPExecutor
60
+ from osn_selenium.executors.sync.cdp.system_info import SystemInfoCDPExecutor
61
+ from osn_selenium.executors.sync.cdp.target import TargetCDPExecutor
62
+ from osn_selenium.executors.sync.cdp.tethering import TetheringCDPExecutor
63
+ from osn_selenium.executors.sync.cdp.tracing import TracingCDPExecutor
64
+ from osn_selenium.executors.sync.cdp.web_audio import WebAudioCDPExecutor
65
+ from osn_selenium.executors.sync.cdp.web_authn import WebAuthnCDPExecutor
66
+
67
+
68
+ class CDPExecutor(AbstractCDPExecutor):
69
+ def __init__(self, execute_function: Callable[[str, Dict[str, Any]], Any]):
70
+ self._execute_function = execute_function
71
+ self._accessibility = None
72
+ self._animation = None
73
+ self._audits = None
74
+ self._autofill = None
75
+ self._background_service = None
76
+ self._bluetooth_emulation = None
77
+ self._browser = None
78
+ self._css = None
79
+ self._cache_storage = None
80
+ self._cast = None
81
+ self._console = None
82
+ self._dom = None
83
+ self._dom_debugger = None
84
+ self._dom_snapshot = None
85
+ self._dom_storage = None
86
+ self._debugger = None
87
+ self._device_access = None
88
+ self._device_orientation = None
89
+ self._emulation = None
90
+ self._event_breakpoints = None
91
+ self._extensions = None
92
+ self._fed_cm = None
93
+ self._fetch = None
94
+ self._file_system = None
95
+ self._headless_experimental = None
96
+ self._heap_profiler = None
97
+ self._io = None
98
+ self._indexed_db = None
99
+ self._input = None
100
+ self._inspector = None
101
+ self._layer_tree = None
102
+ self._log = None
103
+ self._media = None
104
+ self._memory = None
105
+ self._network = None
106
+ self._overlay = None
107
+ self._pwa = None
108
+ self._page = None
109
+ self._performance = None
110
+ self._performance_timeline = None
111
+ self._preload = None
112
+ self._profiler = None
113
+ self._runtime = None
114
+ self._schema = None
115
+ self._security = None
116
+ self._service_worker = None
117
+ self._storage = None
118
+ self._system_info = None
119
+ self._target = None
120
+ self._tethering = None
121
+ self._tracing = None
122
+ self._web_audio = None
123
+ self._web_authn = None
124
+
125
+ @property
126
+ def accessibility(self) -> "AccessibilityCDPExecutor":
127
+ if self._accessibility is None:
128
+ from osn_selenium.executors.sync.cdp.accessibility import AccessibilityCDPExecutor
129
+ self._accessibility = AccessibilityCDPExecutor(execute_function=self._execute_function)
130
+
131
+ return self._accessibility
132
+
133
+ @property
134
+ def animation(self) -> "AnimationCDPExecutor":
135
+ if self._animation is None:
136
+ from osn_selenium.executors.sync.cdp.animation import AnimationCDPExecutor
137
+ self._animation = AnimationCDPExecutor(execute_function=self._execute_function)
138
+
139
+ return self._animation
140
+
141
+ @property
142
+ def audits(self) -> "AuditsCDPExecutor":
143
+ if self._audits is None:
144
+ from osn_selenium.executors.sync.cdp.audits import AuditsCDPExecutor
145
+ self._audits = AuditsCDPExecutor(execute_function=self._execute_function)
146
+
147
+ return self._audits
148
+
149
+ @property
150
+ def autofill(self) -> "AutofillCDPExecutor":
151
+ if self._autofill is None:
152
+ from osn_selenium.executors.sync.cdp.autofill import AutofillCDPExecutor
153
+ self._autofill = AutofillCDPExecutor(execute_function=self._execute_function)
154
+
155
+ return self._autofill
156
+
157
+ @property
158
+ def background_service(self) -> "BackgroundServiceCDPExecutor":
159
+ if self._background_service is None:
160
+ from osn_selenium.executors.sync.cdp.background_service import BackgroundServiceCDPExecutor
161
+ self._background_service = BackgroundServiceCDPExecutor(execute_function=self._execute_function)
162
+
163
+ return self._background_service
164
+
165
+ @property
166
+ def bluetooth_emulation(self) -> "BluetoothEmulationCDPExecutor":
167
+ if self._bluetooth_emulation is None:
168
+ from osn_selenium.executors.sync.cdp.bluetooth_emulation import BluetoothEmulationCDPExecutor
169
+ self._bluetooth_emulation = BluetoothEmulationCDPExecutor(execute_function=self._execute_function)
170
+
171
+ return self._bluetooth_emulation
172
+
173
+ @property
174
+ def browser(self) -> "BrowserCDPExecutor":
175
+ if self._browser is None:
176
+ from osn_selenium.executors.sync.cdp.browser import BrowserCDPExecutor
177
+ self._browser = BrowserCDPExecutor(execute_function=self._execute_function)
178
+
179
+ return self._browser
180
+
181
+ @property
182
+ def cache_storage(self) -> "CacheStorageCDPExecutor":
183
+ if self._cache_storage is None:
184
+ from osn_selenium.executors.sync.cdp.cache_storage import CacheStorageCDPExecutor
185
+ self._cache_storage = CacheStorageCDPExecutor(execute_function=self._execute_function)
186
+
187
+ return self._cache_storage
188
+
189
+ @property
190
+ def cast(self) -> "CastCDPExecutor":
191
+ if self._cast is None:
192
+ from osn_selenium.executors.sync.cdp.cast import CastCDPExecutor
193
+ self._cast = CastCDPExecutor(execute_function=self._execute_function)
194
+
195
+ return self._cast
196
+
197
+ @property
198
+ def console(self) -> "ConsoleCDPExecutor":
199
+ if self._console is None:
200
+ from osn_selenium.executors.sync.cdp.console import ConsoleCDPExecutor
201
+ self._console = ConsoleCDPExecutor(execute_function=self._execute_function)
202
+
203
+ return self._console
204
+
205
+ @property
206
+ def css(self) -> "CssCDPExecutor":
207
+ if self._css is None:
208
+ from osn_selenium.executors.sync.cdp.css import CssCDPExecutor
209
+ self._css = CssCDPExecutor(execute_function=self._execute_function)
210
+
211
+ return self._css
212
+
213
+ @property
214
+ def debugger(self) -> "DebuggerCDPExecutor":
215
+ if self._debugger is None:
216
+ from osn_selenium.executors.sync.cdp.debugger import DebuggerCDPExecutor
217
+ self._debugger = DebuggerCDPExecutor(execute_function=self._execute_function)
218
+
219
+ return self._debugger
220
+
221
+ @property
222
+ def device_access(self) -> "DeviceAccessCDPExecutor":
223
+ if self._device_access is None:
224
+ from osn_selenium.executors.sync.cdp.device_access import DeviceAccessCDPExecutor
225
+ self._device_access = DeviceAccessCDPExecutor(execute_function=self._execute_function)
226
+
227
+ return self._device_access
228
+
229
+ @property
230
+ def device_orientation(self) -> "DeviceOrientationCDPExecutor":
231
+ if self._device_orientation is None:
232
+ from osn_selenium.executors.sync.cdp.device_orientation import DeviceOrientationCDPExecutor
233
+ self._device_orientation = DeviceOrientationCDPExecutor(execute_function=self._execute_function)
234
+
235
+ return self._device_orientation
236
+
237
+ @property
238
+ def dom(self) -> "DomCDPExecutor":
239
+ if self._dom is None:
240
+ from osn_selenium.executors.sync.cdp.dom import DomCDPExecutor
241
+ self._dom = DomCDPExecutor(execute_function=self._execute_function)
242
+
243
+ return self._dom
244
+
245
+ @property
246
+ def dom_debugger(self) -> "DomDebuggerCDPExecutor":
247
+ if self._dom_debugger is None:
248
+ from osn_selenium.executors.sync.cdp.dom_debugger import DomDebuggerCDPExecutor
249
+ self._dom_debugger = DomDebuggerCDPExecutor(execute_function=self._execute_function)
250
+
251
+ return self._dom_debugger
252
+
253
+ @property
254
+ def dom_snapshot(self) -> "DomSnapshotCDPExecutor":
255
+ if self._dom_snapshot is None:
256
+ from osn_selenium.executors.sync.cdp.dom_snapshot import DomSnapshotCDPExecutor
257
+ self._dom_snapshot = DomSnapshotCDPExecutor(execute_function=self._execute_function)
258
+
259
+ return self._dom_snapshot
260
+
261
+ @property
262
+ def dom_storage(self) -> "DomStorageCDPExecutor":
263
+ if self._dom_storage is None:
264
+ from osn_selenium.executors.sync.cdp.dom_storage import DomStorageCDPExecutor
265
+ self._dom_storage = DomStorageCDPExecutor(execute_function=self._execute_function)
266
+
267
+ return self._dom_storage
268
+
269
+ @property
270
+ def emulation(self) -> "EmulationCDPExecutor":
271
+ if self._emulation is None:
272
+ from osn_selenium.executors.sync.cdp.emulation import EmulationCDPExecutor
273
+ self._emulation = EmulationCDPExecutor(execute_function=self._execute_function)
274
+
275
+ return self._emulation
276
+
277
+ @property
278
+ def event_breakpoints(self) -> "EventBreakpointsCDPExecutor":
279
+ if self._event_breakpoints is None:
280
+ from osn_selenium.executors.sync.cdp.event_breakpoints import EventBreakpointsCDPExecutor
281
+ self._event_breakpoints = EventBreakpointsCDPExecutor(execute_function=self._execute_function)
282
+
283
+ return self._event_breakpoints
284
+
285
+ def execute(self, cmd: str, cmd_args: Dict[str, Any]) -> Any:
286
+ return self._execute_function(cmd, cmd_args)["value"]
287
+
288
+ @property
289
+ def extensions(self) -> "ExtensionsCDPExecutor":
290
+ if self._extensions is None:
291
+ from osn_selenium.executors.sync.cdp.extensions import ExtensionsCDPExecutor
292
+ self._extensions = ExtensionsCDPExecutor(execute_function=self._execute_function)
293
+
294
+ return self._extensions
295
+
296
+ @property
297
+ def fed_cm(self) -> "FedCmCDPExecutor":
298
+ if self._fed_cm is None:
299
+ from osn_selenium.executors.sync.cdp.fed_cm import FedCmCDPExecutor
300
+ self._fed_cm = FedCmCDPExecutor(execute_function=self._execute_function)
301
+
302
+ return self._fed_cm
303
+
304
+ @property
305
+ def fetch(self) -> "FetchCDPExecutor":
306
+ if self._fetch is None:
307
+ from osn_selenium.executors.sync.cdp.fetch import FetchCDPExecutor
308
+ self._fetch = FetchCDPExecutor(execute_function=self._execute_function)
309
+
310
+ return self._fetch
311
+
312
+ @property
313
+ def file_system(self) -> "FileSystemCDPExecutor":
314
+ if self._file_system is None:
315
+ from osn_selenium.executors.sync.cdp.file_system import FileSystemCDPExecutor
316
+ self._file_system = FileSystemCDPExecutor(execute_function=self._execute_function)
317
+
318
+ return self._file_system
319
+
320
+ @property
321
+ def headless_experimental(self) -> "HeadlessExperimentalCDPExecutor":
322
+ if self._headless_experimental is None:
323
+ from osn_selenium.executors.sync.cdp.headless_experimental import HeadlessExperimentalCDPExecutor
324
+ self._headless_experimental = HeadlessExperimentalCDPExecutor(execute_function=self._execute_function)
325
+
326
+ return self._headless_experimental
327
+
328
+ @property
329
+ def heap_profiler(self) -> "HeapProfilerCDPExecutor":
330
+ if self._heap_profiler is None:
331
+ from osn_selenium.executors.sync.cdp.heap_profiler import HeapProfilerCDPExecutor
332
+ self._heap_profiler = HeapProfilerCDPExecutor(execute_function=self._execute_function)
333
+
334
+ return self._heap_profiler
335
+
336
+ @property
337
+ def indexed_db(self) -> "IndexedDbCDPExecutor":
338
+ if self._indexed_db is None:
339
+ from osn_selenium.executors.sync.cdp.indexed_db import IndexedDbCDPExecutor
340
+ self._indexed_db = IndexedDbCDPExecutor(execute_function=self._execute_function)
341
+
342
+ return self._indexed_db
343
+
344
+ @property
345
+ def input(self) -> "InputCDPExecutor":
346
+ if self._input is None:
347
+ from osn_selenium.executors.sync.cdp.input import InputCDPExecutor
348
+ self._input = InputCDPExecutor(execute_function=self._execute_function)
349
+
350
+ return self._input
351
+
352
+ @property
353
+ def inspector(self) -> "InspectorCDPExecutor":
354
+ if self._inspector is None:
355
+ from osn_selenium.executors.sync.cdp.inspector import InspectorCDPExecutor
356
+ self._inspector = InspectorCDPExecutor(execute_function=self._execute_function)
357
+
358
+ return self._inspector
359
+
360
+ @property
361
+ def io(self) -> "IoCDPExecutor":
362
+ if self._io is None:
363
+ from osn_selenium.executors.sync.cdp.io import IoCDPExecutor
364
+ self._io = IoCDPExecutor(execute_function=self._execute_function)
365
+
366
+ return self._io
367
+
368
+ @property
369
+ def layer_tree(self) -> "LayerTreeCDPExecutor":
370
+ if self._layer_tree is None:
371
+ from osn_selenium.executors.sync.cdp.layer_tree import LayerTreeCDPExecutor
372
+ self._layer_tree = LayerTreeCDPExecutor(execute_function=self._execute_function)
373
+
374
+ return self._layer_tree
375
+
376
+ @property
377
+ def log(self) -> "LogCDPExecutor":
378
+ if self._log is None:
379
+ from osn_selenium.executors.sync.cdp.log import LogCDPExecutor
380
+ self._log = LogCDPExecutor(execute_function=self._execute_function)
381
+
382
+ return self._log
383
+
384
+ @property
385
+ def media(self) -> "MediaCDPExecutor":
386
+ if self._media is None:
387
+ from osn_selenium.executors.sync.cdp.media import MediaCDPExecutor
388
+ self._media = MediaCDPExecutor(execute_function=self._execute_function)
389
+
390
+ return self._media
391
+
392
+ @property
393
+ def memory(self) -> "MemoryCDPExecutor":
394
+ if self._memory is None:
395
+ from osn_selenium.executors.sync.cdp.memory import MemoryCDPExecutor
396
+ self._memory = MemoryCDPExecutor(execute_function=self._execute_function)
397
+
398
+ return self._memory
399
+
400
+ @property
401
+ def network(self) -> "NetworkCDPExecutor":
402
+ if self._network is None:
403
+ from osn_selenium.executors.sync.cdp.network import NetworkCDPExecutor
404
+ self._network = NetworkCDPExecutor(execute_function=self._execute_function)
405
+
406
+ return self._network
407
+
408
+ @property
409
+ def overlay(self) -> "OverlayCDPExecutor":
410
+ if self._overlay is None:
411
+ from osn_selenium.executors.sync.cdp.overlay import OverlayCDPExecutor
412
+ self._overlay = OverlayCDPExecutor(execute_function=self._execute_function)
413
+
414
+ return self._overlay
415
+
416
+ @property
417
+ def page(self) -> "PageCDPExecutor":
418
+ if self._page is None:
419
+ from osn_selenium.executors.sync.cdp.page import PageCDPExecutor
420
+ self._page = PageCDPExecutor(execute_function=self._execute_function)
421
+
422
+ return self._page
423
+
424
+ @property
425
+ def performance(self) -> "PerformanceCDPExecutor":
426
+ if self._performance is None:
427
+ from osn_selenium.executors.sync.cdp.performance import PerformanceCDPExecutor
428
+ self._performance = PerformanceCDPExecutor(execute_function=self._execute_function)
429
+
430
+ return self._performance
431
+
432
+ @property
433
+ def performance_timeline(self) -> "PerformanceTimelineCDPExecutor":
434
+ if self._performance_timeline is None:
435
+ from osn_selenium.executors.sync.cdp.performance_timeline import PerformanceTimelineCDPExecutor
436
+ self._performance_timeline = PerformanceTimelineCDPExecutor(execute_function=self._execute_function)
437
+
438
+ return self._performance_timeline
439
+
440
+ @property
441
+ def preload(self) -> "PreloadCDPExecutor":
442
+ if self._preload is None:
443
+ from osn_selenium.executors.sync.cdp.preload import PreloadCDPExecutor
444
+ self._preload = PreloadCDPExecutor(execute_function=self._execute_function)
445
+
446
+ return self._preload
447
+
448
+ @property
449
+ def profiler(self) -> "ProfilerCDPExecutor":
450
+ if self._profiler is None:
451
+ from osn_selenium.executors.sync.cdp.profiler import ProfilerCDPExecutor
452
+ self._profiler = ProfilerCDPExecutor(execute_function=self._execute_function)
453
+
454
+ return self._profiler
455
+
456
+ @property
457
+ def pwa(self) -> "PwaCDPExecutor":
458
+ if self._pwa is None:
459
+ from osn_selenium.executors.sync.cdp.pwa import PwaCDPExecutor
460
+ self._pwa = PwaCDPExecutor(execute_function=self._execute_function)
461
+
462
+ return self._pwa
463
+
464
+ @property
465
+ def runtime(self) -> "RuntimeCDPExecutor":
466
+ if self._runtime is None:
467
+ from osn_selenium.executors.sync.cdp.runtime import RuntimeCDPExecutor
468
+ self._runtime = RuntimeCDPExecutor(execute_function=self._execute_function)
469
+
470
+ return self._runtime
471
+
472
+ @property
473
+ def schema(self) -> "SchemaCDPExecutor":
474
+ if self._schema is None:
475
+ from osn_selenium.executors.sync.cdp.schema import SchemaCDPExecutor
476
+ self._schema = SchemaCDPExecutor(execute_function=self._execute_function)
477
+
478
+ return self._schema
479
+
480
+ @property
481
+ def security(self) -> "SecurityCDPExecutor":
482
+ if self._security is None:
483
+ from osn_selenium.executors.sync.cdp.security import SecurityCDPExecutor
484
+ self._security = SecurityCDPExecutor(execute_function=self._execute_function)
485
+
486
+ return self._security
487
+
488
+ @property
489
+ def service_worker(self) -> "ServiceWorkerCDPExecutor":
490
+ if self._service_worker is None:
491
+ from osn_selenium.executors.sync.cdp.service_worker import ServiceWorkerCDPExecutor
492
+ self._service_worker = ServiceWorkerCDPExecutor(execute_function=self._execute_function)
493
+
494
+ return self._service_worker
495
+
496
+ @property
497
+ def storage(self) -> "StorageCDPExecutor":
498
+ if self._storage is None:
499
+ from osn_selenium.executors.sync.cdp.storage import StorageCDPExecutor
500
+ self._storage = StorageCDPExecutor(execute_function=self._execute_function)
501
+
502
+ return self._storage
503
+
504
+ @property
505
+ def system_info(self) -> "SystemInfoCDPExecutor":
506
+ if self._system_info is None:
507
+ from osn_selenium.executors.sync.cdp.system_info import SystemInfoCDPExecutor
508
+ self._system_info = SystemInfoCDPExecutor(execute_function=self._execute_function)
509
+
510
+ return self._system_info
511
+
512
+ @property
513
+ def target(self) -> "TargetCDPExecutor":
514
+ if self._target is None:
515
+ from osn_selenium.executors.sync.cdp.target import TargetCDPExecutor
516
+ self._target = TargetCDPExecutor(execute_function=self._execute_function)
517
+
518
+ return self._target
519
+
520
+ @property
521
+ def tethering(self) -> "TetheringCDPExecutor":
522
+ if self._tethering is None:
523
+ from osn_selenium.executors.sync.cdp.tethering import TetheringCDPExecutor
524
+ self._tethering = TetheringCDPExecutor(execute_function=self._execute_function)
525
+
526
+ return self._tethering
527
+
528
+ @property
529
+ def tracing(self) -> "TracingCDPExecutor":
530
+ if self._tracing is None:
531
+ from osn_selenium.executors.sync.cdp.tracing import TracingCDPExecutor
532
+ self._tracing = TracingCDPExecutor(execute_function=self._execute_function)
533
+
534
+ return self._tracing
535
+
536
+ @property
537
+ def web_audio(self) -> "WebAudioCDPExecutor":
538
+ if self._web_audio is None:
539
+ from osn_selenium.executors.sync.cdp.web_audio import WebAudioCDPExecutor
540
+ self._web_audio = WebAudioCDPExecutor(execute_function=self._execute_function)
541
+
542
+ return self._web_audio
543
+
544
+ @property
545
+ def web_authn(self) -> "WebAuthnCDPExecutor":
546
+ if self._web_authn is None:
547
+ from osn_selenium.executors.sync.cdp.web_authn import WebAuthnCDPExecutor
548
+ self._web_authn = WebAuthnCDPExecutor(execute_function=self._execute_function)
549
+
550
+ return self._web_authn
@@ -0,0 +1,74 @@
1
+ from typing import (
2
+ Any,
3
+ Callable,
4
+ Dict,
5
+ List,
6
+ Optional
7
+ )
8
+ from osn_selenium.executors.unified.cdp.accessibility import (
9
+ UnifiedAccessibilityCDPExecutor
10
+ )
11
+ from osn_selenium.abstract.executors.cdp.accessibility import (
12
+ AbstractAccessibilityCDPExecutor
13
+ )
14
+
15
+
16
+ __all__ = ["AccessibilityCDPExecutor"]
17
+
18
+
19
+ class AccessibilityCDPExecutor(UnifiedAccessibilityCDPExecutor, AbstractAccessibilityCDPExecutor):
20
+ def __init__(self, execute_function: Callable[[str, Dict[str, Any]], Any]):
21
+ UnifiedAccessibilityCDPExecutor.__init__(self, execute_function=execute_function)
22
+
23
+ def disable(self) -> None:
24
+ return self._disable_impl()
25
+
26
+ def enable(self) -> None:
27
+ return self._enable_impl()
28
+
29
+ def get_ax_node_and_ancestors(
30
+ self,
31
+ node_id: Optional[int] = None,
32
+ backend_node_id: Optional[int] = None,
33
+ object_id: Optional[str] = None
34
+ ) -> List[Dict[str, Any]]:
35
+ return self._get_ax_node_and_ancestors_impl(node_id=node_id, backend_node_id=backend_node_id, object_id=object_id)
36
+
37
+ def get_child_ax_nodes(self, id_: str, frame_id: Optional[str] = None) -> List[Dict[str, Any]]:
38
+ return self._get_child_ax_nodes_impl(id_=id_, frame_id=frame_id)
39
+
40
+ def get_full_ax_tree(self, depth: Optional[int] = None, frame_id: Optional[str] = None) -> List[Dict[str, Any]]:
41
+ return self._get_full_ax_tree_impl(depth=depth, frame_id=frame_id)
42
+
43
+ def get_partial_ax_tree(
44
+ self,
45
+ node_id: Optional[int] = None,
46
+ backend_node_id: Optional[int] = None,
47
+ object_id: Optional[str] = None,
48
+ fetch_relatives: Optional[bool] = None
49
+ ) -> List[Dict[str, Any]]:
50
+ return self._get_partial_ax_tree_impl(
51
+ node_id=node_id,
52
+ backend_node_id=backend_node_id,
53
+ object_id=object_id,
54
+ fetch_relatives=fetch_relatives
55
+ )
56
+
57
+ def get_root_ax_node(self, frame_id: Optional[str] = None) -> Dict[str, Any]:
58
+ return self._get_root_ax_node_impl(frame_id=frame_id)
59
+
60
+ def query_ax_tree(
61
+ self,
62
+ node_id: Optional[int] = None,
63
+ backend_node_id: Optional[int] = None,
64
+ object_id: Optional[str] = None,
65
+ accessible_name: Optional[str] = None,
66
+ role: Optional[str] = None
67
+ ) -> List[Dict[str, Any]]:
68
+ return self._query_ax_tree_impl(
69
+ node_id=node_id,
70
+ backend_node_id=backend_node_id,
71
+ object_id=object_id,
72
+ accessible_name=accessible_name,
73
+ role=role
74
+ )
@@ -0,0 +1,50 @@
1
+ from typing import (
2
+ Any,
3
+ Callable,
4
+ Dict,
5
+ List
6
+ )
7
+ from osn_selenium.executors.unified.cdp.animation import (
8
+ UnifiedAnimationCDPExecutor
9
+ )
10
+ from osn_selenium.abstract.executors.cdp.animation import (
11
+ AbstractAnimationCDPExecutor
12
+ )
13
+
14
+
15
+ __all__ = ["AnimationCDPExecutor"]
16
+
17
+
18
+ class AnimationCDPExecutor(UnifiedAnimationCDPExecutor, AbstractAnimationCDPExecutor):
19
+ def __init__(self, execute_function: Callable[[str, Dict[str, Any]], Any]):
20
+ UnifiedAnimationCDPExecutor.__init__(self, execute_function=execute_function)
21
+
22
+ def disable(self) -> None:
23
+ return self._disable_impl()
24
+
25
+ def enable(self) -> None:
26
+ return self._enable_impl()
27
+
28
+ def get_current_time(self, id_: str) -> float:
29
+ return self._get_current_time_impl(id_=id_)
30
+
31
+ def get_playback_rate(self) -> float:
32
+ return self._get_playback_rate_impl()
33
+
34
+ def release_animations(self, animations: List[str]) -> None:
35
+ return self._release_animations_impl(animations=animations)
36
+
37
+ def resolve_animation(self, animation_id: str) -> Dict[str, Any]:
38
+ return self._resolve_animation_impl(animation_id=animation_id)
39
+
40
+ def seek_animations(self, animations: List[str], current_time: float) -> None:
41
+ return self._seek_animations_impl(animations=animations, current_time=current_time)
42
+
43
+ def set_paused(self, animations: List[str], paused: bool) -> None:
44
+ return self._set_paused_impl(animations=animations, paused=paused)
45
+
46
+ def set_playback_rate(self, playback_rate: float) -> None:
47
+ return self._set_playback_rate_impl(playback_rate=playback_rate)
48
+
49
+ def set_timing(self, animation_id: str, duration: float, delay: float) -> None:
50
+ return self._set_timing_impl(animation_id=animation_id, duration=duration, delay=delay)