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,30 +0,0 @@
1
- import trio
2
- from typing import Any, Callable, Dict
3
- from osn_selenium.base_mixin import TrioThreadMixin
4
- from osn_selenium.executors.unified.cdp.media import (
5
- UnifiedMediaCDPExecutor
6
- )
7
- from osn_selenium.abstract.executors.cdp.media import (
8
- AbstractMediaCDPExecutor
9
- )
10
-
11
-
12
- __all__ = ["MediaCDPExecutor"]
13
-
14
-
15
- class MediaCDPExecutor(UnifiedMediaCDPExecutor, TrioThreadMixin, AbstractMediaCDPExecutor):
16
- def __init__(
17
- self,
18
- execute_function: Callable[[str, Dict[str, Any]], Any],
19
- lock: trio.Lock,
20
- limiter: trio.CapacityLimiter
21
- ):
22
- UnifiedMediaCDPExecutor.__init__(self, execute_function=execute_function)
23
-
24
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
25
-
26
- async def disable(self) -> None:
27
- return await self.sync_to_trio(sync_function=self._disable_impl)()
28
-
29
- async def enable(self) -> None:
30
- return await self.sync_to_trio(sync_function=self._enable_impl)()
@@ -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.memory import (
12
- UnifiedMemoryCDPExecutor
13
- )
14
- from osn_selenium.abstract.executors.cdp.memory import (
15
- AbstractMemoryCDPExecutor
16
- )
17
-
18
-
19
- __all__ = ["MemoryCDPExecutor"]
20
-
21
-
22
- class MemoryCDPExecutor(UnifiedMemoryCDPExecutor, TrioThreadMixin, AbstractMemoryCDPExecutor):
23
- def __init__(
24
- self,
25
- execute_function: Callable[[str, Dict[str, Any]], Any],
26
- lock: trio.Lock,
27
- limiter: trio.CapacityLimiter
28
- ):
29
- UnifiedMemoryCDPExecutor.__init__(self, execute_function=execute_function)
30
-
31
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
32
-
33
- async def forcibly_purge_java_script_memory(self) -> None:
34
- return await self.sync_to_trio(sync_function=self._forcibly_purge_java_script_memory_impl)()
35
-
36
- async def get_all_time_sampling_profile(self) -> Dict[str, Any]:
37
- return await self.sync_to_trio(sync_function=self._get_all_time_sampling_profile_impl)()
38
-
39
- async def get_browser_sampling_profile(self) -> Dict[str, Any]:
40
- return await self.sync_to_trio(sync_function=self._get_browser_sampling_profile_impl)()
41
-
42
- async def get_dom_counters(self) -> Tuple[int, int, int]:
43
- return await self.sync_to_trio(sync_function=self._get_dom_counters_impl)()
44
-
45
- async def get_dom_counters_for_leak_detection(self) -> List[Dict[str, Any]]:
46
- return await self.sync_to_trio(sync_function=self._get_dom_counters_for_leak_detection_impl)()
47
-
48
- async def get_sampling_profile(self) -> Dict[str, Any]:
49
- return await self.sync_to_trio(sync_function=self._get_sampling_profile_impl)()
50
-
51
- async def prepare_for_leak_detection(self) -> None:
52
- return await self.sync_to_trio(sync_function=self._prepare_for_leak_detection_impl)()
53
-
54
- async def set_pressure_notifications_suppressed(self, suppressed: bool) -> None:
55
- return await self.sync_to_trio(sync_function=self._set_pressure_notifications_suppressed_impl)(suppressed=suppressed)
56
-
57
- async def simulate_pressure_notification(self, level: str) -> None:
58
- return await self.sync_to_trio(sync_function=self._simulate_pressure_notification_impl)(level=level)
59
-
60
- async def start_sampling(
61
- self,
62
- sampling_interval: Optional[int] = None,
63
- suppress_randomness: Optional[bool] = None
64
- ) -> None:
65
- return await self.sync_to_trio(sync_function=self._start_sampling_impl)(
66
- sampling_interval=sampling_interval,
67
- suppress_randomness=suppress_randomness
68
- )
69
-
70
- async def stop_sampling(self) -> None:
71
- return await self.sync_to_trio(sync_function=self._stop_sampling_impl)()
@@ -1,296 +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.network import (
12
- UnifiedNetworkCDPExecutor
13
- )
14
- from osn_selenium.abstract.executors.cdp.network import (
15
- AbstractNetworkCDPExecutor
16
- )
17
-
18
-
19
- __all__ = ["NetworkCDPExecutor"]
20
-
21
-
22
- class NetworkCDPExecutor(UnifiedNetworkCDPExecutor, TrioThreadMixin, AbstractNetworkCDPExecutor):
23
- def __init__(
24
- self,
25
- execute_function: Callable[[str, Dict[str, Any]], Any],
26
- lock: trio.Lock,
27
- limiter: trio.CapacityLimiter
28
- ):
29
- UnifiedNetworkCDPExecutor.__init__(self, execute_function=execute_function)
30
-
31
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
32
-
33
- async def can_clear_browser_cache(self) -> bool:
34
- return await self.sync_to_trio(sync_function=self._can_clear_browser_cache_impl)()
35
-
36
- async def can_clear_browser_cookies(self) -> bool:
37
- return await self.sync_to_trio(sync_function=self._can_clear_browser_cookies_impl)()
38
-
39
- async def can_emulate_network_conditions(self) -> bool:
40
- return await self.sync_to_trio(sync_function=self._can_emulate_network_conditions_impl)()
41
-
42
- async def clear_accepted_encodings_override(self) -> None:
43
- return await self.sync_to_trio(sync_function=self._clear_accepted_encodings_override_impl)()
44
-
45
- async def clear_browser_cache(self) -> None:
46
- return await self.sync_to_trio(sync_function=self._clear_browser_cache_impl)()
47
-
48
- async def clear_browser_cookies(self) -> None:
49
- return await self.sync_to_trio(sync_function=self._clear_browser_cookies_impl)()
50
-
51
- async def continue_intercepted_request(
52
- self,
53
- interception_id: str,
54
- error_reason: Optional[str] = None,
55
- raw_response: Optional[str] = None,
56
- url: Optional[str] = None,
57
- method: Optional[str] = None,
58
- post_data: Optional[str] = None,
59
- headers: Optional[Dict[Any, Any]] = None,
60
- auth_challenge_response: Optional[Dict[str, Any]] = None
61
- ) -> None:
62
- return await self.sync_to_trio(sync_function=self._continue_intercepted_request_impl)(
63
- interception_id=interception_id,
64
- error_reason=error_reason,
65
- raw_response=raw_response,
66
- url=url,
67
- method=method,
68
- post_data=post_data,
69
- headers=headers,
70
- auth_challenge_response=auth_challenge_response
71
- )
72
-
73
- async def delete_cookies(
74
- self,
75
- name: str,
76
- url: Optional[str] = None,
77
- domain: Optional[str] = None,
78
- path: Optional[str] = None,
79
- partition_key: Optional[Dict[str, Any]] = None
80
- ) -> None:
81
- return await self.sync_to_trio(sync_function=self._delete_cookies_impl)(
82
- name=name,
83
- url=url,
84
- domain=domain,
85
- path=path,
86
- partition_key=partition_key
87
- )
88
-
89
- async def disable(self) -> None:
90
- return await self.sync_to_trio(sync_function=self._disable_impl)()
91
-
92
- async def emulate_network_conditions(
93
- self,
94
- offline: bool,
95
- latency: float,
96
- download_throughput: float,
97
- upload_throughput: float,
98
- connection_type: Optional[str] = None,
99
- packet_loss: Optional[float] = None,
100
- packet_queue_length: Optional[int] = None,
101
- packet_reordering: Optional[bool] = None
102
- ) -> None:
103
- return await self.sync_to_trio(sync_function=self._emulate_network_conditions_impl)(
104
- offline=offline,
105
- latency=latency,
106
- download_throughput=download_throughput,
107
- upload_throughput=upload_throughput,
108
- connection_type=connection_type,
109
- packet_loss=packet_loss,
110
- packet_queue_length=packet_queue_length,
111
- packet_reordering=packet_reordering
112
- )
113
-
114
- async def emulate_network_conditions_by_rule(self, offline: bool, matched_network_conditions: List[Dict[str, Any]]) -> List[str]:
115
- return await self.sync_to_trio(sync_function=self._emulate_network_conditions_by_rule_impl)(offline=offline, matched_network_conditions=matched_network_conditions)
116
-
117
- async def enable(
118
- self,
119
- max_total_buffer_size: Optional[int] = None,
120
- max_resource_buffer_size: Optional[int] = None,
121
- max_post_data_size: Optional[int] = None,
122
- report_direct_socket_traffic: Optional[bool] = None,
123
- enable_durable_messages: Optional[bool] = None
124
- ) -> None:
125
- return await self.sync_to_trio(sync_function=self._enable_impl)(
126
- max_total_buffer_size=max_total_buffer_size,
127
- max_resource_buffer_size=max_resource_buffer_size,
128
- max_post_data_size=max_post_data_size,
129
- report_direct_socket_traffic=report_direct_socket_traffic,
130
- enable_durable_messages=enable_durable_messages
131
- )
132
-
133
- async def enable_reporting_api(self, enable: bool) -> None:
134
- return await self.sync_to_trio(sync_function=self._enable_reporting_api_impl)(enable=enable)
135
-
136
- async def get_all_cookies(self) -> List[Dict[str, Any]]:
137
- return await self.sync_to_trio(sync_function=self._get_all_cookies_impl)()
138
-
139
- async def get_certificate(self, origin: str) -> List[str]:
140
- return await self.sync_to_trio(sync_function=self._get_certificate_impl)(origin=origin)
141
-
142
- async def get_cookies(self, urls: Optional[List[str]] = None) -> List[Dict[str, Any]]:
143
- return await self.sync_to_trio(sync_function=self._get_cookies_impl)(urls=urls)
144
-
145
- async def get_ip_protection_proxy_status(self) -> str:
146
- return await self.sync_to_trio(sync_function=self._get_ip_protection_proxy_status_impl)()
147
-
148
- async def get_request_post_data(self, request_id: str) -> str:
149
- return await self.sync_to_trio(sync_function=self._get_request_post_data_impl)(request_id=request_id)
150
-
151
- async def get_response_body(self, request_id: str) -> Tuple[str, bool]:
152
- return await self.sync_to_trio(sync_function=self._get_response_body_impl)(request_id=request_id)
153
-
154
- async def get_response_body_for_interception(self, interception_id: str) -> Tuple[str, bool]:
155
- return await self.sync_to_trio(sync_function=self._get_response_body_for_interception_impl)(interception_id=interception_id)
156
-
157
- async def get_security_isolation_status(self, frame_id: Optional[str] = None) -> Dict[str, Any]:
158
- return await self.sync_to_trio(sync_function=self._get_security_isolation_status_impl)(frame_id=frame_id)
159
-
160
- async def load_network_resource(
161
- self,
162
- frame_id: Optional[str] = None,
163
- url: str = None,
164
- options: Dict[str, Any] = None
165
- ) -> Dict[str, Any]:
166
- return await self.sync_to_trio(sync_function=self._load_network_resource_impl)(frame_id=frame_id, url=url, options=options)
167
-
168
- async def override_network_state(
169
- self,
170
- offline: bool,
171
- latency: float,
172
- download_throughput: float,
173
- upload_throughput: float,
174
- connection_type: Optional[str] = None
175
- ) -> None:
176
- return await self.sync_to_trio(sync_function=self._override_network_state_impl)(
177
- offline=offline,
178
- latency=latency,
179
- download_throughput=download_throughput,
180
- upload_throughput=upload_throughput,
181
- connection_type=connection_type
182
- )
183
-
184
- async def replay_xhr(self, request_id: str) -> None:
185
- return await self.sync_to_trio(sync_function=self._replay_xhr_impl)(request_id=request_id)
186
-
187
- async def search_in_response_body(
188
- self,
189
- request_id: str,
190
- query: str,
191
- case_sensitive: Optional[bool] = None,
192
- is_regex: Optional[bool] = None
193
- ) -> List[Dict[str, Any]]:
194
- return await self.sync_to_trio(sync_function=self._search_in_response_body_impl)(
195
- request_id=request_id,
196
- query=query,
197
- case_sensitive=case_sensitive,
198
- is_regex=is_regex
199
- )
200
-
201
- async def set_accepted_encodings(self, encodings: List[str]) -> None:
202
- return await self.sync_to_trio(sync_function=self._set_accepted_encodings_impl)(encodings=encodings)
203
-
204
- async def set_attach_debug_stack(self, enabled: bool) -> None:
205
- return await self.sync_to_trio(sync_function=self._set_attach_debug_stack_impl)(enabled=enabled)
206
-
207
- async def set_blocked_ur_ls(
208
- self,
209
- url_patterns: Optional[List[Dict[str, Any]]] = None,
210
- urls: Optional[List[str]] = None
211
- ) -> None:
212
- return await self.sync_to_trio(sync_function=self._set_blocked_ur_ls_impl)(url_patterns=url_patterns, urls=urls)
213
-
214
- async def set_bypass_service_worker(self, bypass: bool) -> None:
215
- return await self.sync_to_trio(sync_function=self._set_bypass_service_worker_impl)(bypass=bypass)
216
-
217
- async def set_cache_disabled(self, cache_disabled: bool) -> None:
218
- return await self.sync_to_trio(sync_function=self._set_cache_disabled_impl)(cache_disabled=cache_disabled)
219
-
220
- async def set_cookie(
221
- self,
222
- name: str,
223
- value: str,
224
- url: Optional[str] = None,
225
- domain: Optional[str] = None,
226
- path: Optional[str] = None,
227
- secure: Optional[bool] = None,
228
- http_only: Optional[bool] = None,
229
- same_site: Optional[str] = None,
230
- expires: Optional[float] = None,
231
- priority: Optional[str] = None,
232
- same_party: Optional[bool] = None,
233
- source_scheme: Optional[str] = None,
234
- source_port: Optional[int] = None,
235
- partition_key: Optional[Dict[str, Any]] = None
236
- ) -> bool:
237
- return await self.sync_to_trio(sync_function=self._set_cookie_impl)(
238
- name=name,
239
- value=value,
240
- url=url,
241
- domain=domain,
242
- path=path,
243
- secure=secure,
244
- http_only=http_only,
245
- same_site=same_site,
246
- expires=expires,
247
- priority=priority,
248
- same_party=same_party,
249
- source_scheme=source_scheme,
250
- source_port=source_port,
251
- partition_key=partition_key
252
- )
253
-
254
- async def set_cookie_controls(
255
- self,
256
- enable_third_party_cookie_restriction: bool,
257
- disable_third_party_cookie_metadata: bool,
258
- disable_third_party_cookie_heuristics: bool
259
- ) -> None:
260
- return await self.sync_to_trio(sync_function=self._set_cookie_controls_impl)(
261
- enable_third_party_cookie_restriction=enable_third_party_cookie_restriction,
262
- disable_third_party_cookie_metadata=disable_third_party_cookie_metadata,
263
- disable_third_party_cookie_heuristics=disable_third_party_cookie_heuristics
264
- )
265
-
266
- async def set_cookies(self, cookies: List[Dict[str, Any]]) -> None:
267
- return await self.sync_to_trio(sync_function=self._set_cookies_impl)(cookies=cookies)
268
-
269
- async def set_extra_http_headers(self, headers: Dict[Any, Any]) -> None:
270
- return await self.sync_to_trio(sync_function=self._set_extra_http_headers_impl)(headers=headers)
271
-
272
- async def set_ip_protection_proxy_bypass_enabled(self, enabled: bool) -> None:
273
- return await self.sync_to_trio(sync_function=self._set_ip_protection_proxy_bypass_enabled_impl)(enabled=enabled)
274
-
275
- async def set_request_interception(self, patterns: List[Dict[str, Any]]) -> None:
276
- return await self.sync_to_trio(sync_function=self._set_request_interception_impl)(patterns=patterns)
277
-
278
- async def set_user_agent_override(
279
- self,
280
- user_agent: str,
281
- accept_language: Optional[str] = None,
282
- platform: Optional[str] = None,
283
- user_agent_metadata: Optional[Dict[str, Any]] = None
284
- ) -> None:
285
- return await self.sync_to_trio(sync_function=self._set_user_agent_override_impl)(
286
- user_agent=user_agent,
287
- accept_language=accept_language,
288
- platform=platform,
289
- user_agent_metadata=user_agent_metadata
290
- )
291
-
292
- async def stream_resource_content(self, request_id: str) -> str:
293
- return await self.sync_to_trio(sync_function=self._stream_resource_content_impl)(request_id=request_id)
294
-
295
- async def take_response_body_for_interception_as_stream(self, interception_id: str) -> str:
296
- return await self.sync_to_trio(sync_function=self._take_response_body_for_interception_as_stream_impl)(interception_id=interception_id)
@@ -1,183 +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.overlay import (
11
- UnifiedOverlayCDPExecutor
12
- )
13
- from osn_selenium.abstract.executors.cdp.overlay import (
14
- AbstractOverlayCDPExecutor
15
- )
16
-
17
-
18
- __all__ = ["OverlayCDPExecutor"]
19
-
20
-
21
- class OverlayCDPExecutor(UnifiedOverlayCDPExecutor, TrioThreadMixin, AbstractOverlayCDPExecutor):
22
- def __init__(
23
- self,
24
- execute_function: Callable[[str, Dict[str, Any]], Any],
25
- lock: trio.Lock,
26
- limiter: trio.CapacityLimiter
27
- ):
28
- UnifiedOverlayCDPExecutor.__init__(self, execute_function=execute_function)
29
-
30
- TrioThreadMixin.__init__(self, lock=lock, limiter=limiter)
31
-
32
- async def disable(self) -> None:
33
- return await self.sync_to_trio(sync_function=self._disable_impl)()
34
-
35
- async def enable(self) -> None:
36
- return await self.sync_to_trio(sync_function=self._enable_impl)()
37
-
38
- async def get_grid_highlight_objects_for_test(self, node_ids: List[int]) -> Any:
39
- return await self.sync_to_trio(sync_function=self._get_grid_highlight_objects_for_test_impl)(node_ids=node_ids)
40
-
41
- async def get_highlight_object_for_test(
42
- self,
43
- node_id: int,
44
- include_distance: Optional[bool] = None,
45
- include_style: Optional[bool] = None,
46
- color_format: Optional[str] = None,
47
- show_accessibility_info: Optional[bool] = None
48
- ) -> Any:
49
- return await self.sync_to_trio(sync_function=self._get_highlight_object_for_test_impl)(
50
- node_id=node_id,
51
- include_distance=include_distance,
52
- include_style=include_style,
53
- color_format=color_format,
54
- show_accessibility_info=show_accessibility_info
55
- )
56
-
57
- async def get_source_order_highlight_object_for_test(self, node_id: int) -> Any:
58
- return await self.sync_to_trio(sync_function=self._get_source_order_highlight_object_for_test_impl)(node_id=node_id)
59
-
60
- async def hide_highlight(self) -> None:
61
- return await self.sync_to_trio(sync_function=self._hide_highlight_impl)()
62
-
63
- async def highlight_frame(
64
- self,
65
- frame_id: str,
66
- content_color: Optional[Dict[str, Any]] = None,
67
- content_outline_color: Optional[Dict[str, Any]] = None
68
- ) -> None:
69
- return await self.sync_to_trio(sync_function=self._highlight_frame_impl)(
70
- frame_id=frame_id,
71
- content_color=content_color,
72
- content_outline_color=content_outline_color
73
- )
74
-
75
- async def highlight_node(
76
- self,
77
- highlight_config: Dict[str, Any],
78
- node_id: Optional[int] = None,
79
- backend_node_id: Optional[int] = None,
80
- object_id: Optional[str] = None,
81
- selector: Optional[str] = None
82
- ) -> None:
83
- return await self.sync_to_trio(sync_function=self._highlight_node_impl)(
84
- highlight_config=highlight_config,
85
- node_id=node_id,
86
- backend_node_id=backend_node_id,
87
- object_id=object_id,
88
- selector=selector
89
- )
90
-
91
- async def highlight_quad(
92
- self,
93
- quad: List[float],
94
- color: Optional[Dict[str, Any]] = None,
95
- outline_color: Optional[Dict[str, Any]] = None
96
- ) -> None:
97
- return await self.sync_to_trio(sync_function=self._highlight_quad_impl)(quad=quad, color=color, outline_color=outline_color)
98
-
99
- async def highlight_rect(
100
- self,
101
- x: int,
102
- y: int,
103
- width: int,
104
- height: int,
105
- color: Optional[Dict[str, Any]] = None,
106
- outline_color: Optional[Dict[str, Any]] = None
107
- ) -> None:
108
- return await self.sync_to_trio(sync_function=self._highlight_rect_impl)(
109
- x=x,
110
- y=y,
111
- width=width,
112
- height=height,
113
- color=color,
114
- outline_color=outline_color
115
- )
116
-
117
- async def highlight_source_order(
118
- self,
119
- source_order_config: Dict[str, Any],
120
- node_id: Optional[int] = None,
121
- backend_node_id: Optional[int] = None,
122
- object_id: Optional[str] = None
123
- ) -> None:
124
- return await self.sync_to_trio(sync_function=self._highlight_source_order_impl)(
125
- source_order_config=source_order_config,
126
- node_id=node_id,
127
- backend_node_id=backend_node_id,
128
- object_id=object_id
129
- )
130
-
131
- async def set_inspect_mode(self, mode: str, highlight_config: Optional[Dict[str, Any]] = None) -> None:
132
- return await self.sync_to_trio(sync_function=self._set_inspect_mode_impl)(mode=mode, highlight_config=highlight_config)
133
-
134
- async def set_paused_in_debugger_message(self, message: Optional[str] = None) -> None:
135
- return await self.sync_to_trio(sync_function=self._set_paused_in_debugger_message_impl)(message=message)
136
-
137
- async def set_show_ad_highlights(self, show: bool) -> None:
138
- return await self.sync_to_trio(sync_function=self._set_show_ad_highlights_impl)(show=show)
139
-
140
- async def set_show_container_query_overlays(self, container_query_highlight_configs: List[Dict[str, Any]]) -> None:
141
- return await self.sync_to_trio(sync_function=self._set_show_container_query_overlays_impl)(container_query_highlight_configs=container_query_highlight_configs)
142
-
143
- async def set_show_debug_borders(self, show: bool) -> None:
144
- return await self.sync_to_trio(sync_function=self._set_show_debug_borders_impl)(show=show)
145
-
146
- async def set_show_flex_overlays(self, flex_node_highlight_configs: List[Dict[str, Any]]) -> None:
147
- return await self.sync_to_trio(sync_function=self._set_show_flex_overlays_impl)(flex_node_highlight_configs=flex_node_highlight_configs)
148
-
149
- async def set_show_fps_counter(self, show: bool) -> None:
150
- return await self.sync_to_trio(sync_function=self._set_show_fps_counter_impl)(show=show)
151
-
152
- async def set_show_grid_overlays(self, grid_node_highlight_configs: List[Dict[str, Any]]) -> None:
153
- return await self.sync_to_trio(sync_function=self._set_show_grid_overlays_impl)(grid_node_highlight_configs=grid_node_highlight_configs)
154
-
155
- async def set_show_hinge(self, hinge_config: Optional[Dict[str, Any]] = None) -> None:
156
- return await self.sync_to_trio(sync_function=self._set_show_hinge_impl)(hinge_config=hinge_config)
157
-
158
- async def set_show_hit_test_borders(self, show: bool) -> None:
159
- return await self.sync_to_trio(sync_function=self._set_show_hit_test_borders_impl)(show=show)
160
-
161
- async def set_show_isolated_elements(self, isolated_element_highlight_configs: List[Dict[str, Any]]) -> None:
162
- return await self.sync_to_trio(sync_function=self._set_show_isolated_elements_impl)(isolated_element_highlight_configs=isolated_element_highlight_configs)
163
-
164
- async def set_show_layout_shift_regions(self, result: bool) -> None:
165
- return await self.sync_to_trio(sync_function=self._set_show_layout_shift_regions_impl)(result=result)
166
-
167
- async def set_show_paint_rects(self, result: bool) -> None:
168
- return await self.sync_to_trio(sync_function=self._set_show_paint_rects_impl)(result=result)
169
-
170
- async def set_show_scroll_bottleneck_rects(self, show: bool) -> None:
171
- return await self.sync_to_trio(sync_function=self._set_show_scroll_bottleneck_rects_impl)(show=show)
172
-
173
- async def set_show_scroll_snap_overlays(self, scroll_snap_highlight_configs: List[Dict[str, Any]]) -> None:
174
- return await self.sync_to_trio(sync_function=self._set_show_scroll_snap_overlays_impl)(scroll_snap_highlight_configs=scroll_snap_highlight_configs)
175
-
176
- async def set_show_viewport_size_on_resize(self, show: bool) -> None:
177
- return await self.sync_to_trio(sync_function=self._set_show_viewport_size_on_resize_impl)(show=show)
178
-
179
- async def set_show_web_vitals(self, show: bool) -> None:
180
- return await self.sync_to_trio(sync_function=self._set_show_web_vitals_impl)(show=show)
181
-
182
- async def set_show_window_controls_overlay(self, window_controls_overlay_config: Optional[Dict[str, Any]] = None) -> None:
183
- return await self.sync_to_trio(sync_function=self._set_show_window_controls_overlay_impl)(window_controls_overlay_config=window_controls_overlay_config)