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,243 +0,0 @@
1
- from typing import (
2
- Any,
3
- Callable,
4
- Dict,
5
- List,
6
- Optional,
7
- Tuple
8
- )
9
-
10
-
11
- __all__ = ["UnifiedDebuggerCDPExecutor"]
12
-
13
-
14
- class UnifiedDebuggerCDPExecutor:
15
- def __init__(self, execute_function: Callable[[str, Dict[str, Any]], Any]):
16
- self._execute_function = execute_function
17
-
18
- def _continue_to_location_impl(self, location: Dict[str, Any], target_call_frames: Optional[str] = None) -> None:
19
- return self._execute_function(
20
- "Debugger.continueToLocation",
21
- {"location": location, "target_call_frames": target_call_frames}
22
- )
23
-
24
- def _disable_impl(self) -> None:
25
- return self._execute_function("Debugger.disable", {})
26
-
27
- def _disassemble_wasm_module_impl(self, script_id: str) -> Tuple[Optional[str], int, List[int], Dict[str, Any]]:
28
- return self._execute_function("Debugger.disassembleWasmModule", {"script_id": script_id})
29
-
30
- def _enable_impl(self, max_scripts_cache_size: Optional[float] = None) -> str:
31
- return self._execute_function("Debugger.enable", {"max_scripts_cache_size": max_scripts_cache_size})
32
-
33
- def _evaluate_on_call_frame_impl(
34
- self,
35
- call_frame_id: str,
36
- expression: str,
37
- object_group: Optional[str] = None,
38
- include_command_line_api: Optional[bool] = None,
39
- silent: Optional[bool] = None,
40
- return_by_value: Optional[bool] = None,
41
- generate_preview: Optional[bool] = None,
42
- throw_on_side_effect: Optional[bool] = None,
43
- timeout: Optional[float] = None
44
- ) -> Tuple[Dict[str, Any], Optional[Dict[str, Any]]]:
45
- return self._execute_function(
46
- "Debugger.evaluateOnCallFrame",
47
- {
48
- "call_frame_id": call_frame_id,
49
- "expression": expression,
50
- "object_group": object_group,
51
- "include_command_line_api": include_command_line_api,
52
- "silent": silent,
53
- "return_by_value": return_by_value,
54
- "generate_preview": generate_preview,
55
- "throw_on_side_effect": throw_on_side_effect,
56
- "timeout": timeout
57
- }
58
- )
59
-
60
- def _get_possible_breakpoints_impl(
61
- self,
62
- start: Dict[str, Any],
63
- end: Optional[Dict[str, Any]] = None,
64
- restrict_to_function: Optional[bool] = None
65
- ) -> List[Dict[str, Any]]:
66
- return self._execute_function(
67
- "Debugger.getPossibleBreakpoints",
68
- {
69
- "start": start,
70
- "end": end,
71
- "restrict_to_function": restrict_to_function
72
- }
73
- )
74
-
75
- def _get_script_source_impl(self, script_id: str) -> Tuple[str, Optional[str]]:
76
- return self._execute_function("Debugger.getScriptSource", {"script_id": script_id})
77
-
78
- def _get_stack_trace_impl(self, stack_trace_id: Dict[str, Any]) -> Dict[str, Any]:
79
- return self._execute_function("Debugger.getStackTrace", {"stack_trace_id": stack_trace_id})
80
-
81
- def _get_wasm_bytecode_impl(self, script_id: str) -> str:
82
- return self._execute_function("Debugger.getWasmBytecode", {"script_id": script_id})
83
-
84
- def _next_wasm_disassembly_chunk_impl(self, stream_id: str) -> Dict[str, Any]:
85
- return self._execute_function("Debugger.nextWasmDisassemblyChunk", {"stream_id": stream_id})
86
-
87
- def _pause_impl(self) -> None:
88
- return self._execute_function("Debugger.pause", {})
89
-
90
- def _pause_on_async_call_impl(self, parent_stack_trace_id: Dict[str, Any]) -> None:
91
- return self._execute_function(
92
- "Debugger.pauseOnAsyncCall",
93
- {"parent_stack_trace_id": parent_stack_trace_id}
94
- )
95
-
96
- def _remove_breakpoint_impl(self, breakpoint_id: str) -> None:
97
- return self._execute_function("Debugger.removeBreakpoint", {"breakpoint_id": breakpoint_id})
98
-
99
- def _restart_frame_impl(self, call_frame_id: str, mode: Optional[str] = None) -> Tuple[List[Dict[str, Any]], Optional[Dict[str, Any]], Optional[Dict[str, Any]]]:
100
- return self._execute_function("Debugger.restartFrame", {"call_frame_id": call_frame_id, "mode": mode})
101
-
102
- def _resume_impl(self, terminate_on_resume: Optional[bool] = None) -> None:
103
- return self._execute_function("Debugger.resume", {"terminate_on_resume": terminate_on_resume})
104
-
105
- def _search_in_content_impl(
106
- self,
107
- script_id: str,
108
- query: str,
109
- case_sensitive: Optional[bool] = None,
110
- is_regex: Optional[bool] = None
111
- ) -> List[Dict[str, Any]]:
112
- return self._execute_function(
113
- "Debugger.searchInContent",
114
- {
115
- "script_id": script_id,
116
- "query": query,
117
- "case_sensitive": case_sensitive,
118
- "is_regex": is_regex
119
- }
120
- )
121
-
122
- def _set_async_call_stack_depth_impl(self, max_depth: int) -> None:
123
- return self._execute_function("Debugger.setAsyncCallStackDepth", {"max_depth": max_depth})
124
-
125
- def _set_blackbox_execution_contexts_impl(self, unique_ids: List[str]) -> None:
126
- return self._execute_function("Debugger.setBlackboxExecutionContexts", {"unique_ids": unique_ids})
127
-
128
- def _set_blackbox_patterns_impl(self, patterns: List[str], skip_anonymous: Optional[bool] = None) -> None:
129
- return self._execute_function(
130
- "Debugger.setBlackboxPatterns",
131
- {"patterns": patterns, "skip_anonymous": skip_anonymous}
132
- )
133
-
134
- def _set_blackboxed_ranges_impl(self, script_id: str, positions: List[Dict[str, Any]]) -> None:
135
- return self._execute_function(
136
- "Debugger.setBlackboxedRanges",
137
- {"script_id": script_id, "positions": positions}
138
- )
139
-
140
- def _set_breakpoint_by_url_impl(
141
- self,
142
- line_number: int,
143
- url: Optional[str] = None,
144
- url_regex: Optional[str] = None,
145
- script_hash: Optional[str] = None,
146
- column_number: Optional[int] = None,
147
- condition: Optional[str] = None
148
- ) -> Tuple[str, List[Dict[str, Any]]]:
149
- return self._execute_function(
150
- "Debugger.setBreakpointByUrl",
151
- {
152
- "line_number": line_number,
153
- "url": url,
154
- "url_regex": url_regex,
155
- "script_hash": script_hash,
156
- "column_number": column_number,
157
- "condition": condition
158
- }
159
- )
160
-
161
- def _set_breakpoint_impl(self, location: Dict[str, Any], condition: Optional[str] = None) -> Tuple[str, Dict[str, Any]]:
162
- return self._execute_function("Debugger.setBreakpoint", {"location": location, "condition": condition})
163
-
164
- def _set_breakpoint_on_function_call_impl(self, object_id: str, condition: Optional[str] = None) -> str:
165
- return self._execute_function(
166
- "Debugger.setBreakpointOnFunctionCall",
167
- {"object_id": object_id, "condition": condition}
168
- )
169
-
170
- def _set_breakpoints_active_impl(self, active: bool) -> None:
171
- return self._execute_function("Debugger.setBreakpointsActive", {"active": active})
172
-
173
- def _set_instrumentation_breakpoint_impl(self, instrumentation: str) -> str:
174
- return self._execute_function(
175
- "Debugger.setInstrumentationBreakpoint",
176
- {"instrumentation": instrumentation}
177
- )
178
-
179
- def _set_pause_on_exceptions_impl(self, state: str) -> None:
180
- return self._execute_function("Debugger.setPauseOnExceptions", {"state": state})
181
-
182
- def _set_return_value_impl(self, new_value: Dict[str, Any]) -> None:
183
- return self._execute_function("Debugger.setReturnValue", {"new_value": new_value})
184
-
185
- def _set_script_source_impl(
186
- self,
187
- script_id: str,
188
- script_source: str,
189
- dry_run: Optional[bool] = None,
190
- allow_top_frame_editing: Optional[bool] = None
191
- ) -> Tuple[
192
- Optional[List[Dict[str, Any]]],
193
- Optional[bool],
194
- Optional[Dict[str, Any]],
195
- Optional[Dict[str, Any]],
196
- str,
197
- Optional[Dict[str, Any]]
198
- ]:
199
- return self._execute_function(
200
- "Debugger.setScriptSource",
201
- {
202
- "script_id": script_id,
203
- "script_source": script_source,
204
- "dry_run": dry_run,
205
- "allow_top_frame_editing": allow_top_frame_editing
206
- }
207
- )
208
-
209
- def _set_skip_all_pauses_impl(self, skip: bool) -> None:
210
- return self._execute_function("Debugger.setSkipAllPauses", {"skip": skip})
211
-
212
- def _set_variable_value_impl(
213
- self,
214
- scope_number: int,
215
- variable_name: str,
216
- new_value: Dict[str, Any],
217
- call_frame_id: str
218
- ) -> None:
219
- return self._execute_function(
220
- "Debugger.setVariableValue",
221
- {
222
- "scope_number": scope_number,
223
- "variable_name": variable_name,
224
- "new_value": new_value,
225
- "call_frame_id": call_frame_id
226
- }
227
- )
228
-
229
- def _step_into_impl(
230
- self,
231
- break_on_async_call: Optional[bool] = None,
232
- skip_list: Optional[List[Dict[str, Any]]] = None
233
- ) -> None:
234
- return self._execute_function(
235
- "Debugger.stepInto",
236
- {"break_on_async_call": break_on_async_call, "skip_list": skip_list}
237
- )
238
-
239
- def _step_out_impl(self) -> None:
240
- return self._execute_function("Debugger.stepOut", {})
241
-
242
- def _step_over_impl(self, skip_list: Optional[List[Dict[str, Any]]] = None) -> None:
243
- return self._execute_function("Debugger.stepOver", {"skip_list": skip_list})
@@ -1,21 +0,0 @@
1
- from typing import Any, Callable, Dict
2
-
3
-
4
- __all__ = ["UnifiedDeviceAccessCDPExecutor"]
5
-
6
-
7
- class UnifiedDeviceAccessCDPExecutor:
8
- def __init__(self, execute_function: Callable[[str, Dict[str, Any]], Any]):
9
- self._execute_function = execute_function
10
-
11
- def _cancel_prompt_impl(self, id_: str) -> None:
12
- return self._execute_function("DeviceAccess.cancelPrompt", {"id_": id_})
13
-
14
- def _disable_impl(self) -> None:
15
- return self._execute_function("DeviceAccess.disable", {})
16
-
17
- def _enable_impl(self) -> None:
18
- return self._execute_function("DeviceAccess.enable", {})
19
-
20
- def _select_prompt_impl(self, id_: str, device_id: str) -> None:
21
- return self._execute_function("DeviceAccess.selectPrompt", {"id_": id_, "device_id": device_id})
@@ -1,18 +0,0 @@
1
- from typing import Any, Callable, Dict
2
-
3
-
4
- __all__ = ["UnifiedDeviceOrientationCDPExecutor"]
5
-
6
-
7
- class UnifiedDeviceOrientationCDPExecutor:
8
- def __init__(self, execute_function: Callable[[str, Dict[str, Any]], Any]):
9
- self._execute_function = execute_function
10
-
11
- def _clear_device_orientation_override_impl(self) -> None:
12
- return self._execute_function("DeviceOrientation.clearDeviceOrientationOverride", {})
13
-
14
- def _set_device_orientation_override_impl(self, alpha: float, beta: float, gamma: float) -> None:
15
- return self._execute_function(
16
- "DeviceOrientation.setDeviceOrientationOverride",
17
- {"alpha": alpha, "beta": beta, "gamma": gamma}
18
- )
@@ -1,380 +0,0 @@
1
- from typing import (
2
- Any,
3
- Callable,
4
- Dict,
5
- List,
6
- Optional,
7
- Tuple
8
- )
9
-
10
-
11
- __all__ = ["UnifiedDomCDPExecutor"]
12
-
13
-
14
- class UnifiedDomCDPExecutor:
15
- def __init__(self, execute_function: Callable[[str, Dict[str, Any]], Any]):
16
- self._execute_function = execute_function
17
-
18
- def _collect_class_names_from_subtree_impl(self, node_id: int) -> List[str]:
19
- return self._execute_function("DOM.collectClassNamesFromSubtree", {"node_id": node_id})
20
-
21
- def _copy_to_impl(
22
- self,
23
- node_id: int,
24
- target_node_id: int,
25
- insert_before_node_id: Optional[int] = None
26
- ) -> int:
27
- return self._execute_function(
28
- "DOM.copyTo",
29
- {
30
- "node_id": node_id,
31
- "target_node_id": target_node_id,
32
- "insert_before_node_id": insert_before_node_id
33
- }
34
- )
35
-
36
- def _describe_node_impl(
37
- self,
38
- node_id: Optional[int] = None,
39
- backend_node_id: Optional[int] = None,
40
- object_id: Optional[str] = None,
41
- depth: Optional[int] = None,
42
- pierce: Optional[bool] = None
43
- ) -> Dict[str, Any]:
44
- return self._execute_function(
45
- "DOM.describeNode",
46
- {
47
- "node_id": node_id,
48
- "backend_node_id": backend_node_id,
49
- "object_id": object_id,
50
- "depth": depth,
51
- "pierce": pierce
52
- }
53
- )
54
-
55
- def _disable_impl(self) -> None:
56
- return self._execute_function("DOM.disable", {})
57
-
58
- def _discard_search_results_impl(self, search_id: str) -> None:
59
- return self._execute_function("DOM.discardSearchResults", {"search_id": search_id})
60
-
61
- def _enable_impl(self, include_whitespace: Optional[str] = None) -> None:
62
- return self._execute_function("DOM.enable", {"include_whitespace": include_whitespace})
63
-
64
- def _focus_impl(
65
- self,
66
- node_id: Optional[int] = None,
67
- backend_node_id: Optional[int] = None,
68
- object_id: Optional[str] = None
69
- ) -> None:
70
- return self._execute_function(
71
- "DOM.focus",
72
- {
73
- "node_id": node_id,
74
- "backend_node_id": backend_node_id,
75
- "object_id": object_id
76
- }
77
- )
78
-
79
- def _force_show_popover_impl(self, node_id: int, enable: bool) -> List[int]:
80
- return self._execute_function("DOM.forceShowPopover", {"node_id": node_id, "enable": enable})
81
-
82
- def _get_anchor_element_impl(self, node_id: int, anchor_specifier: Optional[str] = None) -> int:
83
- return self._execute_function(
84
- "DOM.getAnchorElement",
85
- {"node_id": node_id, "anchor_specifier": anchor_specifier}
86
- )
87
-
88
- def _get_attributes_impl(self, node_id: int) -> List[str]:
89
- return self._execute_function("DOM.getAttributes", {"node_id": node_id})
90
-
91
- def _get_box_model_impl(
92
- self,
93
- node_id: Optional[int] = None,
94
- backend_node_id: Optional[int] = None,
95
- object_id: Optional[str] = None
96
- ) -> Dict[str, Any]:
97
- return self._execute_function(
98
- "DOM.getBoxModel",
99
- {
100
- "node_id": node_id,
101
- "backend_node_id": backend_node_id,
102
- "object_id": object_id
103
- }
104
- )
105
-
106
- def _get_container_for_node_impl(
107
- self,
108
- node_id: int,
109
- container_name: Optional[str] = None,
110
- physical_axes: Optional[str] = None,
111
- logical_axes: Optional[str] = None,
112
- queries_scroll_state: Optional[bool] = None,
113
- queries_anchored: Optional[bool] = None
114
- ) -> Optional[int]:
115
- return self._execute_function(
116
- "DOM.getContainerForNode",
117
- {
118
- "node_id": node_id,
119
- "container_name": container_name,
120
- "physical_axes": physical_axes,
121
- "logical_axes": logical_axes,
122
- "queries_scroll_state": queries_scroll_state,
123
- "queries_anchored": queries_anchored
124
- }
125
- )
126
-
127
- def _get_content_quads_impl(
128
- self,
129
- node_id: Optional[int] = None,
130
- backend_node_id: Optional[int] = None,
131
- object_id: Optional[str] = None
132
- ) -> List[List[float]]:
133
- return self._execute_function(
134
- "DOM.getContentQuads",
135
- {
136
- "node_id": node_id,
137
- "backend_node_id": backend_node_id,
138
- "object_id": object_id
139
- }
140
- )
141
-
142
- def _get_detached_dom_nodes_impl(self) -> List[Dict[str, Any]]:
143
- return self._execute_function("DOM.getDetachedDomNodes", {})
144
-
145
- def _get_document_impl(self, depth: Optional[int] = None, pierce: Optional[bool] = None) -> Dict[str, Any]:
146
- return self._execute_function("DOM.getDocument", {"depth": depth, "pierce": pierce})
147
-
148
- def _get_element_by_relation_impl(self, node_id: int, relation: str) -> int:
149
- return self._execute_function("DOM.getElementByRelation", {"node_id": node_id, "relation": relation})
150
-
151
- def _get_file_info_impl(self, object_id: str) -> str:
152
- return self._execute_function("DOM.getFileInfo", {"object_id": object_id})
153
-
154
- def _get_flattened_document_impl(self, depth: Optional[int] = None, pierce: Optional[bool] = None) -> List[Dict[str, Any]]:
155
- return self._execute_function("DOM.getFlattenedDocument", {"depth": depth, "pierce": pierce})
156
-
157
- def _get_frame_owner_impl(self, frame_id: str) -> Tuple[int, Optional[int]]:
158
- return self._execute_function("DOM.getFrameOwner", {"frame_id": frame_id})
159
-
160
- def _get_node_for_location_impl(
161
- self,
162
- x: int,
163
- y: int,
164
- include_user_agent_shadow_dom: Optional[bool] = None,
165
- ignore_pointer_events_none: Optional[bool] = None
166
- ) -> Tuple[int, str, Optional[int]]:
167
- return self._execute_function(
168
- "DOM.getNodeForLocation",
169
- {
170
- "x": x,
171
- "y": y,
172
- "include_user_agent_shadow_dom": include_user_agent_shadow_dom,
173
- "ignore_pointer_events_none": ignore_pointer_events_none
174
- }
175
- )
176
-
177
- def _get_node_stack_traces_impl(self, node_id: int) -> Optional[Dict[str, Any]]:
178
- return self._execute_function("DOM.getNodeStackTraces", {"node_id": node_id})
179
-
180
- def _get_nodes_for_subtree_by_style_impl(
181
- self,
182
- node_id: int,
183
- computed_styles: List[Dict[str, Any]],
184
- pierce: Optional[bool] = None
185
- ) -> List[int]:
186
- return self._execute_function(
187
- "DOM.getNodesForSubtreeByStyle",
188
- {
189
- "node_id": node_id,
190
- "computed_styles": computed_styles,
191
- "pierce": pierce
192
- }
193
- )
194
-
195
- def _get_outer_html_impl(
196
- self,
197
- node_id: Optional[int] = None,
198
- backend_node_id: Optional[int] = None,
199
- object_id: Optional[str] = None,
200
- include_shadow_dom: Optional[bool] = None
201
- ) -> str:
202
- return self._execute_function(
203
- "DOM.getOuterHTML",
204
- {
205
- "node_id": node_id,
206
- "backend_node_id": backend_node_id,
207
- "object_id": object_id,
208
- "include_shadow_dom": include_shadow_dom
209
- }
210
- )
211
-
212
- def _get_querying_descendants_for_container_impl(self, node_id: int) -> List[int]:
213
- return self._execute_function("DOM.getQueryingDescendantsForContainer", {"node_id": node_id})
214
-
215
- def _get_relayout_boundary_impl(self, node_id: int) -> int:
216
- return self._execute_function("DOM.getRelayoutBoundary", {"node_id": node_id})
217
-
218
- def _get_search_results_impl(self, search_id: str, from_index: int, to_index: int) -> List[int]:
219
- return self._execute_function(
220
- "DOM.getSearchResults",
221
- {"search_id": search_id, "from_index": from_index, "to_index": to_index}
222
- )
223
-
224
- def _get_top_layer_elements_impl(self) -> List[int]:
225
- return self._execute_function("DOM.getTopLayerElements", {})
226
-
227
- def _hide_highlight_impl(self) -> None:
228
- return self._execute_function("DOM.hideHighlight", {})
229
-
230
- def _highlight_node_impl(self) -> None:
231
- return self._execute_function("DOM.highlightNode", {})
232
-
233
- def _highlight_rect_impl(self) -> None:
234
- return self._execute_function("DOM.highlightRect", {})
235
-
236
- def _mark_undoable_state_impl(self) -> None:
237
- return self._execute_function("DOM.markUndoableState", {})
238
-
239
- def _move_to_impl(
240
- self,
241
- node_id: int,
242
- target_node_id: int,
243
- insert_before_node_id: Optional[int] = None
244
- ) -> int:
245
- return self._execute_function(
246
- "DOM.moveTo",
247
- {
248
- "node_id": node_id,
249
- "target_node_id": target_node_id,
250
- "insert_before_node_id": insert_before_node_id
251
- }
252
- )
253
-
254
- def _perform_search_impl(self, query: str, include_user_agent_shadow_dom: Optional[bool] = None) -> Tuple[str, int]:
255
- return self._execute_function(
256
- "DOM.performSearch",
257
- {
258
- "query": query,
259
- "include_user_agent_shadow_dom": include_user_agent_shadow_dom
260
- }
261
- )
262
-
263
- def _push_node_by_path_to_frontend_impl(self, path: str) -> int:
264
- return self._execute_function("DOM.pushNodeByPathToFrontend", {"path": path})
265
-
266
- def _push_nodes_by_backend_ids_to_frontend_impl(self, backend_node_ids: List[int]) -> List[int]:
267
- return self._execute_function(
268
- "DOM.pushNodesByBackendIdsToFrontend",
269
- {"backend_node_ids": backend_node_ids}
270
- )
271
-
272
- def _query_selector_all_impl(self, node_id: int, selector: str) -> List[int]:
273
- return self._execute_function("DOM.querySelectorAll", {"node_id": node_id, "selector": selector})
274
-
275
- def _query_selector_impl(self, node_id: int, selector: str) -> int:
276
- return self._execute_function("DOM.querySelector", {"node_id": node_id, "selector": selector})
277
-
278
- def _redo_impl(self) -> None:
279
- return self._execute_function("DOM.redo", {})
280
-
281
- def _remove_attribute_impl(self, node_id: int, name: str) -> None:
282
- return self._execute_function("DOM.removeAttribute", {"node_id": node_id, "name": name})
283
-
284
- def _remove_node_impl(self, node_id: int) -> None:
285
- return self._execute_function("DOM.removeNode", {"node_id": node_id})
286
-
287
- def _request_child_nodes_impl(
288
- self,
289
- node_id: int,
290
- depth: Optional[int] = None,
291
- pierce: Optional[bool] = None
292
- ) -> None:
293
- return self._execute_function(
294
- "DOM.requestChildNodes",
295
- {"node_id": node_id, "depth": depth, "pierce": pierce}
296
- )
297
-
298
- def _request_node_impl(self, object_id: str) -> int:
299
- return self._execute_function("DOM.requestNode", {"object_id": object_id})
300
-
301
- def _resolve_node_impl(
302
- self,
303
- node_id: Optional[int] = None,
304
- backend_node_id: Optional[int] = None,
305
- object_group: Optional[str] = None,
306
- execution_context_id: Optional[int] = None
307
- ) -> Dict[str, Any]:
308
- return self._execute_function(
309
- "DOM.resolveNode",
310
- {
311
- "node_id": node_id,
312
- "backend_node_id": backend_node_id,
313
- "object_group": object_group,
314
- "execution_context_id": execution_context_id
315
- }
316
- )
317
-
318
- def _scroll_into_view_if_needed_impl(
319
- self,
320
- node_id: Optional[int] = None,
321
- backend_node_id: Optional[int] = None,
322
- object_id: Optional[str] = None,
323
- rect: Optional[Dict[str, Any]] = None
324
- ) -> None:
325
- return self._execute_function(
326
- "DOM.scrollIntoViewIfNeeded",
327
- {
328
- "node_id": node_id,
329
- "backend_node_id": backend_node_id,
330
- "object_id": object_id,
331
- "rect": rect
332
- }
333
- )
334
-
335
- def _set_attribute_value_impl(self, node_id: int, name: str, value: str) -> None:
336
- return self._execute_function(
337
- "DOM.setAttributeValue",
338
- {"node_id": node_id, "name": name, "value": value}
339
- )
340
-
341
- def _set_attributes_as_text_impl(self, node_id: int, text: str, name: Optional[str] = None) -> None:
342
- return self._execute_function(
343
- "DOM.setAttributesAsText",
344
- {"node_id": node_id, "text": text, "name": name}
345
- )
346
-
347
- def _set_file_input_files_impl(
348
- self,
349
- files: List[str],
350
- node_id: Optional[int] = None,
351
- backend_node_id: Optional[int] = None,
352
- object_id: Optional[str] = None
353
- ) -> None:
354
- return self._execute_function(
355
- "DOM.setFileInputFiles",
356
- {
357
- "files": files,
358
- "node_id": node_id,
359
- "backend_node_id": backend_node_id,
360
- "object_id": object_id
361
- }
362
- )
363
-
364
- def _set_inspected_node_impl(self, node_id: int) -> None:
365
- return self._execute_function("DOM.setInspectedNode", {"node_id": node_id})
366
-
367
- def _set_node_name_impl(self, node_id: int, name: str) -> int:
368
- return self._execute_function("DOM.setNodeName", {"node_id": node_id, "name": name})
369
-
370
- def _set_node_stack_traces_enabled_impl(self, enable: bool) -> None:
371
- return self._execute_function("DOM.setNodeStackTracesEnabled", {"enable": enable})
372
-
373
- def _set_node_value_impl(self, node_id: int, value: str) -> None:
374
- return self._execute_function("DOM.setNodeValue", {"node_id": node_id, "value": value})
375
-
376
- def _set_outer_html_impl(self, node_id: int, outer_html: str) -> None:
377
- return self._execute_function("DOM.setOuterHTML", {"node_id": node_id, "outer_html": outer_html})
378
-
379
- def _undo_impl(self) -> None:
380
- return self._execute_function("DOM.undo", {})