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,319 +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.dom import (
12
- UnifiedDomCDPExecutor
13
- )
14
- from osn_selenium.abstract.executors.cdp.dom import (
15
- AbstractDomCDPExecutor
16
- )
17
-
18
-
19
- __all__ = ["DomCDPExecutor"]
20
-
21
-
22
- class DomCDPExecutor(UnifiedDomCDPExecutor, TrioThreadMixin, AbstractDomCDPExecutor):
23
- def __init__(
24
- self,
25
- execute_function: Callable[[str, Dict[str, Any]], Any],
26
- lock: trio.Lock,
27
- limiter: trio.CapacityLimiter
28
- ):
29
- UnifiedDomCDPExecutor.__init__(self, execute_function=execute_function)
30
-
31
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
32
-
33
- async def collect_class_names_from_subtree(self, node_id: int) -> List[str]:
34
- return await self.sync_to_trio(sync_function=self._collect_class_names_from_subtree_impl)(node_id=node_id)
35
-
36
- async def copy_to(
37
- self,
38
- node_id: int,
39
- target_node_id: int,
40
- insert_before_node_id: Optional[int] = None
41
- ) -> int:
42
- return await self.sync_to_trio(sync_function=self._copy_to_impl)(
43
- node_id=node_id,
44
- target_node_id=target_node_id,
45
- insert_before_node_id=insert_before_node_id
46
- )
47
-
48
- async def describe_node(
49
- self,
50
- node_id: Optional[int] = None,
51
- backend_node_id: Optional[int] = None,
52
- object_id: Optional[str] = None,
53
- depth: Optional[int] = None,
54
- pierce: Optional[bool] = None
55
- ) -> Dict[str, Any]:
56
- return await self.sync_to_trio(sync_function=self._describe_node_impl)(
57
- node_id=node_id,
58
- backend_node_id=backend_node_id,
59
- object_id=object_id,
60
- depth=depth,
61
- pierce=pierce
62
- )
63
-
64
- async def disable(self) -> None:
65
- return await self.sync_to_trio(sync_function=self._disable_impl)()
66
-
67
- async def discard_search_results(self, search_id: str) -> None:
68
- return await self.sync_to_trio(sync_function=self._discard_search_results_impl)(search_id=search_id)
69
-
70
- async def enable(self, include_whitespace: Optional[str] = None) -> None:
71
- return await self.sync_to_trio(sync_function=self._enable_impl)(include_whitespace=include_whitespace)
72
-
73
- async def focus(
74
- self,
75
- node_id: Optional[int] = None,
76
- backend_node_id: Optional[int] = None,
77
- object_id: Optional[str] = None
78
- ) -> None:
79
- return await self.sync_to_trio(sync_function=self._focus_impl)(node_id=node_id, backend_node_id=backend_node_id, object_id=object_id)
80
-
81
- async def force_show_popover(self, node_id: int, enable: bool) -> List[int]:
82
- return await self.sync_to_trio(sync_function=self._force_show_popover_impl)(node_id=node_id, enable=enable)
83
-
84
- async def get_anchor_element(self, node_id: int, anchor_specifier: Optional[str] = None) -> int:
85
- return await self.sync_to_trio(sync_function=self._get_anchor_element_impl)(node_id=node_id, anchor_specifier=anchor_specifier)
86
-
87
- async def get_attributes(self, node_id: int) -> List[str]:
88
- return await self.sync_to_trio(sync_function=self._get_attributes_impl)(node_id=node_id)
89
-
90
- async def get_box_model(
91
- self,
92
- node_id: Optional[int] = None,
93
- backend_node_id: Optional[int] = None,
94
- object_id: Optional[str] = None
95
- ) -> Dict[str, Any]:
96
- return await self.sync_to_trio(sync_function=self._get_box_model_impl)(node_id=node_id, backend_node_id=backend_node_id, object_id=object_id)
97
-
98
- async def get_container_for_node(
99
- self,
100
- node_id: int,
101
- container_name: Optional[str] = None,
102
- physical_axes: Optional[str] = None,
103
- logical_axes: Optional[str] = None,
104
- queries_scroll_state: Optional[bool] = None,
105
- queries_anchored: Optional[bool] = None
106
- ) -> Optional[int]:
107
- return await self.sync_to_trio(sync_function=self._get_container_for_node_impl)(
108
- node_id=node_id,
109
- container_name=container_name,
110
- physical_axes=physical_axes,
111
- logical_axes=logical_axes,
112
- queries_scroll_state=queries_scroll_state,
113
- queries_anchored=queries_anchored
114
- )
115
-
116
- async def get_content_quads(
117
- self,
118
- node_id: Optional[int] = None,
119
- backend_node_id: Optional[int] = None,
120
- object_id: Optional[str] = None
121
- ) -> List[List[float]]:
122
- return await self.sync_to_trio(sync_function=self._get_content_quads_impl)(node_id=node_id, backend_node_id=backend_node_id, object_id=object_id)
123
-
124
- async def get_detached_dom_nodes(self) -> List[Dict[str, Any]]:
125
- return await self.sync_to_trio(sync_function=self._get_detached_dom_nodes_impl)()
126
-
127
- async def get_document(self, depth: Optional[int] = None, pierce: Optional[bool] = None) -> Dict[str, Any]:
128
- return await self.sync_to_trio(sync_function=self._get_document_impl)(depth=depth, pierce=pierce)
129
-
130
- async def get_element_by_relation(self, node_id: int, relation: str) -> int:
131
- return await self.sync_to_trio(sync_function=self._get_element_by_relation_impl)(node_id=node_id, relation=relation)
132
-
133
- async def get_file_info(self, object_id: str) -> str:
134
- return await self.sync_to_trio(sync_function=self._get_file_info_impl)(object_id=object_id)
135
-
136
- async def get_flattened_document(self, depth: Optional[int] = None, pierce: Optional[bool] = None) -> List[Dict[str, Any]]:
137
- return await self.sync_to_trio(sync_function=self._get_flattened_document_impl)(depth=depth, pierce=pierce)
138
-
139
- async def get_frame_owner(self, frame_id: str) -> Tuple[int, Optional[int]]:
140
- return await self.sync_to_trio(sync_function=self._get_frame_owner_impl)(frame_id=frame_id)
141
-
142
- async def get_node_for_location(
143
- self,
144
- x: int,
145
- y: int,
146
- include_user_agent_shadow_dom: Optional[bool] = None,
147
- ignore_pointer_events_none: Optional[bool] = None
148
- ) -> Tuple[int, str, Optional[int]]:
149
- return await self.sync_to_trio(sync_function=self._get_node_for_location_impl)(
150
- x=x,
151
- y=y,
152
- include_user_agent_shadow_dom=include_user_agent_shadow_dom,
153
- ignore_pointer_events_none=ignore_pointer_events_none
154
- )
155
-
156
- async def get_node_stack_traces(self, node_id: int) -> Optional[Dict[str, Any]]:
157
- return await self.sync_to_trio(sync_function=self._get_node_stack_traces_impl)(node_id=node_id)
158
-
159
- async def get_nodes_for_subtree_by_style(
160
- self,
161
- node_id: int,
162
- computed_styles: List[Dict[str, Any]],
163
- pierce: Optional[bool] = None
164
- ) -> List[int]:
165
- return await self.sync_to_trio(sync_function=self._get_nodes_for_subtree_by_style_impl)(node_id=node_id, computed_styles=computed_styles, pierce=pierce)
166
-
167
- async def get_outer_html(
168
- self,
169
- node_id: Optional[int] = None,
170
- backend_node_id: Optional[int] = None,
171
- object_id: Optional[str] = None,
172
- include_shadow_dom: Optional[bool] = None
173
- ) -> str:
174
- return await self.sync_to_trio(sync_function=self._get_outer_html_impl)(
175
- node_id=node_id,
176
- backend_node_id=backend_node_id,
177
- object_id=object_id,
178
- include_shadow_dom=include_shadow_dom
179
- )
180
-
181
- async def get_querying_descendants_for_container(self, node_id: int) -> List[int]:
182
- return await self.sync_to_trio(sync_function=self._get_querying_descendants_for_container_impl)(node_id=node_id)
183
-
184
- async def get_relayout_boundary(self, node_id: int) -> int:
185
- return await self.sync_to_trio(sync_function=self._get_relayout_boundary_impl)(node_id=node_id)
186
-
187
- async def get_search_results(self, search_id: str, from_index: int, to_index: int) -> List[int]:
188
- return await self.sync_to_trio(sync_function=self._get_search_results_impl)(search_id=search_id, from_index=from_index, to_index=to_index)
189
-
190
- async def get_top_layer_elements(self) -> List[int]:
191
- return await self.sync_to_trio(sync_function=self._get_top_layer_elements_impl)()
192
-
193
- async def hide_highlight(self) -> None:
194
- return await self.sync_to_trio(sync_function=self._hide_highlight_impl)()
195
-
196
- async def highlight_node(self) -> None:
197
- return await self.sync_to_trio(sync_function=self._highlight_node_impl)()
198
-
199
- async def highlight_rect(self) -> None:
200
- return await self.sync_to_trio(sync_function=self._highlight_rect_impl)()
201
-
202
- async def mark_undoable_state(self) -> None:
203
- return await self.sync_to_trio(sync_function=self._mark_undoable_state_impl)()
204
-
205
- async def move_to(
206
- self,
207
- node_id: int,
208
- target_node_id: int,
209
- insert_before_node_id: Optional[int] = None
210
- ) -> int:
211
- return await self.sync_to_trio(sync_function=self._move_to_impl)(
212
- node_id=node_id,
213
- target_node_id=target_node_id,
214
- insert_before_node_id=insert_before_node_id
215
- )
216
-
217
- async def perform_search(self, query: str, include_user_agent_shadow_dom: Optional[bool] = None) -> Tuple[str, int]:
218
- return await self.sync_to_trio(sync_function=self._perform_search_impl)(
219
- query=query,
220
- include_user_agent_shadow_dom=include_user_agent_shadow_dom
221
- )
222
-
223
- async def push_node_by_path_to_frontend(self, path: str) -> int:
224
- return await self.sync_to_trio(sync_function=self._push_node_by_path_to_frontend_impl)(path=path)
225
-
226
- async def push_nodes_by_backend_ids_to_frontend(self, backend_node_ids: List[int]) -> List[int]:
227
- return await self.sync_to_trio(sync_function=self._push_nodes_by_backend_ids_to_frontend_impl)(backend_node_ids=backend_node_ids)
228
-
229
- async def query_selector(self, node_id: int, selector: str) -> int:
230
- return await self.sync_to_trio(sync_function=self._query_selector_impl)(node_id=node_id, selector=selector)
231
-
232
- async def query_selector_all(self, node_id: int, selector: str) -> List[int]:
233
- return await self.sync_to_trio(sync_function=self._query_selector_all_impl)(node_id=node_id, selector=selector)
234
-
235
- async def redo(self) -> None:
236
- return await self.sync_to_trio(sync_function=self._redo_impl)()
237
-
238
- async def remove_attribute(self, node_id: int, name: str) -> None:
239
- return await self.sync_to_trio(sync_function=self._remove_attribute_impl)(node_id=node_id, name=name)
240
-
241
- async def remove_node(self, node_id: int) -> None:
242
- return await self.sync_to_trio(sync_function=self._remove_node_impl)(node_id=node_id)
243
-
244
- async def request_child_nodes(
245
- self,
246
- node_id: int,
247
- depth: Optional[int] = None,
248
- pierce: Optional[bool] = None
249
- ) -> None:
250
- return await self.sync_to_trio(sync_function=self._request_child_nodes_impl)(node_id=node_id, depth=depth, pierce=pierce)
251
-
252
- async def request_node(self, object_id: str) -> int:
253
- return await self.sync_to_trio(sync_function=self._request_node_impl)(object_id=object_id)
254
-
255
- async def resolve_node(
256
- self,
257
- node_id: Optional[int] = None,
258
- backend_node_id: Optional[int] = None,
259
- object_group: Optional[str] = None,
260
- execution_context_id: Optional[int] = None
261
- ) -> Dict[str, Any]:
262
- return await self.sync_to_trio(sync_function=self._resolve_node_impl)(
263
- node_id=node_id,
264
- backend_node_id=backend_node_id,
265
- object_group=object_group,
266
- execution_context_id=execution_context_id
267
- )
268
-
269
- async def scroll_into_view_if_needed(
270
- self,
271
- node_id: Optional[int] = None,
272
- backend_node_id: Optional[int] = None,
273
- object_id: Optional[str] = None,
274
- rect: Optional[Dict[str, Any]] = None
275
- ) -> None:
276
- return await self.sync_to_trio(sync_function=self._scroll_into_view_if_needed_impl)(
277
- node_id=node_id,
278
- backend_node_id=backend_node_id,
279
- object_id=object_id,
280
- rect=rect
281
- )
282
-
283
- async def set_attribute_value(self, node_id: int, name: str, value: str) -> None:
284
- return await self.sync_to_trio(sync_function=self._set_attribute_value_impl)(node_id=node_id, name=name, value=value)
285
-
286
- async def set_attributes_as_text(self, node_id: int, text: str, name: Optional[str] = None) -> None:
287
- return await self.sync_to_trio(sync_function=self._set_attributes_as_text_impl)(node_id=node_id, text=text, name=name)
288
-
289
- async def set_file_input_files(
290
- self,
291
- files: List[str],
292
- node_id: Optional[int] = None,
293
- backend_node_id: Optional[int] = None,
294
- object_id: Optional[str] = None
295
- ) -> None:
296
- return await self.sync_to_trio(sync_function=self._set_file_input_files_impl)(
297
- files=files,
298
- node_id=node_id,
299
- backend_node_id=backend_node_id,
300
- object_id=object_id
301
- )
302
-
303
- async def set_inspected_node(self, node_id: int) -> None:
304
- return await self.sync_to_trio(sync_function=self._set_inspected_node_impl)(node_id=node_id)
305
-
306
- async def set_node_name(self, node_id: int, name: str) -> int:
307
- return await self.sync_to_trio(sync_function=self._set_node_name_impl)(node_id=node_id, name=name)
308
-
309
- async def set_node_stack_traces_enabled(self, enable: bool) -> None:
310
- return await self.sync_to_trio(sync_function=self._set_node_stack_traces_enabled_impl)(enable=enable)
311
-
312
- async def set_node_value(self, node_id: int, value: str) -> None:
313
- return await self.sync_to_trio(sync_function=self._set_node_value_impl)(node_id=node_id, value=value)
314
-
315
- async def set_outer_html(self, node_id: int, outer_html: str) -> None:
316
- return await self.sync_to_trio(sync_function=self._set_outer_html_impl)(node_id=node_id, outer_html=outer_html)
317
-
318
- async def undo(self) -> None:
319
- return await self.sync_to_trio(sync_function=self._undo_impl)()
@@ -1,69 +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.dom_debugger import (
11
- UnifiedDomDebuggerCDPExecutor
12
- )
13
- from osn_selenium.abstract.executors.cdp.dom_debugger import (
14
- AbstractDomDebuggerCDPExecutor
15
- )
16
-
17
-
18
- __all__ = ["DomDebuggerCDPExecutor"]
19
-
20
-
21
- class DomDebuggerCDPExecutor(
22
- UnifiedDomDebuggerCDPExecutor,
23
- TrioThreadMixin,
24
- AbstractDomDebuggerCDPExecutor
25
- ):
26
- def __init__(
27
- self,
28
- execute_function: Callable[[str, Dict[str, Any]], Any],
29
- lock: trio.Lock,
30
- limiter: trio.CapacityLimiter
31
- ):
32
- UnifiedDomDebuggerCDPExecutor.__init__(self, execute_function=execute_function)
33
-
34
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
35
-
36
- async def get_event_listeners(
37
- self,
38
- object_id: str,
39
- depth: Optional[int] = None,
40
- pierce: Optional[bool] = None
41
- ) -> List[Dict[str, Any]]:
42
- return await self.sync_to_trio(sync_function=self._get_event_listeners_impl)(object_id=object_id, depth=depth, pierce=pierce)
43
-
44
- async def remove_dom_breakpoint(self, node_id: int, type_: str) -> None:
45
- return await self.sync_to_trio(sync_function=self._remove_dom_breakpoint_impl)(node_id=node_id, type_=type_)
46
-
47
- async def remove_event_listener_breakpoint(self, event_name: str, target_name: Optional[str] = None) -> None:
48
- return await self.sync_to_trio(sync_function=self._remove_event_listener_breakpoint_impl)(event_name=event_name, target_name=target_name)
49
-
50
- async def remove_instrumentation_breakpoint(self, event_name: str) -> None:
51
- return await self.sync_to_trio(sync_function=self._remove_instrumentation_breakpoint_impl)(event_name=event_name)
52
-
53
- async def remove_xhr_breakpoint(self, url: str) -> None:
54
- return await self.sync_to_trio(sync_function=self._remove_xhr_breakpoint_impl)(url=url)
55
-
56
- async def set_break_on_csp_violation(self, violation_types: List[str]) -> None:
57
- return await self.sync_to_trio(sync_function=self._set_break_on_csp_violation_impl)(violation_types=violation_types)
58
-
59
- async def set_dom_breakpoint(self, node_id: int, type_: str) -> None:
60
- return await self.sync_to_trio(sync_function=self._set_dom_breakpoint_impl)(node_id=node_id, type_=type_)
61
-
62
- async def set_event_listener_breakpoint(self, event_name: str, target_name: Optional[str] = None) -> None:
63
- return await self.sync_to_trio(sync_function=self._set_event_listener_breakpoint_impl)(event_name=event_name, target_name=target_name)
64
-
65
- async def set_instrumentation_breakpoint(self, event_name: str) -> None:
66
- return await self.sync_to_trio(sync_function=self._set_instrumentation_breakpoint_impl)(event_name=event_name)
67
-
68
- async def set_xhr_breakpoint(self, url: str) -> None:
69
- return await self.sync_to_trio(sync_function=self._set_xhr_breakpoint_impl)(url=url)
@@ -1,71 +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.dom_snapshot import (
12
- UnifiedDomSnapshotCDPExecutor
13
- )
14
- from osn_selenium.abstract.executors.cdp.dom_snapshot import (
15
- AbstractDomSnapshotCDPExecutor
16
- )
17
-
18
-
19
- __all__ = ["DomSnapshotCDPExecutor"]
20
-
21
-
22
- class DomSnapshotCDPExecutor(
23
- UnifiedDomSnapshotCDPExecutor,
24
- TrioThreadMixin,
25
- AbstractDomSnapshotCDPExecutor
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
- UnifiedDomSnapshotCDPExecutor.__init__(self, execute_function=execute_function)
34
-
35
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
36
-
37
- async def capture_snapshot(
38
- self,
39
- computed_styles: List[str],
40
- include_paint_order: Optional[bool] = None,
41
- include_dom_rects: Optional[bool] = None,
42
- include_blended_background_colors: Optional[bool] = None,
43
- include_text_color_opacities: Optional[bool] = None
44
- ) -> Tuple[List[Dict[str, Any]], List[str]]:
45
- return await self.sync_to_trio(sync_function=self._capture_snapshot_impl)(
46
- computed_styles=computed_styles,
47
- include_paint_order=include_paint_order,
48
- include_dom_rects=include_dom_rects,
49
- include_blended_background_colors=include_blended_background_colors,
50
- include_text_color_opacities=include_text_color_opacities
51
- )
52
-
53
- async def disable(self) -> None:
54
- return await self.sync_to_trio(sync_function=self._disable_impl)()
55
-
56
- async def enable(self) -> None:
57
- return await self.sync_to_trio(sync_function=self._enable_impl)()
58
-
59
- async def get_snapshot(
60
- self,
61
- computed_style_whitelist: List[str],
62
- include_event_listeners: Optional[bool] = None,
63
- include_paint_order: Optional[bool] = None,
64
- include_user_agent_shadow_tree: Optional[bool] = None
65
- ) -> Tuple[List[Dict[str, Any]], List[Dict[str, Any]], List[Dict[str, Any]]]:
66
- return await self.sync_to_trio(sync_function=self._get_snapshot_impl)(
67
- computed_style_whitelist=computed_style_whitelist,
68
- include_event_listeners=include_event_listeners,
69
- include_paint_order=include_paint_order,
70
- include_user_agent_shadow_tree=include_user_agent_shadow_tree
71
- )
@@ -1,51 +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.dom_storage import (
10
- UnifiedDomStorageCDPExecutor
11
- )
12
- from osn_selenium.abstract.executors.cdp.dom_storage import (
13
- AbstractDomStorageCDPExecutor
14
- )
15
-
16
-
17
- __all__ = ["DomStorageCDPExecutor"]
18
-
19
-
20
- class DomStorageCDPExecutor(
21
- UnifiedDomStorageCDPExecutor,
22
- TrioThreadMixin,
23
- AbstractDomStorageCDPExecutor
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
- UnifiedDomStorageCDPExecutor.__init__(self, execute_function=execute_function)
32
-
33
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
34
-
35
- async def clear(self, storage_id: Dict[str, Any]) -> None:
36
- return await self.sync_to_trio(sync_function=self._clear_impl)(storage_id=storage_id)
37
-
38
- async def disable(self) -> None:
39
- return await self.sync_to_trio(sync_function=self._disable_impl)()
40
-
41
- async def enable(self) -> None:
42
- return await self.sync_to_trio(sync_function=self._enable_impl)()
43
-
44
- async def get_dom_storage_items(self, storage_id: Dict[str, Any]) -> List[List[str]]:
45
- return await self.sync_to_trio(sync_function=self._get_dom_storage_items_impl)(storage_id=storage_id)
46
-
47
- async def remove_dom_storage_item(self, storage_id: Dict[str, Any], key: str) -> None:
48
- return await self.sync_to_trio(sync_function=self._remove_dom_storage_item_impl)(storage_id=storage_id, key=key)
49
-
50
- async def set_dom_storage_item(self, storage_id: Dict[str, Any], key: str, value: str) -> None:
51
- return await self.sync_to_trio(sync_function=self._set_dom_storage_item_impl)(storage_id=storage_id, key=key, value=value)