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,31 @@
1
+ from osn_selenium.webdrivers._decorators import requires_driver
2
+ from osn_selenium.webdrivers.unified.core.base import UnifiedCoreBaseMixin
3
+
4
+
5
+ __all__ = ["UnifiedCoreNavigationMixin"]
6
+
7
+
8
+ class UnifiedCoreNavigationMixin(UnifiedCoreBaseMixin):
9
+ @requires_driver
10
+ def _back_impl(self) -> None:
11
+ self._driver_impl.back()
12
+
13
+ @requires_driver
14
+ def _current_url_impl(self) -> str:
15
+ return self._driver_impl.current_url
16
+
17
+ @requires_driver
18
+ def _forward_impl(self) -> None:
19
+ self._driver_impl.forward()
20
+
21
+ @requires_driver
22
+ def _get_impl(self, url: str) -> None:
23
+ self._driver_impl.get(url=url)
24
+
25
+ @requires_driver
26
+ def _refresh_impl(self) -> None:
27
+ self._driver_impl.refresh()
28
+
29
+ @requires_driver
30
+ def _title_impl(self) -> str:
31
+ return self._driver_impl.title
@@ -0,0 +1,32 @@
1
+ from typing import Any, List, Optional
2
+ from osn_selenium.webdrivers._decorators import requires_driver
3
+ from osn_selenium.webdrivers.unified.core.base import UnifiedCoreBaseMixin
4
+
5
+
6
+ __all__ = ["UnifiedCoreScriptMixin"]
7
+
8
+
9
+ class UnifiedCoreScriptMixin(UnifiedCoreBaseMixin):
10
+ @requires_driver
11
+ def _execute_async_script_impl(self, script: str, *args: Any) -> Any:
12
+ return self._driver_impl.execute_async_script(script, *args)
13
+
14
+ @requires_driver
15
+ def _execute_script_impl(self, script: str, *args: Any) -> Any:
16
+ return self._driver_impl.execute_script(script, *args)
17
+
18
+ @requires_driver
19
+ def _get_pinned_scripts_impl(self) -> List[str]:
20
+ return self._driver_impl.get_pinned_scripts()
21
+
22
+ @requires_driver
23
+ def _pin_script_impl(self, script: str, script_key: Optional[Any] = None) -> Any:
24
+ return self._driver_impl.pin_script(script=script, script_key=script_key)
25
+
26
+ @requires_driver
27
+ def _script_impl(self) -> Any:
28
+ return self._driver_impl.script
29
+
30
+ @requires_driver
31
+ def _unpin_impl(self, script_key: Any) -> None:
32
+ self._driver_impl.unpin(script_key=script_key)
@@ -0,0 +1,44 @@
1
+ from typing import Optional
2
+ from osn_selenium.models import WindowRect
3
+ from osn_selenium.flags.models.base import BrowserFlags
4
+ from osn_selenium.webdrivers.unified.core.base import UnifiedCoreBaseMixin
5
+ from osn_selenium.exceptions.webdriver import (
6
+ WebDriverAlreadyRunningError
7
+ )
8
+
9
+
10
+ __all__ = ["UnifiedCoreSettingsMixin"]
11
+
12
+
13
+ class UnifiedCoreSettingsMixin(UnifiedCoreBaseMixin):
14
+ def _reset_settings_impl(
15
+ self,
16
+ flags: Optional[BrowserFlags] = None,
17
+ window_rect: Optional[WindowRect] = None,
18
+ ) -> None:
19
+ if not self._is_active_impl:
20
+ if window_rect is None:
21
+ window_rect = WindowRect()
22
+
23
+ if flags is not None:
24
+ self._webdriver_flags_manager.set_flags(flags=flags)
25
+ else:
26
+ self._webdriver_flags_manager.clear_flags()
27
+
28
+ self._window_rect = window_rect
29
+ else:
30
+ raise WebDriverAlreadyRunningError()
31
+
32
+ def _update_settings_impl(
33
+ self,
34
+ flags: Optional[BrowserFlags] = None,
35
+ window_rect: Optional[WindowRect] = None,
36
+ ) -> None:
37
+ if not self._is_active_impl:
38
+ if flags is not None:
39
+ self._webdriver_flags_manager.update_flags(flags=flags)
40
+
41
+ if window_rect is not None:
42
+ self._window_rect = window_rect
43
+ else:
44
+ raise WebDriverAlreadyRunningError()
@@ -0,0 +1,37 @@
1
+ from typing import (
2
+ Any,
3
+ Dict,
4
+ List,
5
+ Optional
6
+ )
7
+ from osn_selenium.webdrivers._decorators import requires_driver
8
+ from osn_selenium.webdrivers.unified.core.base import UnifiedCoreBaseMixin
9
+
10
+
11
+ __all__ = ["UnifiedCoreStorageMixin"]
12
+
13
+
14
+ class UnifiedCoreStorageMixin(UnifiedCoreBaseMixin):
15
+ @requires_driver
16
+ def _add_cookie_impl(self, cookie_dict: Dict[str, Any]) -> None:
17
+ self._driver_impl.add_cookie(cookie_dict=cookie_dict)
18
+
19
+ @requires_driver
20
+ def _delete_all_cookies_impl(self) -> None:
21
+ self._driver_impl.delete_all_cookies()
22
+
23
+ @requires_driver
24
+ def _delete_cookie_impl(self, name: str) -> None:
25
+ self._driver_impl.delete_cookie(name=name)
26
+
27
+ @requires_driver
28
+ def _get_cookie_impl(self, name: str) -> Optional[Dict[str, Any]]:
29
+ return self._driver_impl.get_cookie(name=name)
30
+
31
+ @requires_driver
32
+ def _get_cookies_impl(self) -> List[Dict[str, Any]]:
33
+ return self._driver_impl.get_cookies()
34
+
35
+ @requires_driver
36
+ def _storage_impl(self) -> Any:
37
+ return self._driver_impl.storage
@@ -0,0 +1,56 @@
1
+ from typing import Optional
2
+ from selenium.webdriver.common.timeouts import Timeouts
3
+ from osn_selenium.webdrivers._decorators import requires_driver
4
+ from osn_selenium.webdrivers.unified.core.base import UnifiedCoreBaseMixin
5
+
6
+
7
+ __all__ = ["UnifiedCoreTimeoutsMixin"]
8
+
9
+
10
+ class UnifiedCoreTimeoutsMixin(UnifiedCoreBaseMixin):
11
+ @requires_driver
12
+ def _get_timeouts_impl(self) -> Timeouts:
13
+ return self._driver_impl.timeouts
14
+
15
+ @requires_driver
16
+ def _implicitly_wait_impl(self, time_to_wait: float) -> None:
17
+ self._driver_impl.implicitly_wait(time_to_wait=time_to_wait)
18
+
19
+ @requires_driver
20
+ def _set_page_load_timeout_impl(self, time_to_wait: float) -> None:
21
+ self._driver_impl.set_page_load_timeout(time_to_wait=time_to_wait)
22
+
23
+ @requires_driver
24
+ def _set_script_timeout_impl(self, time_to_wait: float) -> None:
25
+ self._driver_impl.set_script_timeout(time_to_wait=time_to_wait)
26
+
27
+ @requires_driver
28
+ def _set_timeouts_impl(self, timeouts: Timeouts) -> None:
29
+ self._driver_impl.timeouts = timeouts
30
+
31
+ @requires_driver
32
+ def _set_driver_timeouts_impl(
33
+ self,
34
+ page_load_timeout: float,
35
+ implicit_wait_timeout: float,
36
+ script_timeout: float,
37
+ ) -> None:
38
+ self._driver_impl.set_page_load_timeout(page_load_timeout)
39
+ self._driver_impl.implicitly_wait(implicit_wait_timeout)
40
+ self._driver_impl.set_script_timeout(script_timeout)
41
+
42
+ def _update_times_impl(
43
+ self,
44
+ temp_implicitly_wait: Optional[float] = None,
45
+ temp_page_load_timeout: Optional[float] = None,
46
+ temp_script_timeout: Optional[float] = None,
47
+ ) -> None:
48
+ implicitly_wait = temp_implicitly_wait if temp_implicitly_wait is not None else self._base_implicitly_wait
49
+ page_load_timeout = temp_page_load_timeout if temp_page_load_timeout is not None else self._base_page_load_timeout
50
+ script_timeout = temp_script_timeout if temp_script_timeout is not None else self._base_script_timeout
51
+
52
+ self._set_driver_timeouts_impl(
53
+ page_load_timeout=page_load_timeout,
54
+ implicit_wait_timeout=implicitly_wait,
55
+ script_timeout=script_timeout,
56
+ )
@@ -0,0 +1,135 @@
1
+ from typing import (
2
+ Any,
3
+ List,
4
+ Literal,
5
+ Optional,
6
+ Union
7
+ )
8
+ from osn_selenium.webdrivers._decorators import requires_driver
9
+ from selenium.common.exceptions import (
10
+ InvalidSessionIdException
11
+ )
12
+ from osn_selenium.webdrivers.unified.core.base import UnifiedCoreBaseMixin
13
+ from osn_selenium.exceptions.window import (
14
+ InvalidWindowHandleError,
15
+ InvalidWindowIndexError,
16
+ NoWindowHandlesFoundError
17
+ )
18
+
19
+
20
+ __all__ = ["UnifiedCoreWindowMixin"]
21
+
22
+
23
+ class UnifiedCoreWindowMixin(UnifiedCoreBaseMixin):
24
+ @requires_driver
25
+ def _window_handles_impl(self) -> List[str]:
26
+ return self._driver_impl.window_handles
27
+
28
+ @requires_driver
29
+ def _close_impl(self) -> None:
30
+ self._driver_impl.close()
31
+
32
+ @requires_driver
33
+ def _switch_to_impl(self) -> Any:
34
+ return self._driver_impl.switch_to
35
+
36
+ @requires_driver
37
+ def _current_window_handle_impl(self) -> str:
38
+ return self._driver_impl.current_window_handle
39
+
40
+ def _get_window_handle_impl(self, window: Optional[Union[str, int]] = None) -> str:
41
+ handles = self._window_handles_impl()
42
+
43
+ if not handles:
44
+ raise NoWindowHandlesFoundError()
45
+
46
+ if isinstance(window, str):
47
+ if window not in handles:
48
+ raise InvalidWindowHandleError(handle=window)
49
+
50
+ return window
51
+
52
+ if isinstance(window, int):
53
+ idx = window if window >= 0 else len(handles) + window
54
+ if idx < 0 or idx >= len(handles):
55
+ raise InvalidWindowIndexError(index=window, handles_length=len(handles))
56
+
57
+ return handles[idx]
58
+
59
+ return self._current_window_handle_impl()
60
+
61
+ def _close_window_impl(self, window: Optional[Union[str, int]] = None) -> None:
62
+ current = self._current_window_handle_impl()
63
+ target = self._get_window_handle_impl(window)
64
+ legacy_switch_to = self._switch_to_impl()
65
+
66
+ if target == current:
67
+ self._close_impl()
68
+
69
+ try:
70
+ remaining = self._window_handles_impl()
71
+
72
+ if remaining:
73
+ legacy_switch_to.window(remaining[-1])
74
+ except InvalidSessionIdException:
75
+ pass
76
+ else:
77
+ legacy_switch_to.window(target)
78
+
79
+ self._close_impl()
80
+
81
+ legacy_switch_to.window(current)
82
+
83
+ def _close_all_windows_impl(self) -> None:
84
+ for window_handle in reversed(self._window_handles_impl()):
85
+ self._close_window_impl(window_handle)
86
+
87
+ @requires_driver
88
+ def _fullscreen_window_impl(self) -> None:
89
+ self._driver_impl.fullscreen_window()
90
+
91
+ @requires_driver
92
+ def _get_window_position_impl(self, windowHandle: str = "current") -> Any:
93
+ return self._driver_impl.get_window_position(windowHandle=windowHandle)
94
+
95
+ @requires_driver
96
+ def _get_window_rect_impl(self) -> Any:
97
+ return self._driver_impl.get_window_rect()
98
+
99
+ @requires_driver
100
+ def _get_window_size_impl(self, windowHandle: str = "current") -> Any:
101
+ return self._driver_impl.get_window_size(windowHandle=windowHandle)
102
+
103
+ @requires_driver
104
+ def _maximize_window_impl(self) -> None:
105
+ self._driver_impl.maximize_window()
106
+
107
+ @requires_driver
108
+ def _minimize_window_impl(self) -> None:
109
+ self._driver_impl.minimize_window()
110
+
111
+ @requires_driver
112
+ def _orientation_get_impl(self) -> Literal["LANDSCAPE", "PORTRAIT"]:
113
+ return self._driver_impl.orientation["orientation"]
114
+
115
+ @requires_driver
116
+ def _orientation_set_impl(self, value: Literal["LANDSCAPE", "PORTRAIT"]) -> None:
117
+ setattr(self._driver_impl, "orientation", value)
118
+
119
+ @requires_driver
120
+ def _set_window_position_impl(self, x: int, y: int, windowHandle: str = "current") -> Any:
121
+ return self._driver_impl.set_window_position(x=x, y=y, windowHandle=windowHandle)
122
+
123
+ @requires_driver
124
+ def _set_window_rect_impl(
125
+ self,
126
+ x: Optional[int] = None,
127
+ y: Optional[int] = None,
128
+ width: Optional[int] = None,
129
+ height: Optional[int] = None,
130
+ ) -> Any:
131
+ return self._driver_impl.set_window_rect(x=x, y=y, width=width, height=height)
132
+
133
+ @requires_driver
134
+ def _set_window_size_impl(self, width: int, height: int, windowHandle: str = "current") -> None:
135
+ self._driver_impl.set_window_size(width=width, height=height, windowHandle=windowHandle)
@@ -0,0 +1,52 @@
1
+ from typing import Optional, Type
2
+ from osn_selenium.models import WindowRect
3
+ from selenium.webdriver import Edge as legacyEdge
4
+ from osn_selenium.flags.models.edge import EdgeFlags
5
+ from osn_selenium.flags.edge import EdgeFlagsManager
6
+ from osn_selenium._typehints import (
7
+ ARCHITECTURES_TYPEHINT,
8
+ PATH_TYPEHINT
9
+ )
10
+ from osn_selenium.webdrivers.unified.blink.base import (
11
+ UnifiedBlinkBaseMixin
12
+ )
13
+
14
+
15
+ __all__ = ["UnifiedEdgeBaseMixin"]
16
+
17
+
18
+ class UnifiedEdgeBaseMixin(UnifiedBlinkBaseMixin):
19
+ def __init__(
20
+ self,
21
+ webdriver_path: str,
22
+ architecture: ARCHITECTURES_TYPEHINT,
23
+ flags_manager_type: Type[EdgeFlagsManager] = EdgeFlagsManager,
24
+ use_browser_exe: bool = True,
25
+ browser_name_in_system: str = "Microsoft Edge",
26
+ browser_exe: Optional[PATH_TYPEHINT] = None,
27
+ flags: Optional[EdgeFlags] = None,
28
+ start_page_url: str = "about:blank",
29
+ implicitly_wait: int = 5,
30
+ page_load_timeout: int = 5,
31
+ script_timeout: int = 5,
32
+ window_rect: Optional[WindowRect] = None,
33
+ ):
34
+ UnifiedBlinkBaseMixin.__init__(
35
+ self,
36
+ browser_exe=browser_exe,
37
+ browser_name_in_system=browser_name_in_system,
38
+ webdriver_path=webdriver_path,
39
+ architecture=architecture,
40
+ use_browser_exe=use_browser_exe,
41
+ flags_manager_type=flags_manager_type,
42
+ flags=flags,
43
+ start_page_url=start_page_url,
44
+ implicitly_wait=implicitly_wait,
45
+ page_load_timeout=page_load_timeout,
46
+ script_timeout=script_timeout,
47
+ window_rect=window_rect,
48
+ )
49
+
50
+ @property
51
+ def _driver_impl(self) -> Optional[legacyEdge]:
52
+ return super()._driver_impl
@@ -0,0 +1,88 @@
1
+ from typing import Optional
2
+ from selenium import webdriver
3
+ from osn_selenium.models import WindowRect
4
+ from osn_selenium._typehints import PATH_TYPEHINT
5
+ from selenium.webdriver.edge.service import Service
6
+ from osn_selenium.flags.models.edge import EdgeFlags
7
+ from osn_selenium.webdrivers.unified.core.window import (
8
+ UnifiedCoreWindowMixin
9
+ )
10
+ from osn_selenium.webdrivers.unified.core.timeouts import (
11
+ UnifiedCoreTimeoutsMixin
12
+ )
13
+ from osn_selenium.webdrivers.unified.blink.lifecycle import (
14
+ UnifiedBlinkLifecycleMixin
15
+ )
16
+
17
+
18
+ __all__ = ["UnifiedEdgeLifecycleMixin"]
19
+
20
+
21
+ class UnifiedEdgeLifecycleMixin(
22
+ UnifiedBlinkLifecycleMixin,
23
+ UnifiedCoreTimeoutsMixin,
24
+ UnifiedCoreWindowMixin
25
+ ):
26
+ def _create_driver_impl(self) -> None:
27
+ webdriver_options = self._webdriver_flags_manager.options
28
+ webdriver_service = Service(
29
+ executable_path=self._webdriver_path,
30
+ port=self._debugging_port_impl
31
+ if self._browser_exe_impl is None
32
+ else 0,
33
+ service_args=self._webdriver_flags_manager.start_args
34
+ if self._browser_exe_impl is None
35
+ else None
36
+ )
37
+
38
+ self._driver = webdriver.Edge(options=webdriver_options, service=webdriver_service)
39
+
40
+ if self._window_rect is not None:
41
+ self._set_window_rect_impl(
42
+ x=self._window_rect.x,
43
+ y=self._window_rect.y,
44
+ width=self._window_rect.width,
45
+ height=self._window_rect.height,
46
+ )
47
+
48
+ self._set_driver_timeouts_impl(
49
+ page_load_timeout=self._base_page_load_timeout,
50
+ implicit_wait_timeout=self._base_implicitly_wait,
51
+ script_timeout=self._base_implicitly_wait,
52
+ )
53
+
54
+ def _restart_webdriver_impl(
55
+ self,
56
+ flags: Optional[EdgeFlags] = None,
57
+ browser_exe: Optional[PATH_TYPEHINT] = None,
58
+ browser_name_in_system: Optional[str] = None,
59
+ use_browser_exe: Optional[bool] = None,
60
+ start_page_url: Optional[str] = None,
61
+ window_rect: Optional[WindowRect] = None,
62
+ ) -> None:
63
+ super()._restart_webdriver_impl(
64
+ flags=flags,
65
+ browser_exe=browser_exe,
66
+ browser_name_in_system=browser_name_in_system,
67
+ use_browser_exe=use_browser_exe,
68
+ start_page_url=start_page_url,
69
+ window_rect=window_rect,
70
+ )
71
+
72
+ def _start_webdriver_impl(
73
+ self,
74
+ flags: Optional[EdgeFlags] = None,
75
+ browser_exe: Optional[PATH_TYPEHINT] = None,
76
+ browser_name_in_system: Optional[str] = None,
77
+ use_browser_exe: Optional[bool] = None,
78
+ start_page_url: Optional[str] = None,
79
+ window_rect: Optional[WindowRect] = None,
80
+ ) -> None:
81
+ super()._start_webdriver_impl(
82
+ flags=flags,
83
+ browser_exe=browser_exe,
84
+ browser_name_in_system=browser_name_in_system,
85
+ use_browser_exe=use_browser_exe,
86
+ start_page_url=start_page_url,
87
+ window_rect=window_rect,
88
+ )
@@ -0,0 +1,48 @@
1
+ from typing import Optional
2
+ from osn_selenium.models import WindowRect
3
+ from osn_selenium._typehints import PATH_TYPEHINT
4
+ from osn_selenium.flags.models.edge import EdgeFlags
5
+ from osn_selenium.webdrivers.unified.blink.settings import (
6
+ UnifiedBlinkSettingsMixin
7
+ )
8
+
9
+
10
+ __all__ = ["UnifiedEdgeSettingsMixin"]
11
+
12
+
13
+ class UnifiedEdgeSettingsMixin(UnifiedBlinkSettingsMixin):
14
+ def _reset_settings_impl(
15
+ self,
16
+ flags: Optional[EdgeFlags] = None,
17
+ browser_exe: Optional[PATH_TYPEHINT] = None,
18
+ browser_name_in_system: Optional[str] = None,
19
+ use_browser_exe: Optional[bool] = None,
20
+ start_page_url: str = "",
21
+ window_rect: Optional[WindowRect] = None,
22
+ ) -> None:
23
+ super()._reset_settings_impl(
24
+ flags=flags,
25
+ browser_exe=browser_exe,
26
+ browser_name_in_system=browser_name_in_system,
27
+ use_browser_exe=use_browser_exe,
28
+ start_page_url=start_page_url,
29
+ window_rect=window_rect,
30
+ )
31
+
32
+ def _update_settings_impl(
33
+ self,
34
+ flags: Optional[EdgeFlags] = None,
35
+ browser_exe: Optional[PATH_TYPEHINT] = None,
36
+ browser_name_in_system: Optional[str] = None,
37
+ use_browser_exe: Optional[bool] = None,
38
+ start_page_url: Optional[str] = None,
39
+ window_rect: Optional[WindowRect] = None,
40
+ ) -> None:
41
+ super()._update_settings_impl(
42
+ flags=flags,
43
+ browser_exe=browser_exe,
44
+ browser_name_in_system=browser_name_in_system,
45
+ use_browser_exe=use_browser_exe,
46
+ start_page_url=start_page_url,
47
+ window_rect=window_rect,
48
+ )
@@ -0,0 +1,54 @@
1
+ from typing import Optional, Type
2
+ from osn_selenium.models import WindowRect
3
+ from osn_selenium.flags.models.yandex import YandexFlags
4
+ from osn_selenium.flags.yandex import YandexFlagsManager
5
+ from selenium.webdriver import (
6
+ Chrome as legacyYandex
7
+ )
8
+ from osn_selenium._typehints import (
9
+ ARCHITECTURES_TYPEHINT,
10
+ PATH_TYPEHINT
11
+ )
12
+ from osn_selenium.webdrivers.unified.chrome.base import (
13
+ UnifiedChromeBaseMixin
14
+ )
15
+
16
+
17
+ __all__ = ["UnifiedYandexBaseMixin"]
18
+
19
+
20
+ class UnifiedYandexBaseMixin(UnifiedChromeBaseMixin):
21
+ def __init__(
22
+ self,
23
+ webdriver_path: str,
24
+ architecture: ARCHITECTURES_TYPEHINT,
25
+ flags_manager_type: Type[YandexFlagsManager] = YandexFlagsManager,
26
+ use_browser_exe: bool = True,
27
+ browser_name_in_system: str = "Yandex",
28
+ browser_exe: Optional[PATH_TYPEHINT] = None,
29
+ flags: Optional[YandexFlags] = None,
30
+ start_page_url: str = "about:blank",
31
+ implicitly_wait: int = 5,
32
+ page_load_timeout: int = 5,
33
+ script_timeout: int = 5,
34
+ window_rect: Optional[WindowRect] = None,
35
+ ):
36
+ UnifiedChromeBaseMixin.__init__(
37
+ self,
38
+ browser_exe=browser_exe,
39
+ browser_name_in_system=browser_name_in_system,
40
+ webdriver_path=webdriver_path,
41
+ architecture=architecture,
42
+ use_browser_exe=use_browser_exe,
43
+ flags_manager_type=flags_manager_type,
44
+ flags=flags,
45
+ start_page_url=start_page_url,
46
+ implicitly_wait=implicitly_wait,
47
+ page_load_timeout=page_load_timeout,
48
+ script_timeout=script_timeout,
49
+ window_rect=window_rect,
50
+ )
51
+
52
+ @property
53
+ def _driver_impl(self) -> Optional[legacyYandex]:
54
+ return super()._driver_impl
@@ -0,0 +1,58 @@
1
+ from typing import Optional
2
+ from osn_selenium.models import WindowRect
3
+ from osn_selenium._typehints import PATH_TYPEHINT
4
+ from osn_selenium.flags.models.yandex import YandexFlags
5
+ from osn_selenium.webdrivers.unified.core.window import (
6
+ UnifiedCoreWindowMixin
7
+ )
8
+ from osn_selenium.webdrivers.unified.core.timeouts import (
9
+ UnifiedCoreTimeoutsMixin
10
+ )
11
+ from osn_selenium.webdrivers.unified.chrome.lifecycle import (
12
+ UnifiedChromeLifecycleMixin
13
+ )
14
+
15
+
16
+ __all__ = ["UnifiedYandexLifecycleMixin"]
17
+
18
+
19
+ class UnifiedYandexLifecycleMixin(
20
+ UnifiedChromeLifecycleMixin,
21
+ UnifiedCoreTimeoutsMixin,
22
+ UnifiedCoreWindowMixin
23
+ ):
24
+ def _restart_webdriver_impl(
25
+ self,
26
+ flags: Optional[YandexFlags] = None,
27
+ browser_exe: Optional[PATH_TYPEHINT] = None,
28
+ browser_name_in_system: Optional[str] = None,
29
+ use_browser_exe: Optional[bool] = None,
30
+ start_page_url: Optional[str] = None,
31
+ window_rect: Optional[WindowRect] = None,
32
+ ) -> None:
33
+ super()._restart_webdriver_impl(
34
+ flags=flags,
35
+ browser_exe=browser_exe,
36
+ browser_name_in_system=browser_name_in_system,
37
+ use_browser_exe=use_browser_exe,
38
+ start_page_url=start_page_url,
39
+ window_rect=window_rect,
40
+ )
41
+
42
+ def _start_webdriver_impl(
43
+ self,
44
+ flags: Optional[YandexFlags] = None,
45
+ browser_exe: Optional[PATH_TYPEHINT] = None,
46
+ browser_name_in_system: Optional[str] = None,
47
+ use_browser_exe: Optional[bool] = None,
48
+ start_page_url: Optional[str] = None,
49
+ window_rect: Optional[WindowRect] = None,
50
+ ) -> None:
51
+ super()._start_webdriver_impl(
52
+ flags=flags,
53
+ browser_exe=browser_exe,
54
+ browser_name_in_system=browser_name_in_system,
55
+ use_browser_exe=use_browser_exe,
56
+ start_page_url=start_page_url,
57
+ window_rect=window_rect,
58
+ )
@@ -0,0 +1,48 @@
1
+ from typing import Optional
2
+ from osn_selenium.models import WindowRect
3
+ from osn_selenium._typehints import PATH_TYPEHINT
4
+ from osn_selenium.flags.models.yandex import YandexFlags
5
+ from osn_selenium.webdrivers.unified.chrome.settings import (
6
+ UnifiedChromeSettingsMixin
7
+ )
8
+
9
+
10
+ __all__ = ["UnifiedYandexSettingsMixin"]
11
+
12
+
13
+ class UnifiedYandexSettingsMixin(UnifiedChromeSettingsMixin):
14
+ def _reset_settings_impl(
15
+ self,
16
+ flags: Optional[YandexFlags] = None,
17
+ browser_exe: Optional[PATH_TYPEHINT] = None,
18
+ browser_name_in_system: Optional[str] = None,
19
+ use_browser_exe: Optional[bool] = None,
20
+ start_page_url: str = "",
21
+ window_rect: Optional[WindowRect] = None,
22
+ ) -> None:
23
+ super()._reset_settings_impl(
24
+ flags=flags,
25
+ browser_exe=browser_exe,
26
+ browser_name_in_system=browser_name_in_system,
27
+ use_browser_exe=use_browser_exe,
28
+ start_page_url=start_page_url,
29
+ window_rect=window_rect,
30
+ )
31
+
32
+ def _update_settings_impl(
33
+ self,
34
+ flags: Optional[YandexFlags] = None,
35
+ browser_exe: Optional[PATH_TYPEHINT] = None,
36
+ browser_name_in_system: Optional[str] = None,
37
+ use_browser_exe: Optional[bool] = None,
38
+ start_page_url: Optional[str] = None,
39
+ window_rect: Optional[WindowRect] = None,
40
+ ) -> None:
41
+ super()._update_settings_impl(
42
+ flags=flags,
43
+ browser_exe=browser_exe,
44
+ browser_name_in_system=browser_name_in_system,
45
+ use_browser_exe=use_browser_exe,
46
+ start_page_url=start_page_url,
47
+ window_rect=window_rect,
48
+ )