osn-selenium 1.0.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 (475) hide show
  1. osn_selenium/_base_models.py +41 -0
  2. osn_selenium/_cdp_import.py +253 -0
  3. osn_selenium/_decorators.py +57 -0
  4. osn_selenium/_trio_threads_helpers.py +157 -0
  5. osn_selenium/_typehints.py +1 -1
  6. osn_selenium/abstract/executors/cdp.py +63 -0
  7. osn_selenium/abstract/webdriver/blink/base.py +14 -0
  8. osn_selenium/abstract/webdriver/blink/lifecycle.py +8 -8
  9. osn_selenium/abstract/webdriver/core/base.py +0 -14
  10. osn_selenium/abstract/webdriver/core/capture.py +4 -3
  11. osn_selenium/abstract/webdriver/core/lifecycle.py +8 -8
  12. osn_selenium/abstract/webdriver/core/script.py +5 -4
  13. osn_selenium/abstract/webdriver/core/window.py +11 -11
  14. osn_selenium/browsers_handler/models.py +1 -1
  15. osn_selenium/dev_tools/_decorators.py +19 -51
  16. osn_selenium/dev_tools/_functions.py +2 -4
  17. osn_selenium/dev_tools/_typehints.py +5 -2
  18. osn_selenium/dev_tools/_wrappers.py +0 -3
  19. osn_selenium/dev_tools/domains/__init__.py +2 -2
  20. osn_selenium/dev_tools/domains/abstract.py +1 -1
  21. osn_selenium/dev_tools/domains/fetch.py +6 -8
  22. osn_selenium/dev_tools/domains_default/fetch.py +2 -2
  23. osn_selenium/dev_tools/filters.py +1 -1
  24. osn_selenium/dev_tools/logger/main.py +9 -21
  25. osn_selenium/dev_tools/logger/models.py +1 -1
  26. osn_selenium/dev_tools/logger/target.py +49 -29
  27. osn_selenium/dev_tools/manager/base.py +10 -42
  28. osn_selenium/dev_tools/manager/lifecycle.py +84 -75
  29. osn_selenium/dev_tools/manager/logging.py +1 -1
  30. osn_selenium/dev_tools/manager/targets.py +13 -5
  31. osn_selenium/dev_tools/models.py +1 -1
  32. osn_selenium/dev_tools/settings.py +9 -5
  33. osn_selenium/dev_tools/target/base.py +30 -34
  34. osn_selenium/dev_tools/target/discovery.py +1 -1
  35. osn_selenium/dev_tools/target/events.py +2 -2
  36. osn_selenium/dev_tools/target/fingerprint.py +1 -1
  37. osn_selenium/dev_tools/target/lifecycle.py +103 -38
  38. osn_selenium/dev_tools/target/logging.py +11 -3
  39. osn_selenium/exceptions/__init__.py +0 -1
  40. osn_selenium/exceptions/base.py +28 -1
  41. osn_selenium/exceptions/bidi_bridge.py +59 -0
  42. osn_selenium/exceptions/configuration.py +1 -8
  43. osn_selenium/exceptions/dependencies.py +60 -0
  44. osn_selenium/exceptions/devtools.py +9 -39
  45. osn_selenium/exceptions/experimental.py +26 -0
  46. osn_selenium/exceptions/flags.py +0 -2
  47. osn_selenium/exceptions/instance.py +1 -9
  48. osn_selenium/exceptions/javascript.py +0 -2
  49. osn_selenium/exceptions/logic.py +0 -2
  50. osn_selenium/exceptions/path.py +1 -9
  51. osn_selenium/exceptions/platform.py +0 -2
  52. osn_selenium/exceptions/protocol.py +0 -3
  53. osn_selenium/exceptions/webdriver.py +1 -7
  54. osn_selenium/exceptions/window.py +1 -8
  55. osn_selenium/executors/sync/cdp.py +95 -0
  56. osn_selenium/executors/trio_bidi/cdp.py +101 -0
  57. osn_selenium/executors/trio_bidi/javascript.py +101 -0
  58. osn_selenium/executors/trio_threads/cdp.py +99 -0
  59. osn_selenium/executors/trio_threads/javascript.py +1 -1
  60. osn_selenium/executors/unified/javascript.py +0 -4
  61. osn_selenium/flags/base.py +7 -13
  62. osn_selenium/flags/blink.py +2 -8
  63. osn_selenium/flags/chrome.py +6 -6
  64. osn_selenium/flags/edge.py +6 -6
  65. osn_selenium/flags/models/base.py +4 -4
  66. osn_selenium/flags/models/blink.py +1 -1
  67. osn_selenium/flags/models/values.py +1 -1
  68. osn_selenium/instances/convert.py +44 -3
  69. osn_selenium/instances/protocols.py +47 -1
  70. osn_selenium/instances/sync/action_chains/__init__.py +6 -0
  71. osn_selenium/instances/sync/browsing_context.py +2 -2
  72. osn_selenium/instances/sync/script.py +7 -2
  73. osn_selenium/instances/sync/shadow_root.py +30 -8
  74. osn_selenium/instances/sync/web_element.py +1 -1
  75. osn_selenium/instances/trio_bidi/__init__.py +1 -0
  76. osn_selenium/instances/trio_bidi/shadow_root.py +180 -0
  77. osn_selenium/instances/trio_bidi/switch_to.py +143 -0
  78. osn_selenium/instances/trio_bidi/web_driver_wait.py +124 -0
  79. osn_selenium/instances/trio_bidi/web_element.py +239 -0
  80. osn_selenium/instances/trio_threads/action_chains/__init__.py +6 -0
  81. osn_selenium/instances/trio_threads/action_chains/base.py +1 -1
  82. osn_selenium/instances/trio_threads/alert.py +1 -1
  83. osn_selenium/instances/trio_threads/browser.py +1 -1
  84. osn_selenium/instances/trio_threads/browsing_context.py +3 -3
  85. osn_selenium/instances/trio_threads/dialog.py +1 -1
  86. osn_selenium/instances/trio_threads/fedcm.py +1 -1
  87. osn_selenium/instances/trio_threads/mobile.py +1 -1
  88. osn_selenium/instances/trio_threads/network.py +1 -1
  89. osn_selenium/instances/trio_threads/permissions.py +1 -1
  90. osn_selenium/instances/trio_threads/script.py +8 -3
  91. osn_selenium/instances/trio_threads/shadow_root.py +46 -15
  92. osn_selenium/instances/trio_threads/storage.py +1 -1
  93. osn_selenium/instances/trio_threads/switch_to.py +1 -1
  94. osn_selenium/instances/trio_threads/web_driver_wait.py +1 -1
  95. osn_selenium/instances/trio_threads/web_element.py +1 -1
  96. osn_selenium/instances/trio_threads/web_extension.py +1 -1
  97. osn_selenium/instances/unified/browsing_context.py +2 -2
  98. osn_selenium/instances/unified/script.py +2 -2
  99. osn_selenium/instances/unified/web_element.py +3 -5
  100. osn_selenium/javascript/fingerprint/__init__.py +3 -2
  101. osn_selenium/javascript/fingerprint/registry/models.py +1 -1
  102. osn_selenium/javascript/fingerprint/spoof/core_rules.py +1 -1
  103. osn_selenium/javascript/fingerprint/spoof/noise.py +1 -1
  104. osn_selenium/javascript/models.py +1 -1
  105. osn_selenium/models.py +2 -47
  106. osn_selenium/trio_bidi/__init__.py +1 -0
  107. osn_selenium/trio_bidi/_context_vars.py +12 -0
  108. osn_selenium/trio_bidi/_error_mappings.py +123 -0
  109. osn_selenium/trio_bidi/_error_redirects.py +194 -0
  110. osn_selenium/trio_bidi/_file_functions.py +28 -0
  111. osn_selenium/trio_bidi/_internal_mappings.py +10 -0
  112. osn_selenium/trio_bidi/_models.py +199 -0
  113. osn_selenium/trio_bidi/_typehints.py +20 -0
  114. osn_selenium/trio_bidi/connection_pool.py +587 -0
  115. osn_selenium/trio_bidi/mapping/__init__.py +1 -0
  116. osn_selenium/trio_bidi/mapping/_constants.py +14 -0
  117. osn_selenium/trio_bidi/mapping/_js_snippets.py +285 -0
  118. osn_selenium/trio_bidi/mapping/_utils.py +4 -0
  119. osn_selenium/trio_bidi/mapping/request_functions/__init__.py +87 -0
  120. osn_selenium/trio_bidi/mapping/request_functions/_alert.py +102 -0
  121. osn_selenium/trio_bidi/mapping/request_functions/_args_helpers.py +225 -0
  122. osn_selenium/trio_bidi/mapping/request_functions/_capture.py +71 -0
  123. osn_selenium/trio_bidi/mapping/request_functions/_cdp.py +40 -0
  124. osn_selenium/trio_bidi/mapping/request_functions/_element.py +55 -0
  125. osn_selenium/trio_bidi/mapping/request_functions/_file.py +32 -0
  126. osn_selenium/trio_bidi/mapping/request_functions/_navigation.py +147 -0
  127. osn_selenium/trio_bidi/mapping/request_functions/_script.py +85 -0
  128. osn_selenium/trio_bidi/mapping/request_functions/_shadow_root.py +65 -0
  129. osn_selenium/trio_bidi/mapping/request_functions/_switch_to.py +59 -0
  130. osn_selenium/trio_bidi/mapping/request_functions/_web_element.py +448 -0
  131. osn_selenium/trio_bidi/mapping/request_functions/_window.py +125 -0
  132. osn_selenium/trio_bidi/mapping/response_functions/__init__.py +86 -0
  133. osn_selenium/trio_bidi/mapping/response_functions/_alert.py +81 -0
  134. osn_selenium/trio_bidi/mapping/response_functions/_args_helpers.py +183 -0
  135. osn_selenium/trio_bidi/mapping/response_functions/_args_validators.py +153 -0
  136. osn_selenium/trio_bidi/mapping/response_functions/_capture.py +71 -0
  137. osn_selenium/trio_bidi/mapping/response_functions/_cdp.py +26 -0
  138. osn_selenium/trio_bidi/mapping/response_functions/_element.py +58 -0
  139. osn_selenium/trio_bidi/mapping/response_functions/_file.py +30 -0
  140. osn_selenium/trio_bidi/mapping/response_functions/_navigation.py +120 -0
  141. osn_selenium/trio_bidi/mapping/response_functions/_script.py +57 -0
  142. osn_selenium/trio_bidi/mapping/response_functions/_shadow_root.py +58 -0
  143. osn_selenium/trio_bidi/mapping/response_functions/_switch_to.py +57 -0
  144. osn_selenium/trio_bidi/mapping/response_functions/_web_element.py +368 -0
  145. osn_selenium/trio_bidi/mapping/response_functions/_window.py +119 -0
  146. osn_selenium/trio_bidi/mixin.py +186 -0
  147. osn_selenium/trio_bidi/remote_connection.py +164 -0
  148. osn_selenium/{base_mixin.py → trio_threads_mixin.py} +31 -40
  149. osn_selenium/webdrivers/_args_helpers.py +120 -7
  150. osn_selenium/webdrivers/_bridges.py +2 -2
  151. osn_selenium/webdrivers/_executable_tables/models.py +1 -1
  152. osn_selenium/webdrivers/_typehints.py +9 -3
  153. osn_selenium/webdrivers/protocols.py +81 -1
  154. osn_selenium/webdrivers/sync/blink/__init__.py +11 -1
  155. osn_selenium/webdrivers/sync/blink/base.py +23 -1
  156. osn_selenium/webdrivers/sync/blink/lifecycle.py +26 -8
  157. osn_selenium/webdrivers/sync/chrome/__init__.py +36 -1
  158. osn_selenium/webdrivers/sync/chrome/base.py +13 -1
  159. osn_selenium/webdrivers/sync/chrome/lifecycle.py +23 -5
  160. osn_selenium/webdrivers/sync/chrome/settings.py +6 -1
  161. osn_selenium/webdrivers/sync/core/__init__.py +10 -1
  162. osn_selenium/webdrivers/sync/core/base.py +18 -18
  163. osn_selenium/webdrivers/sync/core/capture.py +3 -2
  164. osn_selenium/webdrivers/sync/core/file.py +3 -2
  165. osn_selenium/webdrivers/sync/core/lifecycle.py +44 -10
  166. osn_selenium/webdrivers/sync/core/script.py +3 -2
  167. osn_selenium/webdrivers/sync/core/window.py +3 -3
  168. osn_selenium/webdrivers/sync/edge/__init__.py +36 -1
  169. osn_selenium/webdrivers/sync/edge/base.py +13 -1
  170. osn_selenium/webdrivers/sync/edge/lifecycle.py +23 -5
  171. osn_selenium/webdrivers/sync/edge/settings.py +6 -1
  172. osn_selenium/webdrivers/sync/yandex/__init__.py +36 -1
  173. osn_selenium/webdrivers/sync/yandex/base.py +13 -1
  174. osn_selenium/webdrivers/sync/yandex/lifecycle.py +23 -5
  175. osn_selenium/webdrivers/sync/yandex/settings.py +6 -1
  176. osn_selenium/webdrivers/trio_bidi/__init__.py +1 -0
  177. osn_selenium/webdrivers/trio_bidi/blink/__init__.py +132 -0
  178. osn_selenium/webdrivers/trio_bidi/blink/base.py +167 -0
  179. osn_selenium/webdrivers/trio_bidi/blink/lifecycle.py +89 -0
  180. osn_selenium/webdrivers/trio_bidi/blink/settings.py +63 -0
  181. osn_selenium/webdrivers/trio_bidi/chrome/__init__.py +114 -0
  182. osn_selenium/webdrivers/trio_bidi/chrome/base.py +127 -0
  183. osn_selenium/webdrivers/trio_bidi/chrome/lifecycle.py +85 -0
  184. osn_selenium/webdrivers/trio_bidi/chrome/settings.py +63 -0
  185. osn_selenium/webdrivers/trio_bidi/core/__init__.py +95 -0
  186. osn_selenium/webdrivers/trio_bidi/core/actions.py +70 -0
  187. osn_selenium/webdrivers/trio_bidi/core/base.py +200 -0
  188. osn_selenium/webdrivers/trio_bidi/core/capture.py +39 -0
  189. osn_selenium/webdrivers/trio_bidi/core/devtools.py +49 -0
  190. osn_selenium/webdrivers/trio_bidi/core/element.py +64 -0
  191. osn_selenium/webdrivers/trio_bidi/core/lifecycle.py +135 -0
  192. osn_selenium/webdrivers/trio_bidi/core/navigation.py +37 -0
  193. osn_selenium/webdrivers/trio_bidi/core/script.py +56 -0
  194. osn_selenium/webdrivers/trio_bidi/core/settings.py +36 -0
  195. osn_selenium/webdrivers/trio_bidi/core/window.py +134 -0
  196. osn_selenium/webdrivers/trio_bidi/edge/__init__.py +114 -0
  197. osn_selenium/webdrivers/trio_bidi/edge/base.py +123 -0
  198. osn_selenium/webdrivers/trio_bidi/edge/lifecycle.py +85 -0
  199. osn_selenium/webdrivers/trio_bidi/edge/settings.py +63 -0
  200. osn_selenium/webdrivers/trio_bidi/yandex/__init__.py +114 -0
  201. osn_selenium/webdrivers/trio_bidi/yandex/base.py +120 -0
  202. osn_selenium/webdrivers/trio_bidi/yandex/lifecycle.py +85 -0
  203. osn_selenium/webdrivers/trio_bidi/yandex/settings.py +63 -0
  204. osn_selenium/webdrivers/trio_threads/blink/__init__.py +18 -2
  205. osn_selenium/webdrivers/trio_threads/blink/base.py +25 -1
  206. osn_selenium/webdrivers/trio_threads/blink/casting.py +1 -1
  207. osn_selenium/webdrivers/trio_threads/blink/features.py +1 -1
  208. osn_selenium/webdrivers/trio_threads/blink/lifecycle.py +26 -8
  209. osn_selenium/webdrivers/trio_threads/blink/logging.py +1 -1
  210. osn_selenium/webdrivers/trio_threads/blink/network.py +1 -1
  211. osn_selenium/webdrivers/trio_threads/chrome/__init__.py +34 -1
  212. osn_selenium/webdrivers/trio_threads/chrome/base.py +14 -2
  213. osn_selenium/webdrivers/trio_threads/chrome/lifecycle.py +23 -5
  214. osn_selenium/webdrivers/trio_threads/chrome/settings.py +1 -1
  215. osn_selenium/webdrivers/trio_threads/core/__init__.py +10 -14
  216. osn_selenium/webdrivers/trio_threads/core/actions.py +1 -1
  217. osn_selenium/webdrivers/trio_threads/core/auth.py +1 -1
  218. osn_selenium/webdrivers/trio_threads/core/base.py +18 -22
  219. osn_selenium/webdrivers/trio_threads/core/capture.py +4 -3
  220. osn_selenium/webdrivers/trio_threads/core/comonents.py +1 -1
  221. osn_selenium/webdrivers/trio_threads/core/devtools.py +1 -1
  222. osn_selenium/webdrivers/trio_threads/core/element.py +1 -1
  223. osn_selenium/webdrivers/trio_threads/core/file.py +5 -4
  224. osn_selenium/webdrivers/trio_threads/core/lifecycle.py +45 -11
  225. osn_selenium/webdrivers/trio_threads/core/navigation.py +1 -1
  226. osn_selenium/webdrivers/trio_threads/core/script.py +4 -3
  227. osn_selenium/webdrivers/trio_threads/core/settings.py +1 -1
  228. osn_selenium/webdrivers/trio_threads/core/storage.py +1 -1
  229. osn_selenium/webdrivers/trio_threads/core/timeouts.py +1 -1
  230. osn_selenium/webdrivers/trio_threads/core/window.py +6 -6
  231. osn_selenium/webdrivers/trio_threads/edge/__init__.py +34 -1
  232. osn_selenium/webdrivers/trio_threads/edge/base.py +14 -2
  233. osn_selenium/webdrivers/trio_threads/edge/lifecycle.py +23 -5
  234. osn_selenium/webdrivers/trio_threads/edge/settings.py +1 -1
  235. osn_selenium/webdrivers/trio_threads/yandex/__init__.py +34 -1
  236. osn_selenium/webdrivers/trio_threads/yandex/base.py +14 -2
  237. osn_selenium/webdrivers/trio_threads/yandex/lifecycle.py +23 -5
  238. osn_selenium/webdrivers/trio_threads/yandex/settings.py +1 -1
  239. osn_selenium/webdrivers/unified/blink/base.py +9 -1
  240. osn_selenium/webdrivers/unified/blink/lifecycle.py +4 -2
  241. osn_selenium/webdrivers/unified/chrome/base.py +9 -1
  242. osn_selenium/webdrivers/unified/core/auth.py +4 -2
  243. osn_selenium/webdrivers/unified/core/base.py +19 -6
  244. osn_selenium/webdrivers/unified/core/capture.py +3 -2
  245. osn_selenium/webdrivers/unified/core/components.py +12 -7
  246. osn_selenium/webdrivers/unified/core/devtools.py +2 -1
  247. osn_selenium/webdrivers/unified/core/file.py +3 -2
  248. osn_selenium/webdrivers/unified/core/lifecycle.py +5 -3
  249. osn_selenium/webdrivers/unified/core/script.py +5 -3
  250. osn_selenium/webdrivers/unified/core/storage.py +2 -1
  251. osn_selenium/webdrivers/unified/core/window.py +9 -8
  252. osn_selenium/webdrivers/unified/edge/base.py +9 -1
  253. osn_selenium/webdrivers/unified/yandex/base.py +9 -1
  254. {osn_selenium-1.0.0.dist-info → osn_selenium-1.2.0.dist-info}/METADATA +24 -10
  255. osn_selenium-1.2.0.dist-info/RECORD +480 -0
  256. {osn_selenium-1.0.0.dist-info → osn_selenium-1.2.0.dist-info}/WHEEL +1 -1
  257. osn_selenium/abstract/executors/cdp/__init__.py +0 -435
  258. osn_selenium/abstract/executors/cdp/accessibility.py +0 -62
  259. osn_selenium/abstract/executors/cdp/animation.py +0 -47
  260. osn_selenium/abstract/executors/cdp/audits.py +0 -39
  261. osn_selenium/abstract/executors/cdp/autofill.py +0 -34
  262. osn_selenium/abstract/executors/cdp/background_service.py +0 -22
  263. osn_selenium/abstract/executors/cdp/bluetooth_emulation.py +0 -95
  264. osn_selenium/abstract/executors/cdp/browser.py +0 -122
  265. osn_selenium/abstract/executors/cdp/cache_storage.py +0 -49
  266. osn_selenium/abstract/executors/cdp/cast.py +0 -31
  267. osn_selenium/abstract/executors/cdp/console.py +0 -18
  268. osn_selenium/abstract/executors/cdp/css.py +0 -197
  269. osn_selenium/abstract/executors/cdp/debugger.py +0 -198
  270. osn_selenium/abstract/executors/cdp/device_access.py +0 -22
  271. osn_selenium/abstract/executors/cdp/device_orientation.py +0 -14
  272. osn_selenium/abstract/executors/cdp/dom.py +0 -305
  273. osn_selenium/abstract/executors/cdp/dom_debugger.py +0 -57
  274. osn_selenium/abstract/executors/cdp/dom_snapshot.py +0 -42
  275. osn_selenium/abstract/executors/cdp/dom_storage.py +0 -31
  276. osn_selenium/abstract/executors/cdp/emulation.py +0 -259
  277. osn_selenium/abstract/executors/cdp/event_breakpoints.py +0 -18
  278. osn_selenium/abstract/executors/cdp/extensions.py +0 -31
  279. osn_selenium/abstract/executors/cdp/fed_cm.py +0 -35
  280. osn_selenium/abstract/executors/cdp/fetch.py +0 -76
  281. osn_selenium/abstract/executors/cdp/file_system.py +0 -11
  282. osn_selenium/abstract/executors/cdp/headless_experimental.py +0 -30
  283. osn_selenium/abstract/executors/cdp/heap_profiler.py +0 -73
  284. osn_selenium/abstract/executors/cdp/indexed_db.py +0 -99
  285. osn_selenium/abstract/executors/cdp/input.py +0 -158
  286. osn_selenium/abstract/executors/cdp/inspector.py +0 -14
  287. osn_selenium/abstract/executors/cdp/io.py +0 -24
  288. osn_selenium/abstract/executors/cdp/layer_tree.py +0 -61
  289. osn_selenium/abstract/executors/cdp/log.py +0 -27
  290. osn_selenium/abstract/executors/cdp/media.py +0 -14
  291. osn_selenium/abstract/executors/cdp/memory.py +0 -61
  292. osn_selenium/abstract/executors/cdp/network.py +0 -252
  293. osn_selenium/abstract/executors/cdp/overlay.py +0 -166
  294. osn_selenium/abstract/executors/cdp/page.py +0 -347
  295. osn_selenium/abstract/executors/cdp/performance.py +0 -28
  296. osn_selenium/abstract/executors/cdp/performance_timeline.py +0 -11
  297. osn_selenium/abstract/executors/cdp/preload.py +0 -14
  298. osn_selenium/abstract/executors/cdp/profiler.py +0 -54
  299. osn_selenium/abstract/executors/cdp/pwa.py +0 -46
  300. osn_selenium/abstract/executors/cdp/runtime.py +0 -176
  301. osn_selenium/abstract/executors/cdp/schema.py +0 -11
  302. osn_selenium/abstract/executors/cdp/security.py +0 -26
  303. osn_selenium/abstract/executors/cdp/service_worker.py +0 -54
  304. osn_selenium/abstract/executors/cdp/storage.py +0 -175
  305. osn_selenium/abstract/executors/cdp/system_info.py +0 -24
  306. osn_selenium/abstract/executors/cdp/target.py +0 -125
  307. osn_selenium/abstract/executors/cdp/tethering.py +0 -14
  308. osn_selenium/abstract/executors/cdp/tracing.py +0 -48
  309. osn_selenium/abstract/executors/cdp/web_audio.py +0 -19
  310. osn_selenium/abstract/executors/cdp/web_authn.py +0 -76
  311. osn_selenium/executors/sync/cdp/__init__.py +0 -550
  312. osn_selenium/executors/sync/cdp/accessibility.py +0 -74
  313. osn_selenium/executors/sync/cdp/animation.py +0 -50
  314. osn_selenium/executors/sync/cdp/audits.py +0 -48
  315. osn_selenium/executors/sync/cdp/autofill.py +0 -39
  316. osn_selenium/executors/sync/cdp/background_service.py +0 -30
  317. osn_selenium/executors/sync/cdp/bluetooth_emulation.py +0 -101
  318. osn_selenium/executors/sync/cdp/browser.py +0 -131
  319. osn_selenium/executors/sync/cdp/cache_storage.py +0 -66
  320. osn_selenium/executors/sync/cdp/cast.py +0 -38
  321. osn_selenium/executors/sync/cdp/console.py +0 -24
  322. osn_selenium/executors/sync/cdp/css.py +0 -187
  323. osn_selenium/executors/sync/cdp/debugger.py +0 -206
  324. osn_selenium/executors/sync/cdp/device_access.py +0 -27
  325. osn_selenium/executors/sync/cdp/device_orientation.py +0 -24
  326. osn_selenium/executors/sync/cdp/dom.py +0 -310
  327. osn_selenium/executors/sync/cdp/dom_debugger.py +0 -56
  328. osn_selenium/executors/sync/cdp/dom_snapshot.py +0 -58
  329. osn_selenium/executors/sync/cdp/dom_storage.py +0 -38
  330. osn_selenium/executors/sync/cdp/emulation.py +0 -270
  331. osn_selenium/executors/sync/cdp/event_breakpoints.py +0 -27
  332. osn_selenium/executors/sync/cdp/extensions.py +0 -39
  333. osn_selenium/executors/sync/cdp/fed_cm.py +0 -45
  334. osn_selenium/executors/sync/cdp/fetch.py +0 -96
  335. osn_selenium/executors/sync/cdp/file_system.py +0 -18
  336. osn_selenium/executors/sync/cdp/headless_experimental.py +0 -44
  337. osn_selenium/executors/sync/cdp/heap_profiler.py +0 -89
  338. osn_selenium/executors/sync/cdp/indexed_db.py +0 -142
  339. osn_selenium/executors/sync/cdp/input.py +0 -233
  340. osn_selenium/executors/sync/cdp/inspector.py +0 -21
  341. osn_selenium/executors/sync/cdp/io.py +0 -33
  342. osn_selenium/executors/sync/cdp/layer_tree.py +0 -71
  343. osn_selenium/executors/sync/cdp/log.py +0 -35
  344. osn_selenium/executors/sync/cdp/media.py +0 -21
  345. osn_selenium/executors/sync/cdp/memory.py +0 -62
  346. osn_selenium/executors/sync/cdp/network.py +0 -287
  347. osn_selenium/executors/sync/cdp/overlay.py +0 -174
  348. osn_selenium/executors/sync/cdp/page.py +0 -365
  349. osn_selenium/executors/sync/cdp/performance.py +0 -33
  350. osn_selenium/executors/sync/cdp/performance_timeline.py +0 -26
  351. osn_selenium/executors/sync/cdp/preload.py +0 -21
  352. osn_selenium/executors/sync/cdp/profiler.py +0 -58
  353. osn_selenium/executors/sync/cdp/pwa.py +0 -55
  354. osn_selenium/executors/sync/cdp/runtime.py +0 -221
  355. osn_selenium/executors/sync/cdp/schema.py +0 -23
  356. osn_selenium/executors/sync/cdp/security.py +0 -30
  357. osn_selenium/executors/sync/cdp/service_worker.py +0 -56
  358. osn_selenium/executors/sync/cdp/storage.py +0 -151
  359. osn_selenium/executors/sync/cdp/system_info.py +0 -30
  360. osn_selenium/executors/sync/cdp/target.py +0 -147
  361. osn_selenium/executors/sync/cdp/tethering.py +0 -21
  362. osn_selenium/executors/sync/cdp/tracing.py +0 -62
  363. osn_selenium/executors/sync/cdp/web_audio.py +0 -24
  364. osn_selenium/executors/sync/cdp/web_authn.py +0 -82
  365. osn_selenium/executors/trio_threads/cdp/__init__.py +0 -771
  366. osn_selenium/executors/trio_threads/cdp/accessibility.py +0 -87
  367. osn_selenium/executors/trio_threads/cdp/animation.py +0 -63
  368. osn_selenium/executors/trio_threads/cdp/audits.py +0 -57
  369. osn_selenium/executors/trio_threads/cdp/autofill.py +0 -52
  370. osn_selenium/executors/trio_threads/cdp/background_service.py +0 -40
  371. osn_selenium/executors/trio_threads/cdp/bluetooth_emulation.py +0 -111
  372. osn_selenium/executors/trio_threads/cdp/browser.py +0 -140
  373. osn_selenium/executors/trio_threads/cdp/cache_storage.py +0 -79
  374. osn_selenium/executors/trio_threads/cdp/cast.py +0 -47
  375. osn_selenium/executors/trio_threads/cdp/console.py +0 -33
  376. osn_selenium/executors/trio_threads/cdp/css.py +0 -196
  377. osn_selenium/executors/trio_threads/cdp/debugger.py +0 -219
  378. osn_selenium/executors/trio_threads/cdp/device_access.py +0 -40
  379. osn_selenium/executors/trio_threads/cdp/device_orientation.py +0 -34
  380. osn_selenium/executors/trio_threads/cdp/dom.py +0 -319
  381. osn_selenium/executors/trio_threads/cdp/dom_debugger.py +0 -69
  382. osn_selenium/executors/trio_threads/cdp/dom_snapshot.py +0 -71
  383. osn_selenium/executors/trio_threads/cdp/dom_storage.py +0 -51
  384. osn_selenium/executors/trio_threads/cdp/emulation.py +0 -283
  385. osn_selenium/executors/trio_threads/cdp/event_breakpoints.py +0 -37
  386. osn_selenium/executors/trio_threads/cdp/extensions.py +0 -52
  387. osn_selenium/executors/trio_threads/cdp/fed_cm.py +0 -54
  388. osn_selenium/executors/trio_threads/cdp/fetch.py +0 -105
  389. osn_selenium/executors/trio_threads/cdp/file_system.py +0 -31
  390. osn_selenium/executors/trio_threads/cdp/headless_experimental.py +0 -54
  391. osn_selenium/executors/trio_threads/cdp/heap_profiler.py +0 -102
  392. osn_selenium/executors/trio_threads/cdp/indexed_db.py +0 -155
  393. osn_selenium/executors/trio_threads/cdp/input.py +0 -242
  394. osn_selenium/executors/trio_threads/cdp/inspector.py +0 -34
  395. osn_selenium/executors/trio_threads/cdp/io.py +0 -42
  396. osn_selenium/executors/trio_threads/cdp/layer_tree.py +0 -84
  397. osn_selenium/executors/trio_threads/cdp/log.py +0 -44
  398. osn_selenium/executors/trio_threads/cdp/media.py +0 -30
  399. osn_selenium/executors/trio_threads/cdp/memory.py +0 -71
  400. osn_selenium/executors/trio_threads/cdp/network.py +0 -296
  401. osn_selenium/executors/trio_threads/cdp/overlay.py +0 -183
  402. osn_selenium/executors/trio_threads/cdp/page.py +0 -374
  403. osn_selenium/executors/trio_threads/cdp/performance.py +0 -46
  404. osn_selenium/executors/trio_threads/cdp/performance_timeline.py +0 -36
  405. osn_selenium/executors/trio_threads/cdp/preload.py +0 -30
  406. osn_selenium/executors/trio_threads/cdp/profiler.py +0 -71
  407. osn_selenium/executors/trio_threads/cdp/pwa.py +0 -64
  408. osn_selenium/executors/trio_threads/cdp/runtime.py +0 -230
  409. osn_selenium/executors/trio_threads/cdp/schema.py +0 -32
  410. osn_selenium/executors/trio_threads/cdp/security.py +0 -43
  411. osn_selenium/executors/trio_threads/cdp/service_worker.py +0 -69
  412. osn_selenium/executors/trio_threads/cdp/storage.py +0 -162
  413. osn_selenium/executors/trio_threads/cdp/system_info.py +0 -43
  414. osn_selenium/executors/trio_threads/cdp/target.py +0 -156
  415. osn_selenium/executors/trio_threads/cdp/tethering.py +0 -34
  416. osn_selenium/executors/trio_threads/cdp/tracing.py +0 -71
  417. osn_selenium/executors/trio_threads/cdp/web_audio.py +0 -37
  418. osn_selenium/executors/trio_threads/cdp/web_authn.py +0 -95
  419. osn_selenium/executors/unified/cdp/accessibility.py +0 -81
  420. osn_selenium/executors/unified/cdp/animation.py +0 -50
  421. osn_selenium/executors/unified/cdp/audits.py +0 -45
  422. osn_selenium/executors/unified/cdp/autofill.py +0 -41
  423. osn_selenium/executors/unified/cdp/background_service.py +0 -24
  424. osn_selenium/executors/unified/cdp/bluetooth_emulation.py +0 -132
  425. osn_selenium/executors/unified/cdp/browser.py +0 -143
  426. osn_selenium/executors/unified/cdp/cache_storage.py +0 -69
  427. osn_selenium/executors/unified/cdp/cast.py +0 -32
  428. osn_selenium/executors/unified/cdp/console.py +0 -18
  429. osn_selenium/executors/unified/cdp/css.py +0 -237
  430. osn_selenium/executors/unified/cdp/debugger.py +0 -243
  431. osn_selenium/executors/unified/cdp/device_access.py +0 -21
  432. osn_selenium/executors/unified/cdp/device_orientation.py +0 -18
  433. osn_selenium/executors/unified/cdp/dom.py +0 -380
  434. osn_selenium/executors/unified/cdp/dom_debugger.py +0 -65
  435. osn_selenium/executors/unified/cdp/dom_snapshot.py +0 -58
  436. osn_selenium/executors/unified/cdp/dom_storage.py +0 -38
  437. osn_selenium/executors/unified/cdp/emulation.py +0 -312
  438. osn_selenium/executors/unified/cdp/event_breakpoints.py +0 -24
  439. osn_selenium/executors/unified/cdp/extensions.py +0 -45
  440. osn_selenium/executors/unified/cdp/fed_cm.py +0 -51
  441. osn_selenium/executors/unified/cdp/fetch.py +0 -111
  442. osn_selenium/executors/unified/cdp/file_system.py +0 -15
  443. osn_selenium/executors/unified/cdp/headless_experimental.py +0 -38
  444. osn_selenium/executors/unified/cdp/heap_profiler.py +0 -101
  445. osn_selenium/executors/unified/cdp/indexed_db.py +0 -157
  446. osn_selenium/executors/unified/cdp/input.py +0 -254
  447. osn_selenium/executors/unified/cdp/inspector.py +0 -15
  448. osn_selenium/executors/unified/cdp/io.py +0 -29
  449. osn_selenium/executors/unified/cdp/layer_tree.py +0 -71
  450. osn_selenium/executors/unified/cdp/log.py +0 -29
  451. osn_selenium/executors/unified/cdp/media.py +0 -15
  452. osn_selenium/executors/unified/cdp/memory.py +0 -59
  453. osn_selenium/executors/unified/cdp/network.py +0 -323
  454. osn_selenium/executors/unified/cdp/overlay.py +0 -209
  455. osn_selenium/executors/unified/cdp/page.py +0 -410
  456. osn_selenium/executors/unified/cdp/performance.py +0 -27
  457. osn_selenium/executors/unified/cdp/performance_timeline.py +0 -17
  458. osn_selenium/executors/unified/cdp/preload.py +0 -15
  459. osn_selenium/executors/unified/cdp/profiler.py +0 -55
  460. osn_selenium/executors/unified/cdp/pwa.py +0 -55
  461. osn_selenium/executors/unified/cdp/runtime.py +0 -245
  462. osn_selenium/executors/unified/cdp/schema.py +0 -17
  463. osn_selenium/executors/unified/cdp/security.py +0 -27
  464. osn_selenium/executors/unified/cdp/service_worker.py +0 -62
  465. osn_selenium/executors/unified/cdp/storage.py +0 -178
  466. osn_selenium/executors/unified/cdp/system_info.py +0 -24
  467. osn_selenium/executors/unified/cdp/target.py +0 -165
  468. osn_selenium/executors/unified/cdp/tethering.py +0 -15
  469. osn_selenium/executors/unified/cdp/tracing.py +0 -62
  470. osn_selenium/executors/unified/cdp/web_audio.py +0 -18
  471. osn_selenium/executors/unified/cdp/web_authn.py +0 -103
  472. osn_selenium-1.0.0.dist-info/RECORD +0 -608
  473. /osn_selenium/{dev_tools/_exception_helpers.py → _exception_helpers.py} +0 -0
  474. /osn_selenium/executors/{unified/cdp → trio_bidi}/__init__.py +0 -0
  475. {osn_selenium-1.0.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)