osn-selenium 1.1.0__py3-none-any.whl → 1.2.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 (418) hide show
  1. osn_selenium/_decorators.py +57 -0
  2. osn_selenium/_trio_threads_helpers.py +157 -0
  3. osn_selenium/_typehints.py +1 -1
  4. osn_selenium/abstract/webdriver/blink/base.py +14 -0
  5. osn_selenium/abstract/webdriver/blink/lifecycle.py +8 -8
  6. osn_selenium/abstract/webdriver/core/base.py +0 -14
  7. osn_selenium/abstract/webdriver/core/capture.py +4 -3
  8. osn_selenium/abstract/webdriver/core/lifecycle.py +8 -8
  9. osn_selenium/abstract/webdriver/core/script.py +5 -4
  10. osn_selenium/abstract/webdriver/core/window.py +11 -11
  11. osn_selenium/dev_tools/_decorators.py +1 -42
  12. osn_selenium/dev_tools/_functions.py +2 -4
  13. osn_selenium/dev_tools/domains/__init__.py +1 -1
  14. osn_selenium/dev_tools/domains/fetch.py +5 -7
  15. osn_selenium/dev_tools/domains_default/fetch.py +1 -1
  16. osn_selenium/dev_tools/logger/main.py +9 -9
  17. osn_selenium/dev_tools/logger/target.py +7 -7
  18. osn_selenium/dev_tools/manager/base.py +10 -19
  19. osn_selenium/dev_tools/manager/lifecycle.py +83 -74
  20. osn_selenium/dev_tools/manager/logging.py +1 -1
  21. osn_selenium/dev_tools/manager/targets.py +13 -5
  22. osn_selenium/dev_tools/settings.py +4 -4
  23. osn_selenium/dev_tools/target/base.py +18 -11
  24. osn_selenium/dev_tools/target/discovery.py +1 -1
  25. osn_selenium/dev_tools/target/events.py +2 -2
  26. osn_selenium/dev_tools/target/fingerprint.py +1 -1
  27. osn_selenium/dev_tools/target/lifecycle.py +103 -43
  28. osn_selenium/dev_tools/target/logging.py +1 -1
  29. osn_selenium/exceptions/__init__.py +0 -1
  30. osn_selenium/exceptions/base.py +28 -1
  31. osn_selenium/exceptions/bidi_bridge.py +59 -0
  32. osn_selenium/exceptions/configuration.py +1 -8
  33. osn_selenium/exceptions/dependencies.py +2 -2
  34. osn_selenium/exceptions/devtools.py +9 -39
  35. osn_selenium/exceptions/experimental.py +26 -0
  36. osn_selenium/exceptions/flags.py +0 -2
  37. osn_selenium/exceptions/instance.py +1 -9
  38. osn_selenium/exceptions/javascript.py +0 -2
  39. osn_selenium/exceptions/logic.py +0 -2
  40. osn_selenium/exceptions/path.py +1 -9
  41. osn_selenium/exceptions/platform.py +0 -2
  42. osn_selenium/exceptions/protocol.py +0 -3
  43. osn_selenium/exceptions/webdriver.py +1 -7
  44. osn_selenium/exceptions/window.py +1 -8
  45. osn_selenium/executors/sync/cdp.py +0 -5
  46. osn_selenium/executors/trio_bidi/cdp.py +101 -0
  47. osn_selenium/executors/trio_bidi/javascript.py +101 -0
  48. osn_selenium/executors/trio_threads/cdp.py +0 -5
  49. osn_selenium/flags/base.py +6 -4
  50. osn_selenium/flags/blink.py +2 -2
  51. osn_selenium/flags/chrome.py +6 -6
  52. osn_selenium/flags/edge.py +6 -6
  53. osn_selenium/instances/convert.py +44 -3
  54. osn_selenium/instances/protocols.py +47 -1
  55. osn_selenium/instances/sync/browsing_context.py +2 -2
  56. osn_selenium/instances/sync/script.py +7 -2
  57. osn_selenium/instances/sync/web_element.py +1 -1
  58. osn_selenium/instances/trio_bidi/__init__.py +1 -0
  59. osn_selenium/instances/trio_bidi/shadow_root.py +180 -0
  60. osn_selenium/instances/trio_bidi/switch_to.py +143 -0
  61. osn_selenium/instances/trio_bidi/web_driver_wait.py +124 -0
  62. osn_selenium/instances/trio_bidi/web_element.py +239 -0
  63. osn_selenium/instances/trio_threads/browsing_context.py +2 -2
  64. osn_selenium/instances/trio_threads/fedcm.py +1 -1
  65. osn_selenium/instances/trio_threads/network.py +1 -1
  66. osn_selenium/instances/trio_threads/script.py +7 -2
  67. osn_selenium/instances/trio_threads/web_extension.py +1 -1
  68. osn_selenium/instances/unified/browsing_context.py +2 -2
  69. osn_selenium/instances/unified/script.py +2 -2
  70. osn_selenium/instances/unified/web_element.py +3 -5
  71. osn_selenium/javascript/fingerprint/__init__.py +2 -1
  72. osn_selenium/trio_bidi/__init__.py +1 -0
  73. osn_selenium/trio_bidi/_context_vars.py +12 -0
  74. osn_selenium/trio_bidi/_error_mappings.py +123 -0
  75. osn_selenium/trio_bidi/_error_redirects.py +194 -0
  76. osn_selenium/trio_bidi/_file_functions.py +28 -0
  77. osn_selenium/trio_bidi/_internal_mappings.py +10 -0
  78. osn_selenium/trio_bidi/_models.py +199 -0
  79. osn_selenium/trio_bidi/_typehints.py +20 -0
  80. osn_selenium/trio_bidi/connection_pool.py +587 -0
  81. osn_selenium/trio_bidi/mapping/__init__.py +1 -0
  82. osn_selenium/trio_bidi/mapping/_constants.py +14 -0
  83. osn_selenium/trio_bidi/mapping/_js_snippets.py +285 -0
  84. osn_selenium/trio_bidi/mapping/_utils.py +4 -0
  85. osn_selenium/trio_bidi/mapping/request_functions/__init__.py +87 -0
  86. osn_selenium/trio_bidi/mapping/request_functions/_alert.py +102 -0
  87. osn_selenium/trio_bidi/mapping/request_functions/_args_helpers.py +225 -0
  88. osn_selenium/trio_bidi/mapping/request_functions/_capture.py +71 -0
  89. osn_selenium/trio_bidi/mapping/request_functions/_cdp.py +40 -0
  90. osn_selenium/trio_bidi/mapping/request_functions/_element.py +55 -0
  91. osn_selenium/trio_bidi/mapping/request_functions/_file.py +32 -0
  92. osn_selenium/trio_bidi/mapping/request_functions/_navigation.py +147 -0
  93. osn_selenium/trio_bidi/mapping/request_functions/_script.py +85 -0
  94. osn_selenium/trio_bidi/mapping/request_functions/_shadow_root.py +65 -0
  95. osn_selenium/trio_bidi/mapping/request_functions/_switch_to.py +59 -0
  96. osn_selenium/trio_bidi/mapping/request_functions/_web_element.py +448 -0
  97. osn_selenium/trio_bidi/mapping/request_functions/_window.py +125 -0
  98. osn_selenium/trio_bidi/mapping/response_functions/__init__.py +86 -0
  99. osn_selenium/trio_bidi/mapping/response_functions/_alert.py +81 -0
  100. osn_selenium/trio_bidi/mapping/response_functions/_args_helpers.py +183 -0
  101. osn_selenium/trio_bidi/mapping/response_functions/_args_validators.py +153 -0
  102. osn_selenium/trio_bidi/mapping/response_functions/_capture.py +71 -0
  103. osn_selenium/trio_bidi/mapping/response_functions/_cdp.py +26 -0
  104. osn_selenium/trio_bidi/mapping/response_functions/_element.py +58 -0
  105. osn_selenium/trio_bidi/mapping/response_functions/_file.py +30 -0
  106. osn_selenium/trio_bidi/mapping/response_functions/_navigation.py +120 -0
  107. osn_selenium/trio_bidi/mapping/response_functions/_script.py +57 -0
  108. osn_selenium/trio_bidi/mapping/response_functions/_shadow_root.py +58 -0
  109. osn_selenium/trio_bidi/mapping/response_functions/_switch_to.py +57 -0
  110. osn_selenium/trio_bidi/mapping/response_functions/_web_element.py +368 -0
  111. osn_selenium/trio_bidi/mapping/response_functions/_window.py +119 -0
  112. osn_selenium/trio_bidi/mixin.py +186 -0
  113. osn_selenium/trio_bidi/remote_connection.py +164 -0
  114. osn_selenium/trio_threads_mixin.py +22 -68
  115. osn_selenium/webdrivers/_args_helpers.py +118 -5
  116. osn_selenium/webdrivers/_typehints.py +9 -3
  117. osn_selenium/webdrivers/protocols.py +81 -1
  118. osn_selenium/webdrivers/sync/blink/base.py +10 -0
  119. osn_selenium/webdrivers/sync/blink/lifecycle.py +26 -8
  120. osn_selenium/webdrivers/sync/chrome/lifecycle.py +23 -5
  121. osn_selenium/webdrivers/sync/chrome/settings.py +6 -1
  122. osn_selenium/webdrivers/sync/core/base.py +3 -11
  123. osn_selenium/webdrivers/sync/core/capture.py +3 -2
  124. osn_selenium/webdrivers/sync/core/file.py +3 -2
  125. osn_selenium/webdrivers/sync/core/lifecycle.py +44 -10
  126. osn_selenium/webdrivers/sync/core/script.py +3 -2
  127. osn_selenium/webdrivers/sync/core/window.py +3 -3
  128. osn_selenium/webdrivers/sync/edge/lifecycle.py +23 -5
  129. osn_selenium/webdrivers/sync/edge/settings.py +6 -1
  130. osn_selenium/webdrivers/sync/yandex/lifecycle.py +23 -5
  131. osn_selenium/webdrivers/sync/yandex/settings.py +6 -1
  132. osn_selenium/webdrivers/trio_bidi/__init__.py +1 -0
  133. osn_selenium/webdrivers/trio_bidi/blink/__init__.py +132 -0
  134. osn_selenium/webdrivers/trio_bidi/blink/base.py +167 -0
  135. osn_selenium/webdrivers/trio_bidi/blink/lifecycle.py +89 -0
  136. osn_selenium/webdrivers/trio_bidi/blink/settings.py +63 -0
  137. osn_selenium/webdrivers/trio_bidi/chrome/__init__.py +114 -0
  138. osn_selenium/webdrivers/trio_bidi/chrome/base.py +127 -0
  139. osn_selenium/webdrivers/trio_bidi/chrome/lifecycle.py +85 -0
  140. osn_selenium/webdrivers/trio_bidi/chrome/settings.py +63 -0
  141. osn_selenium/webdrivers/trio_bidi/core/__init__.py +95 -0
  142. osn_selenium/webdrivers/trio_bidi/core/actions.py +70 -0
  143. osn_selenium/webdrivers/trio_bidi/core/base.py +200 -0
  144. osn_selenium/webdrivers/trio_bidi/core/capture.py +39 -0
  145. osn_selenium/webdrivers/trio_bidi/core/devtools.py +49 -0
  146. osn_selenium/webdrivers/trio_bidi/core/element.py +64 -0
  147. osn_selenium/webdrivers/trio_bidi/core/lifecycle.py +135 -0
  148. osn_selenium/webdrivers/trio_bidi/core/navigation.py +37 -0
  149. osn_selenium/webdrivers/trio_bidi/core/script.py +56 -0
  150. osn_selenium/webdrivers/trio_bidi/core/settings.py +36 -0
  151. osn_selenium/webdrivers/trio_bidi/core/window.py +134 -0
  152. osn_selenium/webdrivers/trio_bidi/edge/__init__.py +114 -0
  153. osn_selenium/webdrivers/trio_bidi/edge/base.py +123 -0
  154. osn_selenium/webdrivers/trio_bidi/edge/lifecycle.py +85 -0
  155. osn_selenium/webdrivers/trio_bidi/edge/settings.py +63 -0
  156. osn_selenium/webdrivers/trio_bidi/yandex/__init__.py +114 -0
  157. osn_selenium/webdrivers/trio_bidi/yandex/base.py +120 -0
  158. osn_selenium/webdrivers/trio_bidi/yandex/lifecycle.py +85 -0
  159. osn_selenium/webdrivers/trio_bidi/yandex/settings.py +63 -0
  160. osn_selenium/webdrivers/trio_threads/blink/__init__.py +7 -1
  161. osn_selenium/webdrivers/trio_threads/blink/base.py +14 -0
  162. osn_selenium/webdrivers/trio_threads/blink/lifecycle.py +26 -8
  163. osn_selenium/webdrivers/trio_threads/chrome/lifecycle.py +23 -5
  164. osn_selenium/webdrivers/trio_threads/chrome/settings.py +1 -1
  165. osn_selenium/webdrivers/trio_threads/core/__init__.py +0 -10
  166. osn_selenium/webdrivers/trio_threads/core/actions.py +1 -1
  167. osn_selenium/webdrivers/trio_threads/core/auth.py +1 -1
  168. osn_selenium/webdrivers/trio_threads/core/base.py +4 -16
  169. osn_selenium/webdrivers/trio_threads/core/capture.py +3 -2
  170. osn_selenium/webdrivers/trio_threads/core/file.py +3 -2
  171. osn_selenium/webdrivers/trio_threads/core/lifecycle.py +44 -10
  172. osn_selenium/webdrivers/trio_threads/core/script.py +3 -2
  173. osn_selenium/webdrivers/trio_threads/core/settings.py +1 -1
  174. osn_selenium/webdrivers/trio_threads/core/storage.py +1 -1
  175. osn_selenium/webdrivers/trio_threads/core/timeouts.py +1 -1
  176. osn_selenium/webdrivers/trio_threads/core/window.py +4 -4
  177. osn_selenium/webdrivers/trio_threads/edge/lifecycle.py +23 -5
  178. osn_selenium/webdrivers/trio_threads/edge/settings.py +1 -1
  179. osn_selenium/webdrivers/trio_threads/yandex/lifecycle.py +23 -5
  180. osn_selenium/webdrivers/trio_threads/yandex/settings.py +1 -1
  181. osn_selenium/webdrivers/unified/blink/base.py +5 -1
  182. osn_selenium/webdrivers/unified/blink/lifecycle.py +4 -2
  183. osn_selenium/webdrivers/unified/chrome/base.py +5 -1
  184. osn_selenium/webdrivers/unified/core/auth.py +4 -2
  185. osn_selenium/webdrivers/unified/core/base.py +16 -10
  186. osn_selenium/webdrivers/unified/core/capture.py +3 -2
  187. osn_selenium/webdrivers/unified/core/components.py +12 -7
  188. osn_selenium/webdrivers/unified/core/devtools.py +2 -1
  189. osn_selenium/webdrivers/unified/core/file.py +3 -2
  190. osn_selenium/webdrivers/unified/core/lifecycle.py +5 -3
  191. osn_selenium/webdrivers/unified/core/script.py +5 -3
  192. osn_selenium/webdrivers/unified/core/storage.py +2 -1
  193. osn_selenium/webdrivers/unified/core/window.py +9 -8
  194. osn_selenium/webdrivers/unified/edge/base.py +5 -1
  195. osn_selenium/webdrivers/unified/yandex/base.py +5 -1
  196. {osn_selenium-1.1.0.dist-info → osn_selenium-1.2.0.dist-info}/METADATA +3 -2
  197. osn_selenium-1.2.0.dist-info/RECORD +480 -0
  198. osn_selenium/abstract/executors/cdp/__init__.py +0 -435
  199. osn_selenium/abstract/executors/cdp/accessibility.py +0 -62
  200. osn_selenium/abstract/executors/cdp/animation.py +0 -47
  201. osn_selenium/abstract/executors/cdp/audits.py +0 -39
  202. osn_selenium/abstract/executors/cdp/autofill.py +0 -34
  203. osn_selenium/abstract/executors/cdp/background_service.py +0 -22
  204. osn_selenium/abstract/executors/cdp/bluetooth_emulation.py +0 -95
  205. osn_selenium/abstract/executors/cdp/browser.py +0 -122
  206. osn_selenium/abstract/executors/cdp/cache_storage.py +0 -49
  207. osn_selenium/abstract/executors/cdp/cast.py +0 -31
  208. osn_selenium/abstract/executors/cdp/console.py +0 -18
  209. osn_selenium/abstract/executors/cdp/css.py +0 -197
  210. osn_selenium/abstract/executors/cdp/debugger.py +0 -198
  211. osn_selenium/abstract/executors/cdp/device_access.py +0 -22
  212. osn_selenium/abstract/executors/cdp/device_orientation.py +0 -14
  213. osn_selenium/abstract/executors/cdp/dom.py +0 -305
  214. osn_selenium/abstract/executors/cdp/dom_debugger.py +0 -57
  215. osn_selenium/abstract/executors/cdp/dom_snapshot.py +0 -42
  216. osn_selenium/abstract/executors/cdp/dom_storage.py +0 -31
  217. osn_selenium/abstract/executors/cdp/emulation.py +0 -259
  218. osn_selenium/abstract/executors/cdp/event_breakpoints.py +0 -18
  219. osn_selenium/abstract/executors/cdp/extensions.py +0 -31
  220. osn_selenium/abstract/executors/cdp/fed_cm.py +0 -35
  221. osn_selenium/abstract/executors/cdp/fetch.py +0 -76
  222. osn_selenium/abstract/executors/cdp/file_system.py +0 -11
  223. osn_selenium/abstract/executors/cdp/headless_experimental.py +0 -30
  224. osn_selenium/abstract/executors/cdp/heap_profiler.py +0 -73
  225. osn_selenium/abstract/executors/cdp/indexed_db.py +0 -99
  226. osn_selenium/abstract/executors/cdp/input.py +0 -158
  227. osn_selenium/abstract/executors/cdp/inspector.py +0 -14
  228. osn_selenium/abstract/executors/cdp/io.py +0 -24
  229. osn_selenium/abstract/executors/cdp/layer_tree.py +0 -61
  230. osn_selenium/abstract/executors/cdp/log.py +0 -27
  231. osn_selenium/abstract/executors/cdp/media.py +0 -14
  232. osn_selenium/abstract/executors/cdp/memory.py +0 -61
  233. osn_selenium/abstract/executors/cdp/network.py +0 -252
  234. osn_selenium/abstract/executors/cdp/overlay.py +0 -166
  235. osn_selenium/abstract/executors/cdp/page.py +0 -347
  236. osn_selenium/abstract/executors/cdp/performance.py +0 -28
  237. osn_selenium/abstract/executors/cdp/performance_timeline.py +0 -11
  238. osn_selenium/abstract/executors/cdp/preload.py +0 -14
  239. osn_selenium/abstract/executors/cdp/profiler.py +0 -54
  240. osn_selenium/abstract/executors/cdp/pwa.py +0 -46
  241. osn_selenium/abstract/executors/cdp/runtime.py +0 -176
  242. osn_selenium/abstract/executors/cdp/schema.py +0 -11
  243. osn_selenium/abstract/executors/cdp/security.py +0 -26
  244. osn_selenium/abstract/executors/cdp/service_worker.py +0 -54
  245. osn_selenium/abstract/executors/cdp/storage.py +0 -175
  246. osn_selenium/abstract/executors/cdp/system_info.py +0 -24
  247. osn_selenium/abstract/executors/cdp/target.py +0 -125
  248. osn_selenium/abstract/executors/cdp/tethering.py +0 -14
  249. osn_selenium/abstract/executors/cdp/tracing.py +0 -48
  250. osn_selenium/abstract/executors/cdp/web_audio.py +0 -19
  251. osn_selenium/abstract/executors/cdp/web_authn.py +0 -76
  252. osn_selenium/base_mixin.py +0 -122
  253. osn_selenium/executors/sync/cdp/__init__.py +0 -550
  254. osn_selenium/executors/sync/cdp/accessibility.py +0 -74
  255. osn_selenium/executors/sync/cdp/animation.py +0 -50
  256. osn_selenium/executors/sync/cdp/audits.py +0 -48
  257. osn_selenium/executors/sync/cdp/autofill.py +0 -39
  258. osn_selenium/executors/sync/cdp/background_service.py +0 -30
  259. osn_selenium/executors/sync/cdp/bluetooth_emulation.py +0 -101
  260. osn_selenium/executors/sync/cdp/browser.py +0 -131
  261. osn_selenium/executors/sync/cdp/cache_storage.py +0 -66
  262. osn_selenium/executors/sync/cdp/cast.py +0 -38
  263. osn_selenium/executors/sync/cdp/console.py +0 -24
  264. osn_selenium/executors/sync/cdp/css.py +0 -187
  265. osn_selenium/executors/sync/cdp/debugger.py +0 -206
  266. osn_selenium/executors/sync/cdp/device_access.py +0 -27
  267. osn_selenium/executors/sync/cdp/device_orientation.py +0 -24
  268. osn_selenium/executors/sync/cdp/dom.py +0 -310
  269. osn_selenium/executors/sync/cdp/dom_debugger.py +0 -56
  270. osn_selenium/executors/sync/cdp/dom_snapshot.py +0 -58
  271. osn_selenium/executors/sync/cdp/dom_storage.py +0 -38
  272. osn_selenium/executors/sync/cdp/emulation.py +0 -270
  273. osn_selenium/executors/sync/cdp/event_breakpoints.py +0 -27
  274. osn_selenium/executors/sync/cdp/extensions.py +0 -39
  275. osn_selenium/executors/sync/cdp/fed_cm.py +0 -45
  276. osn_selenium/executors/sync/cdp/fetch.py +0 -96
  277. osn_selenium/executors/sync/cdp/file_system.py +0 -18
  278. osn_selenium/executors/sync/cdp/headless_experimental.py +0 -44
  279. osn_selenium/executors/sync/cdp/heap_profiler.py +0 -89
  280. osn_selenium/executors/sync/cdp/indexed_db.py +0 -142
  281. osn_selenium/executors/sync/cdp/input.py +0 -233
  282. osn_selenium/executors/sync/cdp/inspector.py +0 -21
  283. osn_selenium/executors/sync/cdp/io.py +0 -33
  284. osn_selenium/executors/sync/cdp/layer_tree.py +0 -71
  285. osn_selenium/executors/sync/cdp/log.py +0 -35
  286. osn_selenium/executors/sync/cdp/media.py +0 -21
  287. osn_selenium/executors/sync/cdp/memory.py +0 -62
  288. osn_selenium/executors/sync/cdp/network.py +0 -287
  289. osn_selenium/executors/sync/cdp/overlay.py +0 -174
  290. osn_selenium/executors/sync/cdp/page.py +0 -365
  291. osn_selenium/executors/sync/cdp/performance.py +0 -33
  292. osn_selenium/executors/sync/cdp/performance_timeline.py +0 -26
  293. osn_selenium/executors/sync/cdp/preload.py +0 -21
  294. osn_selenium/executors/sync/cdp/profiler.py +0 -58
  295. osn_selenium/executors/sync/cdp/pwa.py +0 -55
  296. osn_selenium/executors/sync/cdp/runtime.py +0 -221
  297. osn_selenium/executors/sync/cdp/schema.py +0 -23
  298. osn_selenium/executors/sync/cdp/security.py +0 -30
  299. osn_selenium/executors/sync/cdp/service_worker.py +0 -56
  300. osn_selenium/executors/sync/cdp/storage.py +0 -151
  301. osn_selenium/executors/sync/cdp/system_info.py +0 -30
  302. osn_selenium/executors/sync/cdp/target.py +0 -147
  303. osn_selenium/executors/sync/cdp/tethering.py +0 -21
  304. osn_selenium/executors/sync/cdp/tracing.py +0 -62
  305. osn_selenium/executors/sync/cdp/web_audio.py +0 -24
  306. osn_selenium/executors/sync/cdp/web_authn.py +0 -82
  307. osn_selenium/executors/trio_threads/cdp/__init__.py +0 -771
  308. osn_selenium/executors/trio_threads/cdp/accessibility.py +0 -87
  309. osn_selenium/executors/trio_threads/cdp/animation.py +0 -63
  310. osn_selenium/executors/trio_threads/cdp/audits.py +0 -57
  311. osn_selenium/executors/trio_threads/cdp/autofill.py +0 -52
  312. osn_selenium/executors/trio_threads/cdp/background_service.py +0 -40
  313. osn_selenium/executors/trio_threads/cdp/bluetooth_emulation.py +0 -111
  314. osn_selenium/executors/trio_threads/cdp/browser.py +0 -140
  315. osn_selenium/executors/trio_threads/cdp/cache_storage.py +0 -79
  316. osn_selenium/executors/trio_threads/cdp/cast.py +0 -47
  317. osn_selenium/executors/trio_threads/cdp/console.py +0 -33
  318. osn_selenium/executors/trio_threads/cdp/css.py +0 -196
  319. osn_selenium/executors/trio_threads/cdp/debugger.py +0 -219
  320. osn_selenium/executors/trio_threads/cdp/device_access.py +0 -40
  321. osn_selenium/executors/trio_threads/cdp/device_orientation.py +0 -34
  322. osn_selenium/executors/trio_threads/cdp/dom.py +0 -319
  323. osn_selenium/executors/trio_threads/cdp/dom_debugger.py +0 -69
  324. osn_selenium/executors/trio_threads/cdp/dom_snapshot.py +0 -71
  325. osn_selenium/executors/trio_threads/cdp/dom_storage.py +0 -51
  326. osn_selenium/executors/trio_threads/cdp/emulation.py +0 -283
  327. osn_selenium/executors/trio_threads/cdp/event_breakpoints.py +0 -37
  328. osn_selenium/executors/trio_threads/cdp/extensions.py +0 -52
  329. osn_selenium/executors/trio_threads/cdp/fed_cm.py +0 -54
  330. osn_selenium/executors/trio_threads/cdp/fetch.py +0 -105
  331. osn_selenium/executors/trio_threads/cdp/file_system.py +0 -31
  332. osn_selenium/executors/trio_threads/cdp/headless_experimental.py +0 -54
  333. osn_selenium/executors/trio_threads/cdp/heap_profiler.py +0 -102
  334. osn_selenium/executors/trio_threads/cdp/indexed_db.py +0 -155
  335. osn_selenium/executors/trio_threads/cdp/input.py +0 -242
  336. osn_selenium/executors/trio_threads/cdp/inspector.py +0 -34
  337. osn_selenium/executors/trio_threads/cdp/io.py +0 -42
  338. osn_selenium/executors/trio_threads/cdp/layer_tree.py +0 -84
  339. osn_selenium/executors/trio_threads/cdp/log.py +0 -44
  340. osn_selenium/executors/trio_threads/cdp/media.py +0 -30
  341. osn_selenium/executors/trio_threads/cdp/memory.py +0 -71
  342. osn_selenium/executors/trio_threads/cdp/network.py +0 -296
  343. osn_selenium/executors/trio_threads/cdp/overlay.py +0 -183
  344. osn_selenium/executors/trio_threads/cdp/page.py +0 -374
  345. osn_selenium/executors/trio_threads/cdp/performance.py +0 -46
  346. osn_selenium/executors/trio_threads/cdp/performance_timeline.py +0 -36
  347. osn_selenium/executors/trio_threads/cdp/preload.py +0 -30
  348. osn_selenium/executors/trio_threads/cdp/profiler.py +0 -71
  349. osn_selenium/executors/trio_threads/cdp/pwa.py +0 -64
  350. osn_selenium/executors/trio_threads/cdp/runtime.py +0 -230
  351. osn_selenium/executors/trio_threads/cdp/schema.py +0 -32
  352. osn_selenium/executors/trio_threads/cdp/security.py +0 -43
  353. osn_selenium/executors/trio_threads/cdp/service_worker.py +0 -69
  354. osn_selenium/executors/trio_threads/cdp/storage.py +0 -162
  355. osn_selenium/executors/trio_threads/cdp/system_info.py +0 -43
  356. osn_selenium/executors/trio_threads/cdp/target.py +0 -156
  357. osn_selenium/executors/trio_threads/cdp/tethering.py +0 -34
  358. osn_selenium/executors/trio_threads/cdp/tracing.py +0 -71
  359. osn_selenium/executors/trio_threads/cdp/web_audio.py +0 -37
  360. osn_selenium/executors/trio_threads/cdp/web_authn.py +0 -95
  361. osn_selenium/executors/unified/cdp/accessibility.py +0 -81
  362. osn_selenium/executors/unified/cdp/animation.py +0 -50
  363. osn_selenium/executors/unified/cdp/audits.py +0 -45
  364. osn_selenium/executors/unified/cdp/autofill.py +0 -41
  365. osn_selenium/executors/unified/cdp/background_service.py +0 -24
  366. osn_selenium/executors/unified/cdp/bluetooth_emulation.py +0 -132
  367. osn_selenium/executors/unified/cdp/browser.py +0 -143
  368. osn_selenium/executors/unified/cdp/cache_storage.py +0 -69
  369. osn_selenium/executors/unified/cdp/cast.py +0 -32
  370. osn_selenium/executors/unified/cdp/console.py +0 -18
  371. osn_selenium/executors/unified/cdp/css.py +0 -237
  372. osn_selenium/executors/unified/cdp/debugger.py +0 -243
  373. osn_selenium/executors/unified/cdp/device_access.py +0 -21
  374. osn_selenium/executors/unified/cdp/device_orientation.py +0 -18
  375. osn_selenium/executors/unified/cdp/dom.py +0 -380
  376. osn_selenium/executors/unified/cdp/dom_debugger.py +0 -65
  377. osn_selenium/executors/unified/cdp/dom_snapshot.py +0 -58
  378. osn_selenium/executors/unified/cdp/dom_storage.py +0 -38
  379. osn_selenium/executors/unified/cdp/emulation.py +0 -312
  380. osn_selenium/executors/unified/cdp/event_breakpoints.py +0 -24
  381. osn_selenium/executors/unified/cdp/extensions.py +0 -45
  382. osn_selenium/executors/unified/cdp/fed_cm.py +0 -51
  383. osn_selenium/executors/unified/cdp/fetch.py +0 -111
  384. osn_selenium/executors/unified/cdp/file_system.py +0 -15
  385. osn_selenium/executors/unified/cdp/headless_experimental.py +0 -38
  386. osn_selenium/executors/unified/cdp/heap_profiler.py +0 -101
  387. osn_selenium/executors/unified/cdp/indexed_db.py +0 -157
  388. osn_selenium/executors/unified/cdp/input.py +0 -254
  389. osn_selenium/executors/unified/cdp/inspector.py +0 -15
  390. osn_selenium/executors/unified/cdp/io.py +0 -29
  391. osn_selenium/executors/unified/cdp/layer_tree.py +0 -71
  392. osn_selenium/executors/unified/cdp/log.py +0 -29
  393. osn_selenium/executors/unified/cdp/media.py +0 -15
  394. osn_selenium/executors/unified/cdp/memory.py +0 -59
  395. osn_selenium/executors/unified/cdp/network.py +0 -323
  396. osn_selenium/executors/unified/cdp/overlay.py +0 -209
  397. osn_selenium/executors/unified/cdp/page.py +0 -410
  398. osn_selenium/executors/unified/cdp/performance.py +0 -27
  399. osn_selenium/executors/unified/cdp/performance_timeline.py +0 -17
  400. osn_selenium/executors/unified/cdp/preload.py +0 -15
  401. osn_selenium/executors/unified/cdp/profiler.py +0 -55
  402. osn_selenium/executors/unified/cdp/pwa.py +0 -55
  403. osn_selenium/executors/unified/cdp/runtime.py +0 -245
  404. osn_selenium/executors/unified/cdp/schema.py +0 -17
  405. osn_selenium/executors/unified/cdp/security.py +0 -27
  406. osn_selenium/executors/unified/cdp/service_worker.py +0 -62
  407. osn_selenium/executors/unified/cdp/storage.py +0 -178
  408. osn_selenium/executors/unified/cdp/system_info.py +0 -24
  409. osn_selenium/executors/unified/cdp/target.py +0 -165
  410. osn_selenium/executors/unified/cdp/tethering.py +0 -15
  411. osn_selenium/executors/unified/cdp/tracing.py +0 -62
  412. osn_selenium/executors/unified/cdp/web_audio.py +0 -18
  413. osn_selenium/executors/unified/cdp/web_authn.py +0 -103
  414. osn_selenium-1.1.0.dist-info/RECORD +0 -615
  415. /osn_selenium/{dev_tools/_exception_helpers.py → _exception_helpers.py} +0 -0
  416. /osn_selenium/executors/{unified/cdp → trio_bidi}/__init__.py +0 -0
  417. {osn_selenium-1.1.0.dist-info → osn_selenium-1.2.0.dist-info}/WHEEL +0 -0
  418. {osn_selenium-1.1.0.dist-info → osn_selenium-1.2.0.dist-info}/top_level.txt +0 -0
