osn-selenium 0.0.0__py3-none-any.whl → 1.0.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 (628) hide show
  1. osn_selenium/_functions.py +84 -0
  2. osn_selenium/_typehints.py +19 -0
  3. osn_selenium/abstract/executors/cdp/__init__.py +435 -0
  4. osn_selenium/abstract/executors/cdp/accessibility.py +62 -0
  5. osn_selenium/abstract/executors/cdp/animation.py +47 -0
  6. osn_selenium/abstract/executors/cdp/audits.py +39 -0
  7. osn_selenium/abstract/executors/cdp/autofill.py +34 -0
  8. osn_selenium/abstract/executors/cdp/background_service.py +22 -0
  9. osn_selenium/abstract/executors/cdp/bluetooth_emulation.py +95 -0
  10. osn_selenium/abstract/executors/cdp/browser.py +122 -0
  11. osn_selenium/abstract/executors/cdp/cache_storage.py +49 -0
  12. osn_selenium/abstract/executors/cdp/cast.py +31 -0
  13. osn_selenium/abstract/executors/cdp/console.py +18 -0
  14. osn_selenium/abstract/executors/cdp/css.py +197 -0
  15. osn_selenium/abstract/executors/cdp/debugger.py +198 -0
  16. osn_selenium/abstract/executors/cdp/device_access.py +22 -0
  17. osn_selenium/abstract/executors/cdp/device_orientation.py +14 -0
  18. osn_selenium/abstract/executors/cdp/dom.py +305 -0
  19. osn_selenium/abstract/executors/cdp/dom_debugger.py +57 -0
  20. osn_selenium/abstract/executors/cdp/dom_snapshot.py +42 -0
  21. osn_selenium/abstract/executors/cdp/dom_storage.py +31 -0
  22. osn_selenium/abstract/executors/cdp/emulation.py +259 -0
  23. osn_selenium/abstract/executors/cdp/event_breakpoints.py +18 -0
  24. osn_selenium/abstract/executors/cdp/extensions.py +31 -0
  25. osn_selenium/abstract/executors/cdp/fed_cm.py +35 -0
  26. osn_selenium/abstract/executors/cdp/fetch.py +76 -0
  27. osn_selenium/abstract/executors/cdp/file_system.py +11 -0
  28. osn_selenium/abstract/executors/cdp/headless_experimental.py +30 -0
  29. osn_selenium/abstract/executors/cdp/heap_profiler.py +73 -0
  30. osn_selenium/abstract/executors/cdp/indexed_db.py +99 -0
  31. osn_selenium/abstract/executors/cdp/input.py +158 -0
  32. osn_selenium/abstract/executors/cdp/inspector.py +14 -0
  33. osn_selenium/abstract/executors/cdp/io.py +24 -0
  34. osn_selenium/abstract/executors/cdp/layer_tree.py +61 -0
  35. osn_selenium/abstract/executors/cdp/log.py +27 -0
  36. osn_selenium/abstract/executors/cdp/media.py +14 -0
  37. osn_selenium/abstract/executors/cdp/memory.py +61 -0
  38. osn_selenium/abstract/executors/cdp/network.py +252 -0
  39. osn_selenium/abstract/executors/cdp/overlay.py +166 -0
  40. osn_selenium/abstract/executors/cdp/page.py +347 -0
  41. osn_selenium/abstract/executors/cdp/performance.py +28 -0
  42. osn_selenium/abstract/executors/cdp/performance_timeline.py +11 -0
  43. osn_selenium/abstract/executors/cdp/preload.py +14 -0
  44. osn_selenium/abstract/executors/cdp/profiler.py +54 -0
  45. osn_selenium/abstract/executors/cdp/pwa.py +46 -0
  46. osn_selenium/abstract/executors/cdp/runtime.py +176 -0
  47. osn_selenium/abstract/executors/cdp/schema.py +11 -0
  48. osn_selenium/abstract/executors/cdp/security.py +26 -0
  49. osn_selenium/abstract/executors/cdp/service_worker.py +54 -0
  50. osn_selenium/abstract/executors/cdp/storage.py +175 -0
  51. osn_selenium/abstract/executors/cdp/system_info.py +24 -0
  52. osn_selenium/abstract/executors/cdp/target.py +125 -0
  53. osn_selenium/abstract/executors/cdp/tethering.py +14 -0
  54. osn_selenium/abstract/executors/cdp/tracing.py +48 -0
  55. osn_selenium/abstract/executors/cdp/web_audio.py +19 -0
  56. osn_selenium/abstract/executors/cdp/web_authn.py +76 -0
  57. osn_selenium/abstract/executors/javascript.py +203 -0
  58. osn_selenium/abstract/instances/action_chains/__init__.py +12 -0
  59. osn_selenium/abstract/instances/action_chains/base.py +25 -0
  60. osn_selenium/abstract/instances/action_chains/click.py +93 -0
  61. osn_selenium/abstract/instances/action_chains/drag_and_drop.py +46 -0
  62. osn_selenium/abstract/instances/action_chains/hm_keyboard.py +44 -0
  63. osn_selenium/abstract/instances/action_chains/hm_move.py +104 -0
  64. osn_selenium/abstract/instances/action_chains/hm_scroll.py +75 -0
  65. osn_selenium/abstract/instances/action_chains/keyboard.py +79 -0
  66. osn_selenium/abstract/instances/action_chains/move.py +60 -0
  67. osn_selenium/abstract/instances/action_chains/scroll.py +61 -0
  68. osn_selenium/abstract/instances/action_chains/utils.py +44 -0
  69. osn_selenium/abstract/instances/alert.py +67 -0
  70. osn_selenium/abstract/instances/browser.py +76 -0
  71. osn_selenium/abstract/instances/browsing_context.py +310 -0
  72. osn_selenium/abstract/instances/dialog.py +107 -0
  73. osn_selenium/abstract/instances/fedcm.py +133 -0
  74. osn_selenium/abstract/instances/mobile.py +79 -0
  75. osn_selenium/abstract/instances/network.py +100 -0
  76. osn_selenium/abstract/instances/permissions.py +52 -0
  77. osn_selenium/abstract/instances/script.py +109 -0
  78. osn_selenium/abstract/instances/shadow_root.py +81 -0
  79. osn_selenium/abstract/instances/storage.py +98 -0
  80. osn_selenium/abstract/instances/switch_to.py +104 -0
  81. osn_selenium/abstract/instances/web_driver_wait.py +57 -0
  82. osn_selenium/abstract/instances/web_element.py +395 -0
  83. osn_selenium/abstract/instances/web_extension.py +70 -0
  84. osn_selenium/abstract/webdriver/blink/__init__.py +18 -0
  85. osn_selenium/abstract/webdriver/blink/base.py +80 -0
  86. osn_selenium/abstract/webdriver/blink/casting.py +82 -0
  87. osn_selenium/abstract/webdriver/blink/features.py +51 -0
  88. osn_selenium/abstract/webdriver/blink/lifecycle.py +76 -0
  89. osn_selenium/abstract/webdriver/blink/logging.py +40 -0
  90. osn_selenium/abstract/webdriver/blink/network.py +45 -0
  91. osn_selenium/abstract/webdriver/blink/settings.py +68 -0
  92. osn_selenium/abstract/webdriver/chrome/__init__.py +18 -0
  93. osn_selenium/abstract/webdriver/chrome/base.py +36 -0
  94. osn_selenium/abstract/webdriver/chrome/lifecycle.py +92 -0
  95. osn_selenium/abstract/webdriver/chrome/settings.py +110 -0
  96. osn_selenium/abstract/webdriver/core/__init__.py +16 -0
  97. osn_selenium/abstract/webdriver/core/actions.py +58 -0
  98. osn_selenium/abstract/webdriver/core/auth.py +145 -0
  99. osn_selenium/abstract/webdriver/core/base.py +298 -0
  100. osn_selenium/abstract/webdriver/core/capture.py +84 -0
  101. osn_selenium/abstract/webdriver/core/components.py +82 -0
  102. osn_selenium/abstract/webdriver/core/devtools.py +69 -0
  103. osn_selenium/abstract/webdriver/core/element.py +55 -0
  104. osn_selenium/abstract/webdriver/core/file.py +82 -0
  105. osn_selenium/abstract/webdriver/core/lifecycle.py +103 -0
  106. osn_selenium/abstract/webdriver/core/navigation.py +65 -0
  107. osn_selenium/abstract/webdriver/core/script.py +88 -0
  108. osn_selenium/abstract/webdriver/core/settings.py +43 -0
  109. osn_selenium/abstract/webdriver/core/storage.py +81 -0
  110. osn_selenium/abstract/webdriver/core/timeouts.py +101 -0
  111. osn_selenium/abstract/webdriver/core/window.py +237 -0
  112. osn_selenium/abstract/webdriver/edge/__init__.py +18 -0
  113. osn_selenium/abstract/webdriver/edge/base.py +36 -0
  114. osn_selenium/abstract/webdriver/edge/lifecycle.py +92 -0
  115. osn_selenium/abstract/webdriver/edge/settings.py +110 -0
  116. osn_selenium/abstract/webdriver/yandex/__init__.py +18 -0
  117. osn_selenium/abstract/webdriver/yandex/base.py +18 -0
  118. osn_selenium/abstract/webdriver/yandex/lifecycle.py +92 -0
  119. osn_selenium/abstract/webdriver/yandex/settings.py +110 -0
  120. osn_selenium/base_mixin.py +122 -0
  121. osn_selenium/browsers_handler/__init__.py +47 -17
  122. osn_selenium/browsers_handler/_linux.py +226 -0
  123. osn_selenium/browsers_handler/_windows.py +21 -14
  124. osn_selenium/browsers_handler/{types.py → models.py} +5 -2
  125. osn_selenium/dev_tools/_decorators.py +140 -0
  126. osn_selenium/dev_tools/_exception_helpers.py +116 -0
  127. osn_selenium/dev_tools/_functions.py +174 -0
  128. osn_selenium/dev_tools/_system_utils.py +35 -0
  129. osn_selenium/dev_tools/_typehints.py +32 -0
  130. osn_selenium/dev_tools/_validators.py +227 -0
  131. osn_selenium/dev_tools/_wrappers.py +95 -0
  132. osn_selenium/dev_tools/domains/__init__.py +7 -40
  133. osn_selenium/dev_tools/domains/abstract.py +98 -254
  134. osn_selenium/dev_tools/domains/fetch.py +229 -906
  135. osn_selenium/dev_tools/domains_default/fetch.py +40 -28
  136. osn_selenium/dev_tools/filters.py +40 -0
  137. osn_selenium/dev_tools/logger/main.py +226 -0
  138. osn_selenium/dev_tools/logger/models.py +232 -0
  139. osn_selenium/dev_tools/logger/target.py +258 -0
  140. osn_selenium/dev_tools/manager/__init__.py +16 -0
  141. osn_selenium/dev_tools/manager/base.py +147 -0
  142. osn_selenium/dev_tools/manager/lifecycle.py +236 -0
  143. osn_selenium/dev_tools/manager/logging.py +153 -0
  144. osn_selenium/dev_tools/manager/settings.py +89 -0
  145. osn_selenium/dev_tools/manager/targets.py +175 -0
  146. osn_selenium/dev_tools/models.py +49 -0
  147. osn_selenium/dev_tools/settings.py +135 -0
  148. osn_selenium/dev_tools/target/__init__.py +16 -0
  149. osn_selenium/dev_tools/target/base.py +438 -0
  150. osn_selenium/dev_tools/target/detach.py +54 -0
  151. osn_selenium/dev_tools/target/discovery.py +112 -0
  152. osn_selenium/dev_tools/target/events.py +120 -0
  153. osn_selenium/dev_tools/target/fingerprint.py +126 -0
  154. osn_selenium/dev_tools/target/lifecycle.py +179 -0
  155. osn_selenium/dev_tools/target/logging.py +155 -0
  156. osn_selenium/exceptions/__init__.py +1 -0
  157. osn_selenium/exceptions/base.py +9 -0
  158. osn_selenium/exceptions/configuration.py +84 -0
  159. osn_selenium/exceptions/devtools.py +114 -0
  160. osn_selenium/exceptions/flags.py +45 -0
  161. osn_selenium/exceptions/instance.py +92 -0
  162. osn_selenium/exceptions/javascript.py +31 -0
  163. osn_selenium/exceptions/logic.py +31 -0
  164. osn_selenium/exceptions/path.py +77 -0
  165. osn_selenium/exceptions/platform.py +33 -0
  166. osn_selenium/exceptions/protocol.py +86 -0
  167. osn_selenium/exceptions/webdriver.py +44 -0
  168. osn_selenium/exceptions/window.py +63 -0
  169. osn_selenium/executors/__init__.py +1 -0
  170. osn_selenium/executors/sync/__init__.py +1 -0
  171. osn_selenium/executors/sync/cdp/__init__.py +550 -0
  172. osn_selenium/executors/sync/cdp/accessibility.py +74 -0
  173. osn_selenium/executors/sync/cdp/animation.py +50 -0
  174. osn_selenium/executors/sync/cdp/audits.py +48 -0
  175. osn_selenium/executors/sync/cdp/autofill.py +39 -0
  176. osn_selenium/executors/sync/cdp/background_service.py +30 -0
  177. osn_selenium/executors/sync/cdp/bluetooth_emulation.py +101 -0
  178. osn_selenium/executors/sync/cdp/browser.py +131 -0
  179. osn_selenium/executors/sync/cdp/cache_storage.py +66 -0
  180. osn_selenium/executors/sync/cdp/cast.py +38 -0
  181. osn_selenium/executors/sync/cdp/console.py +24 -0
  182. osn_selenium/executors/sync/cdp/css.py +187 -0
  183. osn_selenium/executors/sync/cdp/debugger.py +206 -0
  184. osn_selenium/executors/sync/cdp/device_access.py +27 -0
  185. osn_selenium/executors/sync/cdp/device_orientation.py +24 -0
  186. osn_selenium/executors/sync/cdp/dom.py +310 -0
  187. osn_selenium/executors/sync/cdp/dom_debugger.py +56 -0
  188. osn_selenium/executors/sync/cdp/dom_snapshot.py +58 -0
  189. osn_selenium/executors/sync/cdp/dom_storage.py +38 -0
  190. osn_selenium/executors/sync/cdp/emulation.py +270 -0
  191. osn_selenium/executors/sync/cdp/event_breakpoints.py +27 -0
  192. osn_selenium/executors/sync/cdp/extensions.py +39 -0
  193. osn_selenium/executors/sync/cdp/fed_cm.py +45 -0
  194. osn_selenium/executors/sync/cdp/fetch.py +96 -0
  195. osn_selenium/executors/sync/cdp/file_system.py +18 -0
  196. osn_selenium/executors/sync/cdp/headless_experimental.py +44 -0
  197. osn_selenium/executors/sync/cdp/heap_profiler.py +89 -0
  198. osn_selenium/executors/sync/cdp/indexed_db.py +142 -0
  199. osn_selenium/executors/sync/cdp/input.py +233 -0
  200. osn_selenium/executors/sync/cdp/inspector.py +21 -0
  201. osn_selenium/executors/sync/cdp/io.py +33 -0
  202. osn_selenium/executors/sync/cdp/layer_tree.py +71 -0
  203. osn_selenium/executors/sync/cdp/log.py +35 -0
  204. osn_selenium/executors/sync/cdp/media.py +21 -0
  205. osn_selenium/executors/sync/cdp/memory.py +62 -0
  206. osn_selenium/executors/sync/cdp/network.py +287 -0
  207. osn_selenium/executors/sync/cdp/overlay.py +174 -0
  208. osn_selenium/executors/sync/cdp/page.py +365 -0
  209. osn_selenium/executors/sync/cdp/performance.py +33 -0
  210. osn_selenium/executors/sync/cdp/performance_timeline.py +26 -0
  211. osn_selenium/executors/sync/cdp/preload.py +21 -0
  212. osn_selenium/executors/sync/cdp/profiler.py +58 -0
  213. osn_selenium/executors/sync/cdp/pwa.py +55 -0
  214. osn_selenium/executors/sync/cdp/runtime.py +221 -0
  215. osn_selenium/executors/sync/cdp/schema.py +23 -0
  216. osn_selenium/executors/sync/cdp/security.py +30 -0
  217. osn_selenium/executors/sync/cdp/service_worker.py +56 -0
  218. osn_selenium/executors/sync/cdp/storage.py +151 -0
  219. osn_selenium/executors/sync/cdp/system_info.py +30 -0
  220. osn_selenium/executors/sync/cdp/target.py +147 -0
  221. osn_selenium/executors/sync/cdp/tethering.py +21 -0
  222. osn_selenium/executors/sync/cdp/tracing.py +62 -0
  223. osn_selenium/executors/sync/cdp/web_audio.py +24 -0
  224. osn_selenium/executors/sync/cdp/web_authn.py +82 -0
  225. osn_selenium/executors/sync/javascript.py +79 -0
  226. osn_selenium/executors/trio_threads/__init__.py +1 -0
  227. osn_selenium/executors/trio_threads/cdp/__init__.py +771 -0
  228. osn_selenium/executors/trio_threads/cdp/accessibility.py +87 -0
  229. osn_selenium/executors/trio_threads/cdp/animation.py +63 -0
  230. osn_selenium/executors/trio_threads/cdp/audits.py +57 -0
  231. osn_selenium/executors/trio_threads/cdp/autofill.py +52 -0
  232. osn_selenium/executors/trio_threads/cdp/background_service.py +40 -0
  233. osn_selenium/executors/trio_threads/cdp/bluetooth_emulation.py +111 -0
  234. osn_selenium/executors/trio_threads/cdp/browser.py +140 -0
  235. osn_selenium/executors/trio_threads/cdp/cache_storage.py +79 -0
  236. osn_selenium/executors/trio_threads/cdp/cast.py +47 -0
  237. osn_selenium/executors/trio_threads/cdp/console.py +33 -0
  238. osn_selenium/executors/trio_threads/cdp/css.py +196 -0
  239. osn_selenium/executors/trio_threads/cdp/debugger.py +219 -0
  240. osn_selenium/executors/trio_threads/cdp/device_access.py +40 -0
  241. osn_selenium/executors/trio_threads/cdp/device_orientation.py +34 -0
  242. osn_selenium/executors/trio_threads/cdp/dom.py +319 -0
  243. osn_selenium/executors/trio_threads/cdp/dom_debugger.py +69 -0
  244. osn_selenium/executors/trio_threads/cdp/dom_snapshot.py +71 -0
  245. osn_selenium/executors/trio_threads/cdp/dom_storage.py +51 -0
  246. osn_selenium/executors/trio_threads/cdp/emulation.py +283 -0
  247. osn_selenium/executors/trio_threads/cdp/event_breakpoints.py +37 -0
  248. osn_selenium/executors/trio_threads/cdp/extensions.py +52 -0
  249. osn_selenium/executors/trio_threads/cdp/fed_cm.py +54 -0
  250. osn_selenium/executors/trio_threads/cdp/fetch.py +105 -0
  251. osn_selenium/executors/trio_threads/cdp/file_system.py +31 -0
  252. osn_selenium/executors/trio_threads/cdp/headless_experimental.py +54 -0
  253. osn_selenium/executors/trio_threads/cdp/heap_profiler.py +102 -0
  254. osn_selenium/executors/trio_threads/cdp/indexed_db.py +155 -0
  255. osn_selenium/executors/trio_threads/cdp/input.py +242 -0
  256. osn_selenium/executors/trio_threads/cdp/inspector.py +34 -0
  257. osn_selenium/executors/trio_threads/cdp/io.py +42 -0
  258. osn_selenium/executors/trio_threads/cdp/layer_tree.py +84 -0
  259. osn_selenium/executors/trio_threads/cdp/log.py +44 -0
  260. osn_selenium/executors/trio_threads/cdp/media.py +30 -0
  261. osn_selenium/executors/trio_threads/cdp/memory.py +71 -0
  262. osn_selenium/executors/trio_threads/cdp/network.py +296 -0
  263. osn_selenium/executors/trio_threads/cdp/overlay.py +183 -0
  264. osn_selenium/executors/trio_threads/cdp/page.py +374 -0
  265. osn_selenium/executors/trio_threads/cdp/performance.py +46 -0
  266. osn_selenium/executors/trio_threads/cdp/performance_timeline.py +36 -0
  267. osn_selenium/executors/trio_threads/cdp/preload.py +30 -0
  268. osn_selenium/executors/trio_threads/cdp/profiler.py +71 -0
  269. osn_selenium/executors/trio_threads/cdp/pwa.py +64 -0
  270. osn_selenium/executors/trio_threads/cdp/runtime.py +230 -0
  271. osn_selenium/executors/trio_threads/cdp/schema.py +32 -0
  272. osn_selenium/executors/trio_threads/cdp/security.py +43 -0
  273. osn_selenium/executors/trio_threads/cdp/service_worker.py +69 -0
  274. osn_selenium/executors/trio_threads/cdp/storage.py +162 -0
  275. osn_selenium/executors/trio_threads/cdp/system_info.py +43 -0
  276. osn_selenium/executors/trio_threads/cdp/target.py +156 -0
  277. osn_selenium/executors/trio_threads/cdp/tethering.py +34 -0
  278. osn_selenium/executors/trio_threads/cdp/tracing.py +71 -0
  279. osn_selenium/executors/trio_threads/cdp/web_audio.py +37 -0
  280. osn_selenium/executors/trio_threads/cdp/web_authn.py +95 -0
  281. osn_selenium/executors/trio_threads/javascript.py +90 -0
  282. osn_selenium/executors/unified/__init__.py +1 -0
  283. osn_selenium/executors/unified/cdp/__init__.py +1 -0
  284. osn_selenium/executors/unified/cdp/accessibility.py +81 -0
  285. osn_selenium/executors/unified/cdp/animation.py +50 -0
  286. osn_selenium/executors/unified/cdp/audits.py +45 -0
  287. osn_selenium/executors/unified/cdp/autofill.py +41 -0
  288. osn_selenium/executors/unified/cdp/background_service.py +24 -0
  289. osn_selenium/executors/unified/cdp/bluetooth_emulation.py +132 -0
  290. osn_selenium/executors/unified/cdp/browser.py +143 -0
  291. osn_selenium/executors/unified/cdp/cache_storage.py +69 -0
  292. osn_selenium/executors/unified/cdp/cast.py +32 -0
  293. osn_selenium/executors/unified/cdp/console.py +18 -0
  294. osn_selenium/executors/unified/cdp/css.py +237 -0
  295. osn_selenium/executors/unified/cdp/debugger.py +243 -0
  296. osn_selenium/executors/unified/cdp/device_access.py +21 -0
  297. osn_selenium/executors/unified/cdp/device_orientation.py +18 -0
  298. osn_selenium/executors/unified/cdp/dom.py +380 -0
  299. osn_selenium/executors/unified/cdp/dom_debugger.py +65 -0
  300. osn_selenium/executors/unified/cdp/dom_snapshot.py +58 -0
  301. osn_selenium/executors/unified/cdp/dom_storage.py +38 -0
  302. osn_selenium/executors/unified/cdp/emulation.py +312 -0
  303. osn_selenium/executors/unified/cdp/event_breakpoints.py +24 -0
  304. osn_selenium/executors/unified/cdp/extensions.py +45 -0
  305. osn_selenium/executors/unified/cdp/fed_cm.py +51 -0
  306. osn_selenium/executors/unified/cdp/fetch.py +111 -0
  307. osn_selenium/executors/unified/cdp/file_system.py +15 -0
  308. osn_selenium/executors/unified/cdp/headless_experimental.py +38 -0
  309. osn_selenium/executors/unified/cdp/heap_profiler.py +101 -0
  310. osn_selenium/executors/unified/cdp/indexed_db.py +157 -0
  311. osn_selenium/executors/unified/cdp/input.py +254 -0
  312. osn_selenium/executors/unified/cdp/inspector.py +15 -0
  313. osn_selenium/executors/unified/cdp/io.py +29 -0
  314. osn_selenium/executors/unified/cdp/layer_tree.py +71 -0
  315. osn_selenium/executors/unified/cdp/log.py +29 -0
  316. osn_selenium/executors/unified/cdp/media.py +15 -0
  317. osn_selenium/executors/unified/cdp/memory.py +59 -0
  318. osn_selenium/executors/unified/cdp/network.py +323 -0
  319. osn_selenium/executors/unified/cdp/overlay.py +209 -0
  320. osn_selenium/executors/unified/cdp/page.py +410 -0
  321. osn_selenium/executors/unified/cdp/performance.py +27 -0
  322. osn_selenium/executors/unified/cdp/performance_timeline.py +17 -0
  323. osn_selenium/executors/unified/cdp/preload.py +15 -0
  324. osn_selenium/executors/unified/cdp/profiler.py +55 -0
  325. osn_selenium/executors/unified/cdp/pwa.py +55 -0
  326. osn_selenium/executors/unified/cdp/runtime.py +245 -0
  327. osn_selenium/executors/unified/cdp/schema.py +17 -0
  328. osn_selenium/executors/unified/cdp/security.py +27 -0
  329. osn_selenium/executors/unified/cdp/service_worker.py +62 -0
  330. osn_selenium/executors/unified/cdp/storage.py +178 -0
  331. osn_selenium/executors/unified/cdp/system_info.py +24 -0
  332. osn_selenium/executors/unified/cdp/target.py +165 -0
  333. osn_selenium/executors/unified/cdp/tethering.py +15 -0
  334. osn_selenium/executors/unified/cdp/tracing.py +62 -0
  335. osn_selenium/executors/unified/cdp/web_audio.py +18 -0
  336. osn_selenium/executors/unified/cdp/web_authn.py +103 -0
  337. osn_selenium/executors/unified/javascript.py +108 -0
  338. osn_selenium/flags/__init__.py +1 -0
  339. osn_selenium/flags/_functions.py +45 -0
  340. osn_selenium/flags/_typehints.py +34 -0
  341. osn_selenium/flags/_validators.py +101 -0
  342. osn_selenium/{webdrivers/BaseDriver/flags.py → flags/base.py} +165 -243
  343. osn_selenium/{webdrivers/Blink/flags.py → flags/blink.py} +133 -371
  344. osn_selenium/flags/chrome.py +259 -0
  345. osn_selenium/flags/edge.py +259 -0
  346. osn_selenium/flags/models/__init__.py +1 -0
  347. osn_selenium/flags/models/base.py +130 -0
  348. osn_selenium/flags/models/blink.py +263 -0
  349. osn_selenium/{webdrivers/Chrome/flags.py → flags/models/chrome.py} +25 -75
  350. osn_selenium/{webdrivers/Edge/flags.py → flags/models/edge.py} +25 -75
  351. osn_selenium/flags/models/values.py +44 -0
  352. osn_selenium/{webdrivers/Yandex/flags.py → flags/models/yandex.py} +26 -76
  353. osn_selenium/flags/yandex.py +259 -0
  354. osn_selenium/instances/__init__.py +1 -0
  355. osn_selenium/instances/_functions.py +242 -0
  356. osn_selenium/instances/_typehints.py +148 -0
  357. osn_selenium/instances/_utils.py +143 -0
  358. osn_selenium/instances/convert.py +287 -0
  359. osn_selenium/instances/protocols.py +105 -0
  360. osn_selenium/instances/sync/__init__.py +1 -0
  361. osn_selenium/instances/sync/action_chains/__init__.py +26 -0
  362. osn_selenium/instances/sync/action_chains/base.py +74 -0
  363. osn_selenium/instances/sync/action_chains/click.py +61 -0
  364. osn_selenium/instances/sync/action_chains/drag_and_drop.py +45 -0
  365. osn_selenium/instances/sync/action_chains/hm_keyboard.py +37 -0
  366. osn_selenium/instances/sync/action_chains/hm_move.py +81 -0
  367. osn_selenium/instances/sync/action_chains/hm_scroll.py +60 -0
  368. osn_selenium/instances/sync/action_chains/keyboard.py +55 -0
  369. osn_selenium/instances/sync/action_chains/move.py +46 -0
  370. osn_selenium/instances/sync/action_chains/scroll.py +43 -0
  371. osn_selenium/instances/sync/action_chains/utils.py +30 -0
  372. osn_selenium/instances/sync/alert.py +69 -0
  373. osn_selenium/instances/sync/browser.py +72 -0
  374. osn_selenium/instances/sync/browsing_context.py +193 -0
  375. osn_selenium/instances/sync/dialog.py +81 -0
  376. osn_selenium/instances/sync/fedcm.py +92 -0
  377. osn_selenium/instances/sync/mobile.py +75 -0
  378. osn_selenium/instances/sync/network.py +90 -0
  379. osn_selenium/instances/sync/permissions.py +80 -0
  380. osn_selenium/instances/sync/script.py +77 -0
  381. osn_selenium/instances/sync/shadow_root.py +91 -0
  382. osn_selenium/instances/sync/storage.py +91 -0
  383. osn_selenium/instances/sync/switch_to.py +92 -0
  384. osn_selenium/instances/sync/web_driver_wait.py +83 -0
  385. osn_selenium/instances/sync/web_element.py +179 -0
  386. osn_selenium/instances/sync/web_extension.py +77 -0
  387. osn_selenium/instances/trio_threads/__init__.py +1 -0
  388. osn_selenium/instances/trio_threads/action_chains/__init__.py +26 -0
  389. osn_selenium/instances/trio_threads/action_chains/base.py +88 -0
  390. osn_selenium/instances/trio_threads/action_chains/click.py +71 -0
  391. osn_selenium/instances/trio_threads/action_chains/drag_and_drop.py +49 -0
  392. osn_selenium/instances/trio_threads/action_chains/hm_keyboard.py +41 -0
  393. osn_selenium/instances/trio_threads/action_chains/hm_move.py +91 -0
  394. osn_selenium/instances/trio_threads/action_chains/hm_scroll.py +66 -0
  395. osn_selenium/instances/trio_threads/action_chains/keyboard.py +63 -0
  396. osn_selenium/instances/trio_threads/action_chains/move.py +52 -0
  397. osn_selenium/instances/trio_threads/action_chains/scroll.py +49 -0
  398. osn_selenium/instances/trio_threads/action_chains/utils.py +32 -0
  399. osn_selenium/instances/trio_threads/alert.py +87 -0
  400. osn_selenium/instances/trio_threads/browser.py +90 -0
  401. osn_selenium/instances/trio_threads/browsing_context.py +216 -0
  402. osn_selenium/instances/trio_threads/dialog.py +99 -0
  403. osn_selenium/instances/trio_threads/fedcm.py +110 -0
  404. osn_selenium/instances/trio_threads/mobile.py +93 -0
  405. osn_selenium/instances/trio_threads/network.py +108 -0
  406. osn_selenium/instances/trio_threads/permissions.py +102 -0
  407. osn_selenium/instances/trio_threads/script.py +95 -0
  408. osn_selenium/instances/trio_threads/shadow_root.py +123 -0
  409. osn_selenium/instances/trio_threads/storage.py +109 -0
  410. osn_selenium/instances/trio_threads/switch_to.py +124 -0
  411. osn_selenium/instances/trio_threads/web_driver_wait.py +101 -0
  412. osn_selenium/instances/trio_threads/web_element.py +217 -0
  413. osn_selenium/instances/trio_threads/web_extension.py +99 -0
  414. osn_selenium/instances/unified/__init__.py +1 -0
  415. osn_selenium/instances/unified/action_chains/__init__.py +22 -0
  416. osn_selenium/instances/unified/action_chains/base.py +31 -0
  417. osn_selenium/instances/unified/action_chains/click.py +27 -0
  418. osn_selenium/instances/unified/action_chains/drag_and_drop.py +24 -0
  419. osn_selenium/instances/unified/action_chains/hm_keyboard.py +30 -0
  420. osn_selenium/instances/unified/action_chains/hm_move.py +66 -0
  421. osn_selenium/instances/unified/action_chains/hm_scroll.py +79 -0
  422. osn_selenium/instances/unified/action_chains/keyboard.py +24 -0
  423. osn_selenium/instances/unified/action_chains/move.py +24 -0
  424. osn_selenium/instances/unified/action_chains/scroll.py +21 -0
  425. osn_selenium/instances/unified/action_chains/utils.py +19 -0
  426. osn_selenium/instances/unified/alert.py +29 -0
  427. osn_selenium/instances/unified/browser.py +33 -0
  428. osn_selenium/instances/unified/browsing_context.py +151 -0
  429. osn_selenium/instances/unified/dialog.py +42 -0
  430. osn_selenium/instances/unified/fedcm.py +48 -0
  431. osn_selenium/instances/unified/mobile.py +36 -0
  432. osn_selenium/instances/unified/network.py +50 -0
  433. osn_selenium/instances/unified/permissions.py +43 -0
  434. osn_selenium/instances/unified/script.py +38 -0
  435. osn_selenium/instances/unified/shadow_root.py +46 -0
  436. osn_selenium/instances/unified/storage.py +48 -0
  437. osn_selenium/instances/unified/switch_to.py +49 -0
  438. osn_selenium/instances/unified/web_driver_wait.py +45 -0
  439. osn_selenium/instances/unified/web_element.py +145 -0
  440. osn_selenium/instances/unified/web_extension.py +38 -0
  441. osn_selenium/javascript/__init__.py +1 -0
  442. osn_selenium/javascript/_functions.py +63 -0
  443. osn_selenium/javascript/fingerprint/__init__.py +120 -0
  444. osn_selenium/javascript/fingerprint/_decorators.py +41 -0
  445. osn_selenium/javascript/fingerprint/_detect/__init__.py +1 -0
  446. osn_selenium/javascript/fingerprint/_detect/functions.py +253 -0
  447. osn_selenium/javascript/fingerprint/_detect/templates.py +128 -0
  448. osn_selenium/javascript/fingerprint/_functions.py +35 -0
  449. osn_selenium/javascript/fingerprint/_typehints.py +27 -0
  450. osn_selenium/javascript/fingerprint/registry/__init__.py +7 -0
  451. osn_selenium/javascript/fingerprint/registry/_core_functions.py +236 -0
  452. osn_selenium/javascript/fingerprint/registry/_functions.py +923 -0
  453. osn_selenium/javascript/fingerprint/registry/_typehints.py +6 -0
  454. osn_selenium/javascript/fingerprint/registry/_utils.py +6 -0
  455. osn_selenium/javascript/fingerprint/registry/models.py +41 -0
  456. osn_selenium/javascript/fingerprint/spoof/__init__.py +1 -0
  457. osn_selenium/javascript/fingerprint/spoof/_functions.py +172 -0
  458. osn_selenium/javascript/fingerprint/spoof/_templates.py +134 -0
  459. osn_selenium/javascript/fingerprint/spoof/_typehints.py +22 -0
  460. osn_selenium/javascript/fingerprint/spoof/core_rules.py +141 -0
  461. osn_selenium/javascript/fingerprint/spoof/noise.py +51 -0
  462. osn_selenium/javascript/fingerprint/spoof/rules.py +313 -0
  463. osn_selenium/javascript/functions.py +44 -0
  464. osn_selenium/javascript/models.py +35 -0
  465. osn_selenium/javascript/scripts/start_fingerprint_detection.js +56 -0
  466. osn_selenium/models.py +139 -0
  467. osn_selenium/webdrivers/_args_helpers.py +181 -0
  468. osn_selenium/webdrivers/_bridges.py +57 -0
  469. osn_selenium/webdrivers/_decorators.py +83 -0
  470. osn_selenium/webdrivers/_executable_tables/__init__.py +1 -0
  471. osn_selenium/webdrivers/_executable_tables/functions.py +113 -0
  472. osn_selenium/webdrivers/_executable_tables/models.py +19 -0
  473. osn_selenium/webdrivers/_typehints.py +10 -0
  474. osn_selenium/webdrivers/protocols.py +50 -0
  475. osn_selenium/webdrivers/sync/__init__.py +1 -0
  476. osn_selenium/webdrivers/sync/blink/__init__.py +114 -0
  477. osn_selenium/webdrivers/sync/blink/base.py +128 -0
  478. osn_selenium/webdrivers/sync/blink/casting.py +34 -0
  479. osn_selenium/webdrivers/sync/blink/features.py +28 -0
  480. osn_selenium/webdrivers/sync/blink/lifecycle.py +66 -0
  481. osn_selenium/webdrivers/sync/blink/logging.py +25 -0
  482. osn_selenium/webdrivers/sync/blink/network.py +28 -0
  483. osn_selenium/webdrivers/sync/blink/settings.py +63 -0
  484. osn_selenium/webdrivers/sync/chrome/__init__.py +67 -0
  485. osn_selenium/webdrivers/sync/chrome/base.py +106 -0
  486. osn_selenium/webdrivers/sync/chrome/lifecycle.py +63 -0
  487. osn_selenium/webdrivers/sync/chrome/settings.py +58 -0
  488. osn_selenium/webdrivers/sync/core/__init__.py +91 -0
  489. osn_selenium/webdrivers/sync/core/actions.py +59 -0
  490. osn_selenium/webdrivers/sync/core/auth.py +77 -0
  491. osn_selenium/webdrivers/sync/core/base.py +167 -0
  492. osn_selenium/webdrivers/sync/core/capture.py +37 -0
  493. osn_selenium/webdrivers/sync/core/comonents.py +57 -0
  494. osn_selenium/webdrivers/sync/core/devtools.py +47 -0
  495. osn_selenium/webdrivers/sync/core/element.py +42 -0
  496. osn_selenium/webdrivers/sync/core/file.py +40 -0
  497. osn_selenium/webdrivers/sync/core/lifecycle.py +59 -0
  498. osn_selenium/webdrivers/sync/core/navigation.py +36 -0
  499. osn_selenium/webdrivers/sync/core/script.py +53 -0
  500. osn_selenium/webdrivers/sync/core/settings.py +35 -0
  501. osn_selenium/webdrivers/sync/core/storage.py +48 -0
  502. osn_selenium/webdrivers/sync/core/timeouts.py +59 -0
  503. osn_selenium/webdrivers/sync/core/window.py +99 -0
  504. osn_selenium/webdrivers/sync/edge/__init__.py +67 -0
  505. osn_selenium/webdrivers/sync/edge/base.py +102 -0
  506. osn_selenium/webdrivers/sync/edge/lifecycle.py +63 -0
  507. osn_selenium/webdrivers/sync/edge/settings.py +58 -0
  508. osn_selenium/webdrivers/sync/yandex/__init__.py +67 -0
  509. osn_selenium/webdrivers/sync/yandex/base.py +99 -0
  510. osn_selenium/webdrivers/sync/yandex/lifecycle.py +63 -0
  511. osn_selenium/webdrivers/sync/yandex/settings.py +58 -0
  512. osn_selenium/webdrivers/trio_threads/__init__.py +1 -0
  513. osn_selenium/webdrivers/trio_threads/blink/__init__.py +124 -0
  514. osn_selenium/webdrivers/trio_threads/blink/base.py +133 -0
  515. osn_selenium/webdrivers/trio_threads/blink/casting.py +35 -0
  516. osn_selenium/webdrivers/trio_threads/blink/features.py +29 -0
  517. osn_selenium/webdrivers/trio_threads/blink/lifecycle.py +66 -0
  518. osn_selenium/webdrivers/trio_threads/blink/logging.py +26 -0
  519. osn_selenium/webdrivers/trio_threads/blink/network.py +29 -0
  520. osn_selenium/webdrivers/trio_threads/blink/settings.py +63 -0
  521. osn_selenium/webdrivers/trio_threads/chrome/__init__.py +81 -0
  522. osn_selenium/webdrivers/trio_threads/chrome/base.py +107 -0
  523. osn_selenium/webdrivers/trio_threads/chrome/lifecycle.py +63 -0
  524. osn_selenium/webdrivers/trio_threads/chrome/settings.py +63 -0
  525. osn_selenium/webdrivers/trio_threads/core/__init__.py +109 -0
  526. osn_selenium/webdrivers/trio_threads/core/actions.py +72 -0
  527. osn_selenium/webdrivers/trio_threads/core/auth.py +88 -0
  528. osn_selenium/webdrivers/trio_threads/core/base.py +191 -0
  529. osn_selenium/webdrivers/trio_threads/core/capture.py +38 -0
  530. osn_selenium/webdrivers/trio_threads/core/comonents.py +92 -0
  531. osn_selenium/webdrivers/trio_threads/core/devtools.py +53 -0
  532. osn_selenium/webdrivers/trio_threads/core/element.py +58 -0
  533. osn_selenium/webdrivers/trio_threads/core/file.py +45 -0
  534. osn_selenium/webdrivers/trio_threads/core/lifecycle.py +60 -0
  535. osn_selenium/webdrivers/trio_threads/core/navigation.py +41 -0
  536. osn_selenium/webdrivers/trio_threads/core/script.py +59 -0
  537. osn_selenium/webdrivers/trio_threads/core/settings.py +36 -0
  538. osn_selenium/webdrivers/trio_threads/core/storage.py +54 -0
  539. osn_selenium/webdrivers/trio_threads/core/timeouts.py +60 -0
  540. osn_selenium/webdrivers/trio_threads/core/window.py +105 -0
  541. osn_selenium/webdrivers/trio_threads/edge/__init__.py +81 -0
  542. osn_selenium/webdrivers/trio_threads/edge/base.py +103 -0
  543. osn_selenium/webdrivers/trio_threads/edge/lifecycle.py +63 -0
  544. osn_selenium/webdrivers/trio_threads/edge/settings.py +63 -0
  545. osn_selenium/webdrivers/trio_threads/yandex/__init__.py +81 -0
  546. osn_selenium/webdrivers/trio_threads/yandex/base.py +100 -0
  547. osn_selenium/webdrivers/trio_threads/yandex/lifecycle.py +63 -0
  548. osn_selenium/webdrivers/trio_threads/yandex/settings.py +63 -0
  549. osn_selenium/webdrivers/unified/__init__.py +1 -0
  550. osn_selenium/webdrivers/unified/blink/__init__.py +1 -0
  551. osn_selenium/webdrivers/unified/blink/base.py +131 -0
  552. osn_selenium/webdrivers/unified/blink/casting.py +30 -0
  553. osn_selenium/webdrivers/unified/blink/features.py +22 -0
  554. osn_selenium/webdrivers/unified/blink/lifecycle.py +114 -0
  555. osn_selenium/webdrivers/unified/blink/logging.py +18 -0
  556. osn_selenium/webdrivers/unified/blink/network.py +22 -0
  557. osn_selenium/webdrivers/unified/blink/settings.py +86 -0
  558. osn_selenium/webdrivers/unified/chrome/__init__.py +1 -0
  559. osn_selenium/webdrivers/unified/chrome/base.py +54 -0
  560. osn_selenium/webdrivers/unified/chrome/lifecycle.py +88 -0
  561. osn_selenium/webdrivers/unified/chrome/settings.py +48 -0
  562. osn_selenium/webdrivers/unified/core/__init__.py +1 -0
  563. osn_selenium/webdrivers/unified/core/actions.py +43 -0
  564. osn_selenium/webdrivers/unified/core/auth.py +70 -0
  565. osn_selenium/webdrivers/unified/core/base.py +132 -0
  566. osn_selenium/webdrivers/unified/core/capture.py +32 -0
  567. osn_selenium/webdrivers/unified/core/components.py +32 -0
  568. osn_selenium/webdrivers/unified/core/devtools.py +35 -0
  569. osn_selenium/webdrivers/unified/core/element.py +24 -0
  570. osn_selenium/webdrivers/unified/core/file.py +35 -0
  571. osn_selenium/webdrivers/unified/core/lifecycle.py +84 -0
  572. osn_selenium/webdrivers/unified/core/navigation.py +31 -0
  573. osn_selenium/webdrivers/unified/core/script.py +32 -0
  574. osn_selenium/webdrivers/unified/core/settings.py +44 -0
  575. osn_selenium/webdrivers/unified/core/storage.py +37 -0
  576. osn_selenium/webdrivers/unified/core/timeouts.py +56 -0
  577. osn_selenium/webdrivers/unified/core/window.py +135 -0
  578. osn_selenium/webdrivers/unified/edge/__init__.py +1 -0
  579. osn_selenium/webdrivers/unified/edge/base.py +52 -0
  580. osn_selenium/webdrivers/unified/edge/lifecycle.py +88 -0
  581. osn_selenium/webdrivers/unified/edge/settings.py +48 -0
  582. osn_selenium/webdrivers/unified/yandex/__init__.py +1 -0
  583. osn_selenium/webdrivers/unified/yandex/base.py +54 -0
  584. osn_selenium/webdrivers/unified/yandex/lifecycle.py +58 -0
  585. osn_selenium/webdrivers/unified/yandex/settings.py +48 -0
  586. osn_selenium-1.0.0.dist-info/METADATA +239 -0
  587. osn_selenium-1.0.0.dist-info/RECORD +608 -0
  588. {osn_selenium-0.0.0.dist-info → osn_selenium-1.0.0.dist-info}/WHEEL +1 -1
  589. osn_selenium/captcha_workers/__init__.py +0 -26
  590. osn_selenium/dev_tools/_types.py +0 -22
  591. osn_selenium/dev_tools/errors.py +0 -89
  592. osn_selenium/dev_tools/logger.py +0 -558
  593. osn_selenium/dev_tools/manager.py +0 -1551
  594. osn_selenium/dev_tools/utils.py +0 -509
  595. osn_selenium/errors.py +0 -16
  596. osn_selenium/types.py +0 -118
  597. osn_selenium/webdrivers/BaseDriver/_utils.py +0 -37
  598. osn_selenium/webdrivers/BaseDriver/protocols.py +0 -2135
  599. osn_selenium/webdrivers/BaseDriver/trio_wrapper.py +0 -71
  600. osn_selenium/webdrivers/BaseDriver/webdriver.py +0 -2626
  601. osn_selenium/webdrivers/Blink/protocols.py +0 -330
  602. osn_selenium/webdrivers/Blink/webdriver.py +0 -637
  603. osn_selenium/webdrivers/Chrome/protocols.py +0 -228
  604. osn_selenium/webdrivers/Chrome/webdriver.py +0 -394
  605. osn_selenium/webdrivers/Edge/protocols.py +0 -228
  606. osn_selenium/webdrivers/Edge/webdriver.py +0 -394
  607. osn_selenium/webdrivers/Yandex/protocols.py +0 -211
  608. osn_selenium/webdrivers/Yandex/webdriver.py +0 -350
  609. osn_selenium/webdrivers/_functions.py +0 -504
  610. osn_selenium/webdrivers/types.py +0 -390
  611. osn_selenium-0.0.0.dist-info/METADATA +0 -710
  612. osn_selenium-0.0.0.dist-info/RECORD +0 -57
  613. /osn_selenium/{webdrivers/BaseDriver → abstract}/__init__.py +0 -0
  614. /osn_selenium/{webdrivers/Blink → abstract/executors}/__init__.py +0 -0
  615. /osn_selenium/{webdrivers/Chrome → abstract/instances}/__init__.py +0 -0
  616. /osn_selenium/{webdrivers/Edge → abstract/webdriver}/__init__.py +0 -0
  617. /osn_selenium/{webdrivers/Yandex → dev_tools/logger}/__init__.py +0 -0
  618. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/check_element_in_viewport.js +0 -0
  619. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_document_scroll_size.js +0 -0
  620. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_element_css.js +0 -0
  621. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_element_rect_in_viewport.js +0 -0
  622. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_random_element_point_in_viewport.js +0 -0
  623. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_viewport_position.js +0 -0
  624. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_viewport_rect.js +0 -0
  625. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_viewport_size.js +0 -0
  626. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/open_new_tab.js +0 -0
  627. /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/stop_window_loading.js +0 -0
  628. {osn_selenium-0.0.0.dist-info → osn_selenium-1.0.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,263 @@
1
+ from pydantic import Field
2
+ from typing import Optional
3
+ from osn_selenium.models import ExtraDictModel
4
+ from osn_selenium._typehints import PATH_TYPEHINT
5
+ from osn_selenium.flags._typehints import (
6
+ AUTOPLAY_POLICY_TYPEHINT,
7
+ LOG_LEVEL_TYPEHINT,
8
+ USE_GL_TYPEHINT
9
+ )
10
+ from osn_selenium.flags.models.base import (
11
+ BrowserArguments,
12
+ BrowserAttributes,
13
+ BrowserExperimentalOptions,
14
+ BrowserFlags
15
+ )
16
+
17
+
18
+ __all__ = [
19
+ "BlinkArguments",
20
+ "BlinkAttributes",
21
+ "BlinkExperimentalOptions",
22
+ "BlinkFeatures",
23
+ "BlinkFlags"
24
+ ]
25
+
26
+
27
+ class BlinkFeatures(ExtraDictModel):
28
+ """
29
+ Typed dictionary for Blink-specific feature flags.
30
+
31
+ These flags control experimental or internal features within the Blink rendering engine.
32
+
33
+ Attributes:
34
+ calculate_native_win_occlusion (Optional[bool]): Controls native window occlusion calculation.
35
+ accept_ch_frame (Optional[bool]): Enables/disables Accept-CH frame.
36
+ avoid_unload_check_sync (Optional[bool]): Avoids synchronous unload checks.
37
+ bfcache_feature (Optional[bool]): Controls the Back-Forward Cache feature.
38
+ heavy_ad_mitigations (Optional[bool]): Enables/disables heavy ad mitigations.
39
+ isolate_origins (Optional[bool]): Controls origin isolation.
40
+ lazy_frame_loading (Optional[bool]): Enables/disables lazy frame loading.
41
+ script_streaming (Optional[bool]): Controls script streaming.
42
+ global_media_controls (Optional[bool]): Enables/disables global media controls.
43
+ improved_cookie_controls (Optional[bool]): Enables/disables improved cookie controls.
44
+ privacy_sandbox_settings4 (Optional[bool]): Controls Privacy Sandbox settings (version 4).
45
+ media_router (Optional[bool]): Enables/disables media router.
46
+ autofill_server_comm (Optional[bool]): Controls autofill server communication.
47
+ cert_transparency_updater (Optional[bool]): Controls certificate transparency updater.
48
+ optimization_hints (Optional[bool]): Enables/disables optimization hints.
49
+ dial_media_route_provider (Optional[bool]): Controls DIAL media route provider.
50
+ paint_holding (Optional[bool]): Enables/disables paint holding.
51
+ destroy_profile_on_browser_close (Optional[bool]): Destroys user profile on browser close.
52
+ site_per_process (Optional[bool]): Enforces site isolation (site-per-process model).
53
+ automation_controlled (Optional[bool]): Indicates if the browser is controlled by automation.
54
+ """
55
+
56
+ calculate_native_win_occlusion: Optional[bool] = None
57
+ accept_ch_frame: Optional[bool] = None
58
+ avoid_unload_check_sync: Optional[bool] = None
59
+ bfcache_feature: Optional[bool] = None
60
+ heavy_ad_mitigations: Optional[bool] = None
61
+ isolate_origins: Optional[bool] = None
62
+ lazy_frame_loading: Optional[bool] = None
63
+ script_streaming: Optional[bool] = None
64
+ global_media_controls: Optional[bool] = None
65
+ improved_cookie_controls: Optional[bool] = None
66
+ privacy_sandbox_settings4: Optional[bool] = None
67
+ media_router: Optional[bool] = None
68
+ autofill_server_comm: Optional[bool] = None
69
+ cert_transparency_updater: Optional[bool] = None
70
+ optimization_hints: Optional[bool] = None
71
+ dial_media_route_provider: Optional[bool] = None
72
+ paint_holding: Optional[bool] = None
73
+ destroy_profile_on_browser_close: Optional[bool] = None
74
+ site_per_process: Optional[bool] = None
75
+ automation_controlled: Optional[bool] = None
76
+
77
+
78
+ class BlinkAttributes(BrowserAttributes):
79
+ """
80
+ Typed dictionary for WebDriver attributes specific to Blink-based browsers.
81
+
82
+ Attributes:
83
+ enable_bidi (Optional[bool]): Enables/disables BiDi (Bidirectional) protocol mapper.
84
+ """
85
+
86
+ pass
87
+
88
+
89
+ class BlinkExperimentalOptions(BrowserExperimentalOptions):
90
+ """
91
+ Typed dictionary for experimental options specific to Blink-based browsers.
92
+
93
+ Attributes:
94
+ debugger_address (Optional[str]): The address (IP:port) of the remote debugger.
95
+ """
96
+
97
+ debugger_address: Optional[str] = None
98
+
99
+
100
+ class BlinkArguments(BrowserArguments):
101
+ """
102
+ Typed dictionary for command-line arguments specific to Blink-based browsers.
103
+
104
+ Attributes:
105
+ se_downloads_enabled (bool): Enables/disables Selenium downloads.
106
+ headless_mode (bool): Runs the browser in headless mode (without a UI).
107
+ mute_audio (bool): Mutes audio output from the browser.
108
+ no_first_run (bool): Prevents the browser from showing the "first run" experience.
109
+ disable_background_timer_throttling (bool): Disables throttling of background timers.
110
+ disable_backgrounding_occluded_windows (bool): Prevents backgrounding of occluded windows.
111
+ disable_hang_monitor (bool): Disables the browser's hang monitor.
112
+ disable_ipc_flooding_protection (bool): Disables IPC flooding protection.
113
+ disable_renderer_backgrounding (bool): Prevents renderer processes from being backgrounded.
114
+ disable_back_forward_cache (bool): Disables the Back-Forward Cache.
115
+ disable_notifications (bool): Disables web notifications.
116
+ disable_popup_blocking (bool): Disables the built-in popup blocker.
117
+ disable_prompt_on_repost (bool): Disables the prompt when reposting form data.
118
+ disable_sync (bool): Disables browser synchronization features.
119
+ disable_background_networking (bool): Disables background network activity.
120
+ disable_breakpad (bool): Disables the crash reporter.
121
+ disable_component_update (bool): Disables component updates.
122
+ disable_domain_reliability (bool): Disables domain reliability monitoring.
123
+ disable_new_content_rendering_timeout (bool): Disables timeout for new content rendering.
124
+ disable_threaded_animation (bool): Disables threaded animation.
125
+ disable_threaded_scrolling (bool): Disables threaded scrolling.
126
+ disable_checker_imaging (bool): Disables checker imaging.
127
+ disable_image_animation_resync (bool): Disables image animation resynchronization.
128
+ disable_partial_raster (bool): Disables partial rasterization.
129
+ disable_skia_runtime_opts (bool): Disables Skia runtime optimizations.
130
+ disable_dev_shm_usage (bool): Disables the use of /dev/shm (important for Docker).
131
+ disable_gpu (bool): Disables GPU hardware acceleration.
132
+ aggressive_cache_discard (bool): Enables aggressive discarding of cached data.
133
+ allow_running_insecure_content (bool): Allows running insecure content on HTTPS pages.
134
+ no_process_per_site (bool): Runs all sites in a single process (less secure, but saves memory).
135
+ enable_precise_memory_info (bool): Enables precise memory information reporting.
136
+ use_fake_device_for_media_stream (bool): Uses a fake camera/microphone for media streams.
137
+ use_fake_ui_for_media_stream (bool): Uses a fake UI for media stream requests.
138
+ deny_permission_prompts (bool): Automatically denies all permission prompts.
139
+ disable_external_intent_requests (bool): Disables external intent requests.
140
+ noerrdialogs (bool): Suppresses error dialogs.
141
+ enable_automation (bool): Enables automation features.
142
+ test_type (bool): Sets the browser to test mode.
143
+ remote_debugging_pipe (bool): Uses a pipe for remote debugging instead of a port.
144
+ silent_debugger_extension_api (bool): Silences debugger extension API warnings.
145
+ enable_logging_stderr (bool): Enables logging to stderr.
146
+ password_store_basic (bool): Uses a basic password store.
147
+ use_mock_keychain (bool): Uses a mock keychain for testing.
148
+ enable_crash_reporter_for_testing (bool): Enables crash reporter for testing purposes.
149
+ metrics_recording_only (bool): Records metrics without sending them.
150
+ no_pings (bool): Disables sending pings.
151
+ allow_pre_commit_input (bool): Allows pre-commit input.
152
+ deterministic_mode (bool): Runs the browser in a more deterministic mode.
153
+ run_all_compositor_stages_before_draw (bool): Runs all compositor stages before drawing.
154
+ enable_begin_frame_control (bool): Enables begin frame control.
155
+ in_process_gpu (bool): Runs the GPU process in-process.
156
+ block_new_web_contents (bool): Blocks new web contents (e.g., pop-ups).
157
+ new_window (bool): Opens a new window instead of a new tab.
158
+ no_service_autorun (bool): Disables service autorun.
159
+ process_per_tab (bool): Runs each tab in its own process.
160
+ single_process (bool): Runs the browser in a single process (less stable).
161
+ no_sandbox (bool): Disables the sandbox (less secure, but can fix some issues).
162
+ user_agent (Optional[str]): Sets a custom user agent string.
163
+ user_data_dir (Optional[str]): Specifies the user data directory.
164
+ proxy_server (Optional[str]): Specifies a proxy server to use.
165
+ remote_debugging_port (Optional[int]): Specifies the remote debugging port.
166
+ remote_debugging_address (Optional[str]): Specifies the remote debugging address.
167
+ use_file_for_fake_video_capture (Optional[PATH_TYPEHINT]): Uses a file for fake video capture.
168
+ autoplay_policy (Optional[AutoplayPolicyType]): Sets the autoplay policy.
169
+ log_level (Optional[LogLevelType]): Sets the browser's log level.
170
+ use_gl (Optional[UseGLType]): Specifies the GL backend to use.
171
+ force_color_profile (Optional[str]): Forces a specific color profile.
172
+ """
173
+
174
+ headless_mode: Optional[bool] = None
175
+ mute_audio: Optional[bool] = None
176
+ no_first_run: Optional[bool] = None
177
+ disable_background_timer_throttling: Optional[bool] = None
178
+ disable_backgrounding_occluded_windows: Optional[bool] = None
179
+ disable_hang_monitor: Optional[bool] = None
180
+ disable_ipc_flooding_protection: Optional[bool] = None
181
+ disable_renderer_backgrounding: Optional[bool] = None
182
+ disable_back_forward_cache: Optional[bool] = None
183
+ disable_notifications: Optional[bool] = None
184
+ disable_popup_blocking: Optional[bool] = None
185
+ disable_prompt_on_repost: Optional[bool] = None
186
+ disable_sync: Optional[bool] = None
187
+ disable_background_networking: Optional[bool] = None
188
+ disable_breakpad: Optional[bool] = None
189
+ disable_component_update: Optional[bool] = None
190
+ disable_domain_reliability: Optional[bool] = None
191
+ disable_new_content_rendering_timeout: Optional[bool] = None
192
+ disable_threaded_animation: Optional[bool] = None
193
+ disable_threaded_scrolling: Optional[bool] = None
194
+ disable_checker_imaging: Optional[bool] = None
195
+ disable_image_animation_resync: Optional[bool] = None
196
+ disable_partial_raster: Optional[bool] = None
197
+ disable_skia_runtime_opts: Optional[bool] = None
198
+ disable_dev_shm_usage: Optional[bool] = None
199
+ disable_gpu: Optional[bool] = None
200
+ aggressive_cache_discard: Optional[bool] = None
201
+ allow_running_insecure_content: Optional[bool] = None
202
+ no_process_per_site: Optional[bool] = None
203
+ enable_precise_memory_info: Optional[bool] = None
204
+ use_fake_device_for_media_stream: Optional[bool] = None
205
+ use_fake_ui_for_media_stream: Optional[bool] = None
206
+ deny_permission_prompts: Optional[bool] = None
207
+ disable_external_intent_requests: Optional[bool] = None
208
+ noerrdialogs: Optional[bool] = None
209
+ enable_automation: Optional[bool] = None
210
+ test_type: Optional[bool] = None
211
+ remote_debugging_pipe: Optional[bool] = None
212
+ silent_debugger_extension_api: Optional[bool] = None
213
+ enable_logging_stderr: Optional[bool] = None
214
+ password_store_basic: Optional[bool] = None
215
+ use_mock_keychain: Optional[bool] = None
216
+ enable_crash_reporter_for_testing: Optional[bool] = None
217
+ metrics_recording_only: Optional[bool] = None
218
+ no_pings: Optional[bool] = None
219
+ allow_pre_commit_input: Optional[bool] = None
220
+ deterministic_mode: Optional[bool] = None
221
+ run_all_compositor_stages_before_draw: Optional[bool] = None
222
+ enable_begin_frame_control: Optional[bool] = None
223
+ in_process_gpu: Optional[bool] = None
224
+ block_new_web_contents: Optional[bool] = None
225
+ new_window: Optional[bool] = None
226
+ no_service_autorun: Optional[bool] = None
227
+ process_per_tab: Optional[bool] = None
228
+ single_process: Optional[bool] = None
229
+ no_sandbox: Optional[bool] = None
230
+ user_agent: Optional[str] = None
231
+ user_data_dir: Optional[str] = None
232
+ proxy_server: Optional[str] = None
233
+ remote_debugging_port: Optional[int] = None
234
+ remote_debugging_address: Optional[str] = None
235
+ use_file_for_fake_video_capture: Optional[PATH_TYPEHINT] = None
236
+ autoplay_policy: Optional[AUTOPLAY_POLICY_TYPEHINT] = None
237
+ log_level: Optional[LOG_LEVEL_TYPEHINT] = None
238
+ use_gl: Optional[USE_GL_TYPEHINT] = None
239
+ force_color_profile: Optional[str] = None
240
+
241
+
242
+ class BlinkFlags(BrowserFlags):
243
+ """
244
+ Typed dictionary representing a collection of all flag types for Blink-based browsers.
245
+
246
+ Attributes:
247
+ argument (BlinkArguments): Command-line arguments for the browser.
248
+ experimental_option (BlinkExperimentalOptions): Experimental options for WebDriver.
249
+ attribute (BlinkAttributes): WebDriver attributes.
250
+ blink_feature (BlinkFeatures): Blink-specific feature flags.
251
+ """
252
+
253
+ argument: BlinkArguments = Field(default_factory=BlinkArguments)
254
+ experimental_option: BlinkExperimentalOptions = Field(default_factory=BlinkExperimentalOptions)
255
+ attribute: BlinkAttributes = Field(default_factory=BlinkAttributes)
256
+ blink_feature: BlinkFeatures = Field(default_factory=BlinkFeatures)
257
+
258
+
259
+ BlinkArguments.model_rebuild()
260
+ BlinkExperimentalOptions.model_rebuild()
261
+ BlinkAttributes.model_rebuild()
262
+ BlinkFeatures.model_rebuild()
263
+ BlinkFlags.model_rebuild()
@@ -1,79 +1,23 @@
1
- import pathlib
2
- from typing import (
3
- Optional,
4
- TypedDict,
5
- Union
6
- )
7
- from selenium.webdriver.chrome.options import Options
8
- from osn_selenium.webdrivers.types import (
9
- FlagDefinition,
10
- FlagType
11
- )
12
- from osn_selenium.webdrivers.Blink.flags import (
1
+ from pydantic import Field
2
+ from typing import Optional
3
+ from osn_selenium.flags.models.blink import (
13
4
  BlinkArguments,
14
5
  BlinkAttributes,
15
6
  BlinkExperimentalOptions,
16
7
  BlinkFeatures,
17
- BlinkFlagsManager
8
+ BlinkFlags
18
9
  )
19
10
 
20
11
 
21
- class ChromeFlagsManager(BlinkFlagsManager):
22
- """
23
- Manages Chrome Browser-specific options for Selenium WebDriver.
12
+ __all__ = [
13
+ "ChromeArguments",
14
+ "ChromeAttributes",
15
+ "ChromeExperimentalOptions",
16
+ "ChromeFlags"
17
+ ]
24
18
 
25
- This class extends BrowserOptionsManager to provide specific configurations
26
- for Chrome Browser options, such as experimental options and arguments.
27
19
 
28
- Attributes:
29
- """
30
-
31
- def __init__(
32
- self,
33
- browser_exe: Optional[Union[str, pathlib.Path]] = None,
34
- start_page_url: Optional[str] = None,
35
- flags_types: Optional[dict[str, FlagType]] = None,
36
- flags_definitions: Optional[dict[str, FlagDefinition]] = None
37
- ):
38
- """
39
- Initializes ChromeOptionsManager.
40
-
41
- Sets up the Chrome Browser options manager with specific option configurations for
42
- debugging port, user agent, proxy, and BiDi protocol.
43
- """
44
-
45
- yandex_flags_types = {}
46
-
47
- if flags_types is not None:
48
- yandex_flags_types.update(flags_types)
49
-
50
- yandex_flags_definitions = {}
51
-
52
- if flags_definitions is not None:
53
- yandex_flags_definitions.update(flags_definitions)
54
-
55
- super().__init__(
56
- browser_exe=browser_exe,
57
- start_page_url=start_page_url,
58
- flags_types=yandex_flags_types,
59
- flags_definitions=yandex_flags_definitions,
60
- )
61
-
62
- def _renew_webdriver_options(self) -> Options:
63
- """
64
- Creates and returns a new Options object.
65
-
66
- Returns a fresh instance of `webdriver.ChromeOptions`, as Chrome Browser is based on Chromium,
67
- allowing for a clean state of browser options to be configured.
68
-
69
- Returns:
70
- Options: A new Selenium Chrome Browser options object, based on ChromeOptions.
71
- """
72
-
73
- return Options()
74
-
75
-
76
- class ChromeAttributes(BlinkAttributes, total=False):
20
+ class ChromeAttributes(BlinkAttributes):
77
21
  """
78
22
  Typed dictionary for WebDriver attributes specific to Chrome browsers.
79
23
 
@@ -84,7 +28,7 @@ class ChromeAttributes(BlinkAttributes, total=False):
84
28
  pass
85
29
 
86
30
 
87
- class ChromeExperimentalOptions(BlinkExperimentalOptions, total=False):
31
+ class ChromeExperimentalOptions(BlinkExperimentalOptions):
88
32
  """
89
33
  Typed dictionary for experimental options specific to Chrome browsers.
90
34
 
@@ -95,7 +39,7 @@ class ChromeExperimentalOptions(BlinkExperimentalOptions, total=False):
95
39
  pass
96
40
 
97
41
 
98
- class ChromeArguments(BlinkArguments, total=False):
42
+ class ChromeArguments(BlinkArguments):
99
43
  """
100
44
  Typed dictionary for command-line arguments specific to Chrome browsers.
101
45
 
@@ -162,7 +106,7 @@ class ChromeArguments(BlinkArguments, total=False):
162
106
  proxy_server (Optional[str]): Specifies a proxy server to use.
163
107
  remote_debugging_port (Optional[int]): Specifies the remote debugging port.
164
108
  remote_debugging_address (Optional[str]): Specifies the remote debugging address.
165
- use_file_for_fake_video_capture (Optional[Union[str, pathlib.Path]]): Uses a file for fake video capture.
109
+ use_file_for_fake_video_capture (Optional[PATH_TYPEHINT]): Uses a file for fake video capture.
166
110
  autoplay_policy (Optional[AutoplayPolicyType]): Sets the autoplay policy.
167
111
  log_level (Optional[LogLevelType]): Sets the browser's log level.
168
112
  use_gl (Optional[UseGLType]): Specifies the GL backend to use.
@@ -172,7 +116,7 @@ class ChromeArguments(BlinkArguments, total=False):
172
116
  pass
173
117
 
174
118
 
175
- class ChromeFlags(TypedDict, total=False):
119
+ class ChromeFlags(BlinkFlags):
176
120
  """
177
121
  Typed dictionary representing a collection of all flag types for Chrome browsers.
178
122
 
@@ -186,7 +130,13 @@ class ChromeFlags(TypedDict, total=False):
186
130
  blink_feature (BlinkFeatures): Blink-specific feature flags.
187
131
  """
188
132
 
189
- argument: ChromeArguments
190
- experimental_option: ChromeExperimentalOptions
191
- attribute: ChromeAttributes
192
- blink_feature: BlinkFeatures
133
+ argument: ChromeArguments = Field(default_factory=ChromeArguments)
134
+ experimental_option: ChromeExperimentalOptions = Field(default_factory=ChromeExperimentalOptions)
135
+ attribute: ChromeAttributes = Field(default_factory=ChromeAttributes)
136
+ blink_feature: BlinkFeatures = Field(default_factory=BlinkFeatures)
137
+
138
+
139
+ ChromeArguments.model_rebuild()
140
+ ChromeExperimentalOptions.model_rebuild()
141
+ ChromeAttributes.model_rebuild()
142
+ ChromeFlags.model_rebuild()
@@ -1,79 +1,23 @@
1
- import pathlib
2
- from typing import (
3
- Optional,
4
- TypedDict,
5
- Union
6
- )
7
- from selenium.webdriver.chrome.options import Options
8
- from osn_selenium.webdrivers.types import (
9
- FlagDefinition,
10
- FlagType
11
- )
12
- from osn_selenium.webdrivers.Blink.flags import (
1
+ from pydantic import Field
2
+ from typing import Optional
3
+ from osn_selenium.flags.models.blink import (
13
4
  BlinkArguments,
14
5
  BlinkAttributes,
15
6
  BlinkExperimentalOptions,
16
7
  BlinkFeatures,
17
- BlinkFlagsManager
8
+ BlinkFlags
18
9
  )
19
10
 
20
11
 
21
- class EdgeFlagsManager(BlinkFlagsManager):
22
- """
23
- Manages Edge Browser-specific options for Selenium WebDriver.
12
+ __all__ = [
13
+ "EdgeArguments",
14
+ "EdgeAttributes",
15
+ "EdgeExperimentalOptions",
16
+ "EdgeFlags"
17
+ ]
24
18
 
25
- This class extends BrowserOptionsManager to provide specific configurations
26
- for Edge Browser options, such as experimental options and arguments.
27
19
 
28
- Attributes:
29
- """
30
-
31
- def __init__(
32
- self,
33
- browser_exe: Optional[Union[str, pathlib.Path]] = None,
34
- start_page_url: Optional[str] = None,
35
- flags_types: Optional[dict[str, FlagType]] = None,
36
- flags_definitions: Optional[dict[str, FlagDefinition]] = None
37
- ):
38
- """
39
- Initializes EdgeOptionsManager.
40
-
41
- Sets up the Edge Browser options manager with specific option configurations for
42
- debugging port, user agent, proxy, and BiDi protocol.
43
- """
44
-
45
- yandex_flags_types = {}
46
-
47
- if flags_types is not None:
48
- yandex_flags_types.update(flags_types)
49
-
50
- yandex_flags_definitions = {}
51
-
52
- if flags_definitions is not None:
53
- yandex_flags_definitions.update(flags_definitions)
54
-
55
- super().__init__(
56
- browser_exe=browser_exe,
57
- start_page_url=start_page_url,
58
- flags_types=yandex_flags_types,
59
- flags_definitions=yandex_flags_definitions,
60
- )
61
-
62
- def _renew_webdriver_options(self) -> Options:
63
- """
64
- Creates and returns a new Options object.
65
-
66
- Returns a fresh instance of `webdriver.EdgeOptions`, as Edge Browser is based on Chromium,
67
- allowing for a clean state of browser options to be configured.
68
-
69
- Returns:
70
- Options: A new Selenium Edge Browser options object, based on EdgeOptions.
71
- """
72
-
73
- return Options()
74
-
75
-
76
- class EdgeAttributes(BlinkAttributes, total=False):
20
+ class EdgeAttributes(BlinkAttributes):
77
21
  """
78
22
  Typed dictionary for WebDriver attributes specific to Edge browsers.
79
23
 
@@ -84,7 +28,7 @@ class EdgeAttributes(BlinkAttributes, total=False):
84
28
  pass
85
29
 
86
30
 
87
- class EdgeExperimentalOptions(BlinkExperimentalOptions, total=False):
31
+ class EdgeExperimentalOptions(BlinkExperimentalOptions):
88
32
  """
89
33
  Typed dictionary for experimental options specific to Edge browsers.
90
34
 
@@ -95,7 +39,7 @@ class EdgeExperimentalOptions(BlinkExperimentalOptions, total=False):
95
39
  pass
96
40
 
97
41
 
98
- class EdgeArguments(BlinkArguments, total=False):
42
+ class EdgeArguments(BlinkArguments):
99
43
  """
100
44
  Typed dictionary for command-line arguments specific to Edge browsers.
101
45
 
@@ -162,7 +106,7 @@ class EdgeArguments(BlinkArguments, total=False):
162
106
  proxy_server (Optional[str]): Specifies a proxy server to use.
163
107
  remote_debugging_port (Optional[int]): Specifies the remote debugging port.
164
108
  remote_debugging_address (Optional[str]): Specifies the remote debugging address.
165
- use_file_for_fake_video_capture (Optional[Union[str, pathlib.Path]]): Uses a file for fake video capture.
109
+ use_file_for_fake_video_capture (Optional[PATH_TYPEHINT]): Uses a file for fake video capture.
166
110
  autoplay_policy (Optional[AutoplayPolicyType]): Sets the autoplay policy.
167
111
  log_level (Optional[LogLevelType]): Sets the browser's log level.
168
112
  use_gl (Optional[UseGLType]): Specifies the GL backend to use.
@@ -172,7 +116,7 @@ class EdgeArguments(BlinkArguments, total=False):
172
116
  pass
173
117
 
174
118
 
175
- class EdgeFlags(TypedDict, total=False):
119
+ class EdgeFlags(BlinkFlags):
176
120
  """
177
121
  Typed dictionary representing a collection of all flag types for Edge browsers.
178
122
 
@@ -186,7 +130,13 @@ class EdgeFlags(TypedDict, total=False):
186
130
  blink_feature (BlinkFeatures): Blink-specific feature flags.
187
131
  """
188
132
 
189
- argument: EdgeArguments
190
- experimental_option: EdgeExperimentalOptions
191
- attribute: EdgeAttributes
192
- blink_feature: BlinkFeatures
133
+ argument: EdgeArguments = Field(default_factory=EdgeArguments)
134
+ experimental_option: EdgeExperimentalOptions = Field(default_factory=EdgeExperimentalOptions)
135
+ attribute: EdgeAttributes = Field(default_factory=EdgeAttributes)
136
+ blink_feature: BlinkFeatures = Field(default_factory=BlinkFeatures)
137
+
138
+
139
+ EdgeArguments.model_rebuild()
140
+ EdgeExperimentalOptions.model_rebuild()
141
+ EdgeAttributes.model_rebuild()
142
+ EdgeFlags.model_rebuild()
@@ -0,0 +1,44 @@
1
+ from typing import Any
2
+ from osn_selenium.models import DictModel
3
+
4
+
5
+ __all__ = ["ArgumentValue", "AttributeValue", "ExperimentalOptionValue"]
6
+
7
+
8
+ class ExperimentalOptionValue(DictModel):
9
+ """
10
+ Experimental option structure.
11
+
12
+ Attributes:
13
+ option_name (str): Option name.
14
+ value (Any): Option value.
15
+ """
16
+
17
+ option_name: str
18
+ value: Any
19
+
20
+
21
+ class AttributeValue(DictModel):
22
+ """
23
+ WebDriver attribute structure.
24
+
25
+ Attributes:
26
+ attribute_name (str): Attribute name.
27
+ value (Any): Attribute value.
28
+ """
29
+
30
+ attribute_name: str
31
+ value: Any
32
+
33
+
34
+ class ArgumentValue(DictModel):
35
+ """
36
+ Command-line argument structure.
37
+
38
+ Attributes:
39
+ command_line (str): The command-line string.
40
+ value (Any): Value associated with the argument.
41
+ """
42
+
43
+ command_line: str
44
+ value: Any