osn-selenium 1.1.0__py3-none-any.whl → 1.2.0__py3-none-any.whl

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