@@ -1,102 +0,0 @@
1
- import trio
2
- from osn_selenium.base_mixin import TrioThreadMixin
3
- from typing import (
4
- Any,
5
- Callable,
6
- Dict,
7
- Optional
8
- )
9
- from osn_selenium.executors.unified.cdp.heap_profiler import (
10
- UnifiedHeapProfilerCDPExecutor
11
- )
12
- from osn_selenium.abstract.executors.cdp.heap_profiler import (
13
- AbstractHeapProfilerCDPExecutor
14
- )
15
-
16
-
17
- __all__ = ["HeapProfilerCDPExecutor"]
18
-
19
-
20
- class HeapProfilerCDPExecutor(
21
- UnifiedHeapProfilerCDPExecutor,
22
- TrioThreadMixin,
23
- AbstractHeapProfilerCDPExecutor
24
- ):
25
- def __init__(
26
- self,
27
- execute_function: Callable[[str, Dict[str, Any]], Any],
28
- lock: trio.Lock,
29
- limiter: trio.CapacityLimiter
30
- ):
31
- UnifiedHeapProfilerCDPExecutor.__init__(self, execute_function=execute_function)
32
-
33
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
34
-
35
- async def add_inspected_heap_object(self, heap_object_id: str) -> None:
36
- return await self.sync_to_trio(sync_function=self._add_inspected_heap_object_impl)(heap_object_id=heap_object_id)
37
-
38
- async def collect_garbage(self) -> None:
39
- return await self.sync_to_trio(sync_function=self._collect_garbage_impl)()
40
-
41
- async def disable(self) -> None:
42
- return await self.sync_to_trio(sync_function=self._disable_impl)()
43
-
44
- async def enable(self) -> None:
45
- return await self.sync_to_trio(sync_function=self._enable_impl)()
46
-
47
- async def get_heap_object_id(self, object_id: str) -> str:
48
- return await self.sync_to_trio(sync_function=self._get_heap_object_id_impl)(object_id=object_id)
49
-
50
- async def get_object_by_heap_object_id(self, object_id: str, object_group: Optional[str] = None) -> Dict[str, Any]:
51
- return await self.sync_to_trio(sync_function=self._get_object_by_heap_object_id_impl)(object_id=object_id, object_group=object_group)
52
-
53
- async def get_sampling_profile(self) -> Dict[str, Any]:
54
- return await self.sync_to_trio(sync_function=self._get_sampling_profile_impl)()
55
-
56
- async def start_sampling(
57
- self,
58
- sampling_interval: Optional[float] = None,
59
- stack_depth: Optional[float] = None,
60
- include_objects_collected_by_major_gc: Optional[bool] = None,
61
- include_objects_collected_by_minor_gc: Optional[bool] = None
62
- ) -> None:
63
- return await self.sync_to_trio(sync_function=self._start_sampling_impl)(
64
- sampling_interval=sampling_interval,
65
- stack_depth=stack_depth,
66
- include_objects_collected_by_major_gc=include_objects_collected_by_major_gc,
67
- include_objects_collected_by_minor_gc=include_objects_collected_by_minor_gc
68
- )
69
-
70
- async def start_tracking_heap_objects(self, track_allocations: Optional[bool] = None) -> None:
71
- return await self.sync_to_trio(sync_function=self._start_tracking_heap_objects_impl)(track_allocations=track_allocations)
72
-
73
- async def stop_sampling(self) -> Dict[str, Any]:
74
- return await self.sync_to_trio(sync_function=self._stop_sampling_impl)()
75
-
76
- async def stop_tracking_heap_objects(
77
- self,
78
- report_progress: Optional[bool] = None,
79
- treat_global_objects_as_roots: Optional[bool] = None,
80
- capture_numeric_value: Optional[bool] = None,
81
- expose_internals: Optional[bool] = None
82
- ) -> None:
83
- return await self.sync_to_trio(sync_function=self._stop_tracking_heap_objects_impl)(
84
- report_progress=report_progress,
85
- treat_global_objects_as_roots=treat_global_objects_as_roots,
86
- capture_numeric_value=capture_numeric_value,
87
- expose_internals=expose_internals
88
- )
89
-
90
- async def take_heap_snapshot(
91
- self,
92
- report_progress: Optional[bool] = None,
93
- treat_global_objects_as_roots: Optional[bool] = None,
94
- capture_numeric_value: Optional[bool] = None,
95
- expose_internals: Optional[bool] = None
96
- ) -> None:
97
- return await self.sync_to_trio(sync_function=self._take_heap_snapshot_impl)(
98
- report_progress=report_progress,
99
- treat_global_objects_as_roots=treat_global_objects_as_roots,
100
- capture_numeric_value=capture_numeric_value,
101
- expose_internals=expose_internals
102
- )
@@ -1,155 +0,0 @@
1
- import trio
2
- from osn_selenium.base_mixin import TrioThreadMixin
3
- from typing import (
4
- Any,
5
- Callable,
6
- Dict,
7
- List,
8
- Optional,
9
- Tuple
10
- )
11
- from osn_selenium.executors.unified.cdp.indexed_db import (
12
- UnifiedIndexedDbCDPExecutor
13
- )
14
- from osn_selenium.abstract.executors.cdp.indexed_db import (
15
- AbstractIndexedDbCDPExecutor
16
- )
17
-
18
-
19
- __all__ = ["IndexedDbCDPExecutor"]
20
-
21
-
22
- class IndexedDbCDPExecutor(
23
- UnifiedIndexedDbCDPExecutor,
24
- TrioThreadMixin,
25
- AbstractIndexedDbCDPExecutor
26
- ):
27
- def __init__(
28
- self,
29
- execute_function: Callable[[str, Dict[str, Any]], Any],
30
- lock: trio.Lock,
31
- limiter: trio.CapacityLimiter
32
- ):
33
- UnifiedIndexedDbCDPExecutor.__init__(self, execute_function=execute_function)
34
-
35
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
36
-
37
- async def clear_object_store(
38
- self,
39
- security_origin: Optional[str] = None,
40
- storage_key: Optional[str] = None,
41
- storage_bucket: Optional[Dict[str, Any]] = None,
42
- database_name: str = None,
43
- object_store_name: str = None
44
- ) -> None:
45
- return await self.sync_to_trio(sync_function=self._clear_object_store_impl)(
46
- security_origin=security_origin,
47
- storage_key=storage_key,
48
- storage_bucket=storage_bucket,
49
- database_name=database_name,
50
- object_store_name=object_store_name
51
- )
52
-
53
- async def delete_database(
54
- self,
55
- security_origin: Optional[str] = None,
56
- storage_key: Optional[str] = None,
57
- storage_bucket: Optional[Dict[str, Any]] = None,
58
- database_name: str = None
59
- ) -> None:
60
- return await self.sync_to_trio(sync_function=self._delete_database_impl)(
61
- security_origin=security_origin,
62
- storage_key=storage_key,
63
- storage_bucket=storage_bucket,
64
- database_name=database_name
65
- )
66
-
67
- async def delete_object_store_entries(
68
- self,
69
- security_origin: Optional[str] = None,
70
- storage_key: Optional[str] = None,
71
- storage_bucket: Optional[Dict[str, Any]] = None,
72
- database_name: str = None,
73
- object_store_name: str = None,
74
- key_range: Dict[str, Any] = None
75
- ) -> None:
76
- return await self.sync_to_trio(sync_function=self._delete_object_store_entries_impl)(
77
- security_origin=security_origin,
78
- storage_key=storage_key,
79
- storage_bucket=storage_bucket,
80
- database_name=database_name,
81
- object_store_name=object_store_name,
82
- key_range=key_range
83
- )
84
-
85
- async def disable(self) -> None:
86
- return await self.sync_to_trio(sync_function=self._disable_impl)()
87
-
88
- async def enable(self) -> None:
89
- return await self.sync_to_trio(sync_function=self._enable_impl)()
90
-
91
- async def get_metadata(
92
- self,
93
- security_origin: Optional[str] = None,
94
- storage_key: Optional[str] = None,
95
- storage_bucket: Optional[Dict[str, Any]] = None,
96
- database_name: str = None,
97
- object_store_name: str = None
98
- ) -> Tuple[float, float]:
99
- return await self.sync_to_trio(sync_function=self._get_metadata_impl)(
100
- security_origin=security_origin,
101
- storage_key=storage_key,
102
- storage_bucket=storage_bucket,
103
- database_name=database_name,
104
- object_store_name=object_store_name
105
- )
106
-
107
- async def request_data(
108
- self,
109
- security_origin: Optional[str] = None,
110
- storage_key: Optional[str] = None,
111
- storage_bucket: Optional[Dict[str, Any]] = None,
112
- database_name: str = None,
113
- object_store_name: str = None,
114
- index_name: Optional[str] = None,
115
- skip_count: int = None,
116
- page_size: int = None,
117
- key_range: Optional[Dict[str, Any]] = None
118
- ) -> Tuple[List[Dict[str, Any]], bool]:
119
- return await self.sync_to_trio(sync_function=self._request_data_impl)(
120
- security_origin=security_origin,
121
- storage_key=storage_key,
122
- storage_bucket=storage_bucket,
123
- database_name=database_name,
124
- object_store_name=object_store_name,
125
- index_name=index_name,
126
- skip_count=skip_count,
127
- page_size=page_size,
128
- key_range=key_range
129
- )
130
-
131
- async def request_database(
132
- self,
133
- security_origin: Optional[str] = None,
134
- storage_key: Optional[str] = None,
135
- storage_bucket: Optional[Dict[str, Any]] = None,
136
- database_name: str = None
137
- ) -> Dict[str, Any]:
138
- return await self.sync_to_trio(sync_function=self._request_database_impl)(
139
- security_origin=security_origin,
140
- storage_key=storage_key,
141
- storage_bucket=storage_bucket,
142
- database_name=database_name
143
- )
144
-
145
- async def request_database_names(
146
- self,
147
- security_origin: Optional[str] = None,
148
- storage_key: Optional[str] = None,
149
- storage_bucket: Optional[Dict[str, Any]] = None
150
- ) -> List[str]:
151
- return await self.sync_to_trio(sync_function=self._request_database_names_impl)(
152
- security_origin=security_origin,
153
- storage_key=storage_key,
154
- storage_bucket=storage_bucket
155
- )
@@ -1,242 +0,0 @@
1
- import trio
2
- from osn_selenium.base_mixin import TrioThreadMixin
3
- from typing import (
4
- Any,
5
- Callable,
6
- Dict,
7
- List,
8
- Optional
9
- )
10
- from osn_selenium.executors.unified.cdp.input import (
11
- UnifiedInputCDPExecutor
12
- )
13
- from osn_selenium.abstract.executors.cdp.input import (
14
- AbstractInputCDPExecutor
15
- )
16
-
17
-
18
- __all__ = ["InputCDPExecutor"]
19
-
20
-
21
- class InputCDPExecutor(UnifiedInputCDPExecutor, TrioThreadMixin, AbstractInputCDPExecutor):
22
- def __init__(
23
- self,
24
- execute_function: Callable[[str, Dict[str, Any]], Any],
25
- lock: trio.Lock,
26
- limiter: trio.CapacityLimiter
27
- ):
28
- UnifiedInputCDPExecutor.__init__(self, execute_function=execute_function)
29
-
30
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
31
-
32
- async def cancel_dragging(self) -> None:
33
- return await self.sync_to_trio(sync_function=self._cancel_dragging_impl)()
34
-
35
- async def dispatch_drag_event(
36
- self,
37
- type_: str,
38
- x: float,
39
- y: float,
40
- data: Dict[str, Any],
41
- modifiers: Optional[int] = None
42
- ) -> None:
43
- return await self.sync_to_trio(sync_function=self._dispatch_drag_event_impl)(type_=type_, x=x, y=y, data=data, modifiers=modifiers)
44
-
45
- async def dispatch_key_event(
46
- self,
47
- type_: str,
48
- modifiers: Optional[int] = None,
49
- timestamp: Optional[float] = None,
50
- text: Optional[str] = None,
51
- unmodified_text: Optional[str] = None,
52
- key_identifier: Optional[str] = None,
53
- code: Optional[str] = None,
54
- key: Optional[str] = None,
55
- windows_virtual_key_code: Optional[int] = None,
56
- native_virtual_key_code: Optional[int] = None,
57
- auto_repeat: Optional[bool] = None,
58
- is_keypad: Optional[bool] = None,
59
- is_system_key: Optional[bool] = None,
60
- location: Optional[int] = None,
61
- commands: Optional[List[str]] = None
62
- ) -> None:
63
- return await self.sync_to_trio(sync_function=self._dispatch_key_event_impl)(
64
- type_=type_,
65
- modifiers=modifiers,
66
- timestamp=timestamp,
67
- text=text,
68
- unmodified_text=unmodified_text,
69
- key_identifier=key_identifier,
70
- code=code,
71
- key=key,
72
- windows_virtual_key_code=windows_virtual_key_code,
73
- native_virtual_key_code=native_virtual_key_code,
74
- auto_repeat=auto_repeat,
75
- is_keypad=is_keypad,
76
- is_system_key=is_system_key,
77
- location=location,
78
- commands=commands
79
- )
80
-
81
- async def dispatch_mouse_event(
82
- self,
83
- type_: str,
84
- x: float,
85
- y: float,
86
- modifiers: Optional[int] = None,
87
- timestamp: Optional[float] = None,
88
- button: Optional[str] = None,
89
- buttons: Optional[int] = None,
90
- click_count: Optional[int] = None,
91
- force: Optional[float] = None,
92
- tangential_pressure: Optional[float] = None,
93
- tilt_x: Optional[float] = None,
94
- tilt_y: Optional[float] = None,
95
- twist: Optional[int] = None,
96
- delta_x: Optional[float] = None,
97
- delta_y: Optional[float] = None,
98
- pointer_type: Optional[str] = None
99
- ) -> None:
100
- return await self.sync_to_trio(sync_function=self._dispatch_mouse_event_impl)(
101
- type_=type_,
102
- x=x,
103
- y=y,
104
- modifiers=modifiers,
105
- timestamp=timestamp,
106
- button=button,
107
- buttons=buttons,
108
- click_count=click_count,
109
- force=force,
110
- tangential_pressure=tangential_pressure,
111
- tilt_x=tilt_x,
112
- tilt_y=tilt_y,
113
- twist=twist,
114
- delta_x=delta_x,
115
- delta_y=delta_y,
116
- pointer_type=pointer_type
117
- )
118
-
119
- async def dispatch_touch_event(
120
- self,
121
- type_: str,
122
- touch_points: List[Dict[str, Any]],
123
- modifiers: Optional[int] = None,
124
- timestamp: Optional[float] = None
125
- ) -> None:
126
- return await self.sync_to_trio(sync_function=self._dispatch_touch_event_impl)(
127
- type_=type_,
128
- touch_points=touch_points,
129
- modifiers=modifiers,
130
- timestamp=timestamp
131
- )
132
-
133
- async def emulate_touch_from_mouse_event(
134
- self,
135
- type_: str,
136
- x: int,
137
- y: int,
138
- button: str,
139
- timestamp: Optional[float] = None,
140
- delta_x: Optional[float] = None,
141
- delta_y: Optional[float] = None,
142
- modifiers: Optional[int] = None,
143
- click_count: Optional[int] = None
144
- ) -> None:
145
- return await self.sync_to_trio(sync_function=self._emulate_touch_from_mouse_event_impl)(
146
- type_=type_,
147
- x=x,
148
- y=y,
149
- button=button,
150
- timestamp=timestamp,
151
- delta_x=delta_x,
152
- delta_y=delta_y,
153
- modifiers=modifiers,
154
- click_count=click_count
155
- )
156
-
157
- async def ime_set_composition(
158
- self,
159
- text: str,
160
- selection_start: int,
161
- selection_end: int,
162
- replacement_start: Optional[int] = None,
163
- replacement_end: Optional[int] = None
164
- ) -> None:
165
- return await self.sync_to_trio(sync_function=self._ime_set_composition_impl)(
166
- text=text,
167
- selection_start=selection_start,
168
- selection_end=selection_end,
169
- replacement_start=replacement_start,
170
- replacement_end=replacement_end
171
- )
172
-
173
- async def insert_text(self, text: str) -> None:
174
- return await self.sync_to_trio(sync_function=self._insert_text_impl)(text=text)
175
-
176
- async def set_ignore_input_events(self, ignore: bool) -> None:
177
- return await self.sync_to_trio(sync_function=self._set_ignore_input_events_impl)(ignore=ignore)
178
-
179
- async def set_intercept_drags(self, enabled: bool) -> None:
180
- return await self.sync_to_trio(sync_function=self._set_intercept_drags_impl)(enabled=enabled)
181
-
182
- async def synthesize_pinch_gesture(
183
- self,
184
- x: float,
185
- y: float,
186
- scale_factor: float,
187
- relative_speed: Optional[int] = None,
188
- gesture_source_type: Optional[str] = None
189
- ) -> None:
190
- return await self.sync_to_trio(sync_function=self._synthesize_pinch_gesture_impl)(
191
- x=x,
192
- y=y,
193
- scale_factor=scale_factor,
194
- relative_speed=relative_speed,
195
- gesture_source_type=gesture_source_type
196
- )
197
-
198
- async def synthesize_scroll_gesture(
199
- self,
200
- x: float,
201
- y: float,
202
- x_distance: Optional[float] = None,
203
- y_distance: Optional[float] = None,
204
- x_overscroll: Optional[float] = None,
205
- y_overscroll: Optional[float] = None,
206
- prevent_fling: Optional[bool] = None,
207
- speed: Optional[int] = None,
208
- gesture_source_type: Optional[str] = None,
209
- repeat_count: Optional[int] = None,
210
- repeat_delay_ms: Optional[int] = None,
211
- interaction_marker_name: Optional[str] = None
212
- ) -> None:
213
- return await self.sync_to_trio(sync_function=self._synthesize_scroll_gesture_impl)(
214
- x=x,
215
- y=y,
216
- x_distance=x_distance,
217
- y_distance=y_distance,
218
- x_overscroll=x_overscroll,
219
- y_overscroll=y_overscroll,
220
- prevent_fling=prevent_fling,
221
- speed=speed,
222
- gesture_source_type=gesture_source_type,
223
- repeat_count=repeat_count,
224
- repeat_delay_ms=repeat_delay_ms,
225
- interaction_marker_name=interaction_marker_name
226
- )
227
-
228
- async def synthesize_tap_gesture(
229
- self,
230
- x: float,
231
- y: float,
232
- duration: Optional[int] = None,
233
- tap_count: Optional[int] = None,
234
- gesture_source_type: Optional[str] = None
235
- ) -> None:
236
- return await self.sync_to_trio(sync_function=self._synthesize_tap_gesture_impl)(
237
- x=x,
238
- y=y,
239
- duration=duration,
240
- tap_count=tap_count,
241
- gesture_source_type=gesture_source_type
242
- )
@@ -1,34 +0,0 @@
1
- import trio
2
- from typing import Any, Callable, Dict
3
- from osn_selenium.base_mixin import TrioThreadMixin
4
- from osn_selenium.executors.unified.cdp.inspector import (
5
- UnifiedInspectorCDPExecutor
6
- )
7
- from osn_selenium.abstract.executors.cdp.inspector import (
8
- AbstractInspectorCDPExecutor
9
- )
10
-
11
-
12
- __all__ = ["InspectorCDPExecutor"]
13
-
14
-
15
- class InspectorCDPExecutor(
16
- UnifiedInspectorCDPExecutor,
17
- TrioThreadMixin,
18
- AbstractInspectorCDPExecutor
19
- ):
20
- def __init__(
21
- self,
22
- execute_function: Callable[[str, Dict[str, Any]], Any],
23
- lock: trio.Lock,
24
- limiter: trio.CapacityLimiter
25
- ):
26
- UnifiedInspectorCDPExecutor.__init__(self, execute_function=execute_function)
27
-
28
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
29
-
30
- async def disable(self) -> None:
31
- return await self.sync_to_trio(sync_function=self._disable_impl)()
32
-
33
- async def enable(self) -> None:
34
- return await self.sync_to_trio(sync_function=self._enable_impl)()
@@ -1,42 +0,0 @@
1
- import trio
2
- from osn_selenium.base_mixin import TrioThreadMixin
3
- from typing import (
4
- Any,
5
- Callable,
6
- Dict,
7
- Optional,
8
- Tuple
9
- )
10
- from osn_selenium.executors.unified.cdp.io import UnifiedIoCDPExecutor
11
- from osn_selenium.abstract.executors.cdp.io import (
12
- AbstractIoCDPExecutor
13
- )
14
-
15
-
16
- __all__ = ["IoCDPExecutor"]
17
-
18
-
19
- class IoCDPExecutor(UnifiedIoCDPExecutor, TrioThreadMixin, AbstractIoCDPExecutor):
20
- def __init__(
21
- self,
22
- execute_function: Callable[[str, Dict[str, Any]], Any],
23
- lock: trio.Lock,
24
- limiter: trio.CapacityLimiter
25
- ):
26
- UnifiedIoCDPExecutor.__init__(self, execute_function=execute_function)
27
-
28
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
29
-
30
- async def close(self, handle: str) -> None:
31
- return await self.sync_to_trio(sync_function=self._close_impl)(handle=handle)
32
-
33
- async def read(
34
- self,
35
- handle: str,
36
- offset: Optional[int] = None,
37
- size: Optional[int] = None
38
- ) -> Tuple[Optional[bool], str, bool]:
39
- return await self.sync_to_trio(sync_function=self._read_impl)(handle=handle, offset=offset, size=size)
40
-
41
- async def resolve_blob(self, object_id: str) -> str:
42
- return await self.sync_to_trio(sync_function=self._resolve_blob_impl)(object_id=object_id)
@@ -1,84 +0,0 @@
1
- import trio
2
- from osn_selenium.base_mixin import TrioThreadMixin
3
- from typing import (
4
- Any,
5
- Callable,
6
- Dict,
7
- List,
8
- Optional,
9
- Tuple
10
- )
11
- from osn_selenium.executors.unified.cdp.layer_tree import (
12
- UnifiedLayerTreeCDPExecutor
13
- )
14
- from osn_selenium.abstract.executors.cdp.layer_tree import (
15
- AbstractLayerTreeCDPExecutor
16
- )
17
-
18
-
19
- __all__ = ["LayerTreeCDPExecutor"]
20
-
21
-
22
- class LayerTreeCDPExecutor(
23
- UnifiedLayerTreeCDPExecutor,
24
- TrioThreadMixin,
25
- AbstractLayerTreeCDPExecutor
26
- ):
27
- def __init__(
28
- self,
29
- execute_function: Callable[[str, Dict[str, Any]], Any],
30
- lock: trio.Lock,
31
- limiter: trio.CapacityLimiter
32
- ):
33
- UnifiedLayerTreeCDPExecutor.__init__(self, execute_function=execute_function)
34
-
35
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
36
-
37
- async def compositing_reasons(self, layer_id: str) -> Tuple[List[str], List[str]]:
38
- return await self.sync_to_trio(sync_function=self._compositing_reasons_impl)(layer_id=layer_id)
39
-
40
- async def disable(self) -> None:
41
- return await self.sync_to_trio(sync_function=self._disable_impl)()
42
-
43
- async def enable(self) -> None:
44
- return await self.sync_to_trio(sync_function=self._enable_impl)()
45
-
46
- async def load_snapshot(self, tiles: List[Dict[str, Any]]) -> str:
47
- return await self.sync_to_trio(sync_function=self._load_snapshot_impl)(tiles=tiles)
48
-
49
- async def make_snapshot(self, layer_id: str) -> str:
50
- return await self.sync_to_trio(sync_function=self._make_snapshot_impl)(layer_id=layer_id)
51
-
52
- async def profile_snapshot(
53
- self,
54
- snapshot_id: str,
55
- min_repeat_count: Optional[int] = None,
56
- min_duration: Optional[float] = None,
57
- clip_rect: Optional[Dict[str, Any]] = None
58
- ) -> List[List[float]]:
59
- return await self.sync_to_trio(sync_function=self._profile_snapshot_impl)(
60
- snapshot_id=snapshot_id,
61
- min_repeat_count=min_repeat_count,
62
- min_duration=min_duration,
63
- clip_rect=clip_rect
64
- )
65
-
66
- async def release_snapshot(self, snapshot_id: str) -> None:
67
- return await self.sync_to_trio(sync_function=self._release_snapshot_impl)(snapshot_id=snapshot_id)
68
-
69
- async def replay_snapshot(
70
- self,
71
- snapshot_id: str,
72
- from_step: Optional[int] = None,
73
- to_step: Optional[int] = None,
74
- scale: Optional[float] = None
75
- ) -> str:
76
- return await self.sync_to_trio(sync_function=self._replay_snapshot_impl)(
77
- snapshot_id=snapshot_id,
78
- from_step=from_step,
79
- to_step=to_step,
80
- scale=scale
81
- )
82
-
83
- async def snapshot_command_log(self, snapshot_id: str) -> List[Any]:
84
- return await self.sync_to_trio(sync_function=self._snapshot_command_log_impl)(snapshot_id=snapshot_id)
@@ -1,44 +0,0 @@
1
- import trio
2
- from osn_selenium.base_mixin import TrioThreadMixin
3
- from typing import (
4
- Any,
5
- Callable,
6
- Dict,
7
- List
8
- )
9
- from osn_selenium.executors.unified.cdp.log import (
10
- UnifiedLogCDPExecutor
11
- )
12
- from osn_selenium.abstract.executors.cdp.log import (
13
- AbstractLogCDPExecutor
14
- )
15
-
16
-
17
- __all__ = ["LogCDPExecutor"]
18
-
19
-
20
- class LogCDPExecutor(UnifiedLogCDPExecutor, TrioThreadMixin, AbstractLogCDPExecutor):
21
- def __init__(
22
- self,
23
- execute_function: Callable[[str, Dict[str, Any]], Any],
24
- lock: trio.Lock,
25
- limiter: trio.CapacityLimiter
26
- ):
27
- UnifiedLogCDPExecutor.__init__(self, execute_function=execute_function)
28
-
29
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
30
-
31
- async def clear(self) -> None:
32
- return await self.sync_to_trio(sync_function=self._clear_impl)()
33
-
34
- async def disable(self) -> None:
35
- return await self.sync_to_trio(sync_function=self._disable_impl)()
36
-
37
- async def enable(self) -> None:
38
- return await self.sync_to_trio(sync_function=self._enable_impl)()
39
-
40
- async def start_violations_report(self, config: List[Dict[str, Any]]) -> None:
41
- return await self.sync_to_trio(sync_function=self._start_violations_report_impl)(config=config)
42
-
43
- async def stop_violations_report(self) -> None:
44
- return await self.sync_to_trio(sync_function=self._stop_violations_report_impl)()