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.
- osn_selenium/_functions.py +84 -0
- osn_selenium/_typehints.py +19 -0
- osn_selenium/abstract/executors/cdp/__init__.py +435 -0
- osn_selenium/abstract/executors/cdp/accessibility.py +62 -0
- osn_selenium/abstract/executors/cdp/animation.py +47 -0
- osn_selenium/abstract/executors/cdp/audits.py +39 -0
- osn_selenium/abstract/executors/cdp/autofill.py +34 -0
- osn_selenium/abstract/executors/cdp/background_service.py +22 -0
- osn_selenium/abstract/executors/cdp/bluetooth_emulation.py +95 -0
- osn_selenium/abstract/executors/cdp/browser.py +122 -0
- osn_selenium/abstract/executors/cdp/cache_storage.py +49 -0
- osn_selenium/abstract/executors/cdp/cast.py +31 -0
- osn_selenium/abstract/executors/cdp/console.py +18 -0
- osn_selenium/abstract/executors/cdp/css.py +197 -0
- osn_selenium/abstract/executors/cdp/debugger.py +198 -0
- osn_selenium/abstract/executors/cdp/device_access.py +22 -0
- osn_selenium/abstract/executors/cdp/device_orientation.py +14 -0
- osn_selenium/abstract/executors/cdp/dom.py +305 -0
- osn_selenium/abstract/executors/cdp/dom_debugger.py +57 -0
- osn_selenium/abstract/executors/cdp/dom_snapshot.py +42 -0
- osn_selenium/abstract/executors/cdp/dom_storage.py +31 -0
- osn_selenium/abstract/executors/cdp/emulation.py +259 -0
- osn_selenium/abstract/executors/cdp/event_breakpoints.py +18 -0
- osn_selenium/abstract/executors/cdp/extensions.py +31 -0
- osn_selenium/abstract/executors/cdp/fed_cm.py +35 -0
- osn_selenium/abstract/executors/cdp/fetch.py +76 -0
- osn_selenium/abstract/executors/cdp/file_system.py +11 -0
- osn_selenium/abstract/executors/cdp/headless_experimental.py +30 -0
- osn_selenium/abstract/executors/cdp/heap_profiler.py +73 -0
- osn_selenium/abstract/executors/cdp/indexed_db.py +99 -0
- osn_selenium/abstract/executors/cdp/input.py +158 -0
- osn_selenium/abstract/executors/cdp/inspector.py +14 -0
- osn_selenium/abstract/executors/cdp/io.py +24 -0
- osn_selenium/abstract/executors/cdp/layer_tree.py +61 -0
- osn_selenium/abstract/executors/cdp/log.py +27 -0
- osn_selenium/abstract/executors/cdp/media.py +14 -0
- osn_selenium/abstract/executors/cdp/memory.py +61 -0
- osn_selenium/abstract/executors/cdp/network.py +252 -0
- osn_selenium/abstract/executors/cdp/overlay.py +166 -0
- osn_selenium/abstract/executors/cdp/page.py +347 -0
- osn_selenium/abstract/executors/cdp/performance.py +28 -0
- osn_selenium/abstract/executors/cdp/performance_timeline.py +11 -0
- osn_selenium/abstract/executors/cdp/preload.py +14 -0
- osn_selenium/abstract/executors/cdp/profiler.py +54 -0
- osn_selenium/abstract/executors/cdp/pwa.py +46 -0
- osn_selenium/abstract/executors/cdp/runtime.py +176 -0
- osn_selenium/abstract/executors/cdp/schema.py +11 -0
- osn_selenium/abstract/executors/cdp/security.py +26 -0
- osn_selenium/abstract/executors/cdp/service_worker.py +54 -0
- osn_selenium/abstract/executors/cdp/storage.py +175 -0
- osn_selenium/abstract/executors/cdp/system_info.py +24 -0
- osn_selenium/abstract/executors/cdp/target.py +125 -0
- osn_selenium/abstract/executors/cdp/tethering.py +14 -0
- osn_selenium/abstract/executors/cdp/tracing.py +48 -0
- osn_selenium/abstract/executors/cdp/web_audio.py +19 -0
- osn_selenium/abstract/executors/cdp/web_authn.py +76 -0
- osn_selenium/abstract/executors/javascript.py +203 -0
- osn_selenium/abstract/instances/action_chains/__init__.py +12 -0
- osn_selenium/abstract/instances/action_chains/base.py +25 -0
- osn_selenium/abstract/instances/action_chains/click.py +93 -0
- osn_selenium/abstract/instances/action_chains/drag_and_drop.py +46 -0
- osn_selenium/abstract/instances/action_chains/hm_keyboard.py +44 -0
- osn_selenium/abstract/instances/action_chains/hm_move.py +104 -0
- osn_selenium/abstract/instances/action_chains/hm_scroll.py +75 -0
- osn_selenium/abstract/instances/action_chains/keyboard.py +79 -0
- osn_selenium/abstract/instances/action_chains/move.py +60 -0
- osn_selenium/abstract/instances/action_chains/scroll.py +61 -0
- osn_selenium/abstract/instances/action_chains/utils.py +44 -0
- osn_selenium/abstract/instances/alert.py +67 -0
- osn_selenium/abstract/instances/browser.py +76 -0
- osn_selenium/abstract/instances/browsing_context.py +310 -0
- osn_selenium/abstract/instances/dialog.py +107 -0
- osn_selenium/abstract/instances/fedcm.py +133 -0
- osn_selenium/abstract/instances/mobile.py +79 -0
- osn_selenium/abstract/instances/network.py +100 -0
- osn_selenium/abstract/instances/permissions.py +52 -0
- osn_selenium/abstract/instances/script.py +109 -0
- osn_selenium/abstract/instances/shadow_root.py +81 -0
- osn_selenium/abstract/instances/storage.py +98 -0
- osn_selenium/abstract/instances/switch_to.py +104 -0
- osn_selenium/abstract/instances/web_driver_wait.py +57 -0
- osn_selenium/abstract/instances/web_element.py +395 -0
- osn_selenium/abstract/instances/web_extension.py +70 -0
- osn_selenium/abstract/webdriver/blink/__init__.py +18 -0
- osn_selenium/abstract/webdriver/blink/base.py +80 -0
- osn_selenium/abstract/webdriver/blink/casting.py +82 -0
- osn_selenium/abstract/webdriver/blink/features.py +51 -0
- osn_selenium/abstract/webdriver/blink/lifecycle.py +76 -0
- osn_selenium/abstract/webdriver/blink/logging.py +40 -0
- osn_selenium/abstract/webdriver/blink/network.py +45 -0
- osn_selenium/abstract/webdriver/blink/settings.py +68 -0
- osn_selenium/abstract/webdriver/chrome/__init__.py +18 -0
- osn_selenium/abstract/webdriver/chrome/base.py +36 -0
- osn_selenium/abstract/webdriver/chrome/lifecycle.py +92 -0
- osn_selenium/abstract/webdriver/chrome/settings.py +110 -0
- osn_selenium/abstract/webdriver/core/__init__.py +16 -0
- osn_selenium/abstract/webdriver/core/actions.py +58 -0
- osn_selenium/abstract/webdriver/core/auth.py +145 -0
- osn_selenium/abstract/webdriver/core/base.py +298 -0
- osn_selenium/abstract/webdriver/core/capture.py +84 -0
- osn_selenium/abstract/webdriver/core/components.py +82 -0
- osn_selenium/abstract/webdriver/core/devtools.py +69 -0
- osn_selenium/abstract/webdriver/core/element.py +55 -0
- osn_selenium/abstract/webdriver/core/file.py +82 -0
- osn_selenium/abstract/webdriver/core/lifecycle.py +103 -0
- osn_selenium/abstract/webdriver/core/navigation.py +65 -0
- osn_selenium/abstract/webdriver/core/script.py +88 -0
- osn_selenium/abstract/webdriver/core/settings.py +43 -0
- osn_selenium/abstract/webdriver/core/storage.py +81 -0
- osn_selenium/abstract/webdriver/core/timeouts.py +101 -0
- osn_selenium/abstract/webdriver/core/window.py +237 -0
- osn_selenium/abstract/webdriver/edge/__init__.py +18 -0
- osn_selenium/abstract/webdriver/edge/base.py +36 -0
- osn_selenium/abstract/webdriver/edge/lifecycle.py +92 -0
- osn_selenium/abstract/webdriver/edge/settings.py +110 -0
- osn_selenium/abstract/webdriver/yandex/__init__.py +18 -0
- osn_selenium/abstract/webdriver/yandex/base.py +18 -0
- osn_selenium/abstract/webdriver/yandex/lifecycle.py +92 -0
- osn_selenium/abstract/webdriver/yandex/settings.py +110 -0
- osn_selenium/base_mixin.py +122 -0
- osn_selenium/browsers_handler/__init__.py +47 -17
- osn_selenium/browsers_handler/_linux.py +226 -0
- osn_selenium/browsers_handler/_windows.py +21 -14
- osn_selenium/browsers_handler/{types.py → models.py} +5 -2
- osn_selenium/dev_tools/_decorators.py +140 -0
- osn_selenium/dev_tools/_exception_helpers.py +116 -0
- osn_selenium/dev_tools/_functions.py +174 -0
- osn_selenium/dev_tools/_system_utils.py +35 -0
- osn_selenium/dev_tools/_typehints.py +32 -0
- osn_selenium/dev_tools/_validators.py +227 -0
- osn_selenium/dev_tools/_wrappers.py +95 -0
- osn_selenium/dev_tools/domains/__init__.py +7 -40
- osn_selenium/dev_tools/domains/abstract.py +98 -254
- osn_selenium/dev_tools/domains/fetch.py +229 -906
- osn_selenium/dev_tools/domains_default/fetch.py +40 -28
- osn_selenium/dev_tools/filters.py +40 -0
- osn_selenium/dev_tools/logger/main.py +226 -0
- osn_selenium/dev_tools/logger/models.py +232 -0
- osn_selenium/dev_tools/logger/target.py +258 -0
- osn_selenium/dev_tools/manager/__init__.py +16 -0
- osn_selenium/dev_tools/manager/base.py +147 -0
- osn_selenium/dev_tools/manager/lifecycle.py +236 -0
- osn_selenium/dev_tools/manager/logging.py +153 -0
- osn_selenium/dev_tools/manager/settings.py +89 -0
- osn_selenium/dev_tools/manager/targets.py +175 -0
- osn_selenium/dev_tools/models.py +49 -0
- osn_selenium/dev_tools/settings.py +135 -0
- osn_selenium/dev_tools/target/__init__.py +16 -0
- osn_selenium/dev_tools/target/base.py +438 -0
- osn_selenium/dev_tools/target/detach.py +54 -0
- osn_selenium/dev_tools/target/discovery.py +112 -0
- osn_selenium/dev_tools/target/events.py +120 -0
- osn_selenium/dev_tools/target/fingerprint.py +126 -0
- osn_selenium/dev_tools/target/lifecycle.py +179 -0
- osn_selenium/dev_tools/target/logging.py +155 -0
- osn_selenium/exceptions/__init__.py +1 -0
- osn_selenium/exceptions/base.py +9 -0
- osn_selenium/exceptions/configuration.py +84 -0
- osn_selenium/exceptions/devtools.py +114 -0
- osn_selenium/exceptions/flags.py +45 -0
- osn_selenium/exceptions/instance.py +92 -0
- osn_selenium/exceptions/javascript.py +31 -0
- osn_selenium/exceptions/logic.py +31 -0
- osn_selenium/exceptions/path.py +77 -0
- osn_selenium/exceptions/platform.py +33 -0
- osn_selenium/exceptions/protocol.py +86 -0
- osn_selenium/exceptions/webdriver.py +44 -0
- osn_selenium/exceptions/window.py +63 -0
- osn_selenium/executors/__init__.py +1 -0
- osn_selenium/executors/sync/__init__.py +1 -0
- osn_selenium/executors/sync/cdp/__init__.py +550 -0
- osn_selenium/executors/sync/cdp/accessibility.py +74 -0
- osn_selenium/executors/sync/cdp/animation.py +50 -0
- osn_selenium/executors/sync/cdp/audits.py +48 -0
- osn_selenium/executors/sync/cdp/autofill.py +39 -0
- osn_selenium/executors/sync/cdp/background_service.py +30 -0
- osn_selenium/executors/sync/cdp/bluetooth_emulation.py +101 -0
- osn_selenium/executors/sync/cdp/browser.py +131 -0
- osn_selenium/executors/sync/cdp/cache_storage.py +66 -0
- osn_selenium/executors/sync/cdp/cast.py +38 -0
- osn_selenium/executors/sync/cdp/console.py +24 -0
- osn_selenium/executors/sync/cdp/css.py +187 -0
- osn_selenium/executors/sync/cdp/debugger.py +206 -0
- osn_selenium/executors/sync/cdp/device_access.py +27 -0
- osn_selenium/executors/sync/cdp/device_orientation.py +24 -0
- osn_selenium/executors/sync/cdp/dom.py +310 -0
- osn_selenium/executors/sync/cdp/dom_debugger.py +56 -0
- osn_selenium/executors/sync/cdp/dom_snapshot.py +58 -0
- osn_selenium/executors/sync/cdp/dom_storage.py +38 -0
- osn_selenium/executors/sync/cdp/emulation.py +270 -0
- osn_selenium/executors/sync/cdp/event_breakpoints.py +27 -0
- osn_selenium/executors/sync/cdp/extensions.py +39 -0
- osn_selenium/executors/sync/cdp/fed_cm.py +45 -0
- osn_selenium/executors/sync/cdp/fetch.py +96 -0
- osn_selenium/executors/sync/cdp/file_system.py +18 -0
- osn_selenium/executors/sync/cdp/headless_experimental.py +44 -0
- osn_selenium/executors/sync/cdp/heap_profiler.py +89 -0
- osn_selenium/executors/sync/cdp/indexed_db.py +142 -0
- osn_selenium/executors/sync/cdp/input.py +233 -0
- osn_selenium/executors/sync/cdp/inspector.py +21 -0
- osn_selenium/executors/sync/cdp/io.py +33 -0
- osn_selenium/executors/sync/cdp/layer_tree.py +71 -0
- osn_selenium/executors/sync/cdp/log.py +35 -0
- osn_selenium/executors/sync/cdp/media.py +21 -0
- osn_selenium/executors/sync/cdp/memory.py +62 -0
- osn_selenium/executors/sync/cdp/network.py +287 -0
- osn_selenium/executors/sync/cdp/overlay.py +174 -0
- osn_selenium/executors/sync/cdp/page.py +365 -0
- osn_selenium/executors/sync/cdp/performance.py +33 -0
- osn_selenium/executors/sync/cdp/performance_timeline.py +26 -0
- osn_selenium/executors/sync/cdp/preload.py +21 -0
- osn_selenium/executors/sync/cdp/profiler.py +58 -0
- osn_selenium/executors/sync/cdp/pwa.py +55 -0
- osn_selenium/executors/sync/cdp/runtime.py +221 -0
- osn_selenium/executors/sync/cdp/schema.py +23 -0
- osn_selenium/executors/sync/cdp/security.py +30 -0
- osn_selenium/executors/sync/cdp/service_worker.py +56 -0
- osn_selenium/executors/sync/cdp/storage.py +151 -0
- osn_selenium/executors/sync/cdp/system_info.py +30 -0
- osn_selenium/executors/sync/cdp/target.py +147 -0
- osn_selenium/executors/sync/cdp/tethering.py +21 -0
- osn_selenium/executors/sync/cdp/tracing.py +62 -0
- osn_selenium/executors/sync/cdp/web_audio.py +24 -0
- osn_selenium/executors/sync/cdp/web_authn.py +82 -0
- osn_selenium/executors/sync/javascript.py +79 -0
- osn_selenium/executors/trio_threads/__init__.py +1 -0
- osn_selenium/executors/trio_threads/cdp/__init__.py +771 -0
- osn_selenium/executors/trio_threads/cdp/accessibility.py +87 -0
- osn_selenium/executors/trio_threads/cdp/animation.py +63 -0
- osn_selenium/executors/trio_threads/cdp/audits.py +57 -0
- osn_selenium/executors/trio_threads/cdp/autofill.py +52 -0
- osn_selenium/executors/trio_threads/cdp/background_service.py +40 -0
- osn_selenium/executors/trio_threads/cdp/bluetooth_emulation.py +111 -0
- osn_selenium/executors/trio_threads/cdp/browser.py +140 -0
- osn_selenium/executors/trio_threads/cdp/cache_storage.py +79 -0
- osn_selenium/executors/trio_threads/cdp/cast.py +47 -0
- osn_selenium/executors/trio_threads/cdp/console.py +33 -0
- osn_selenium/executors/trio_threads/cdp/css.py +196 -0
- osn_selenium/executors/trio_threads/cdp/debugger.py +219 -0
- osn_selenium/executors/trio_threads/cdp/device_access.py +40 -0
- osn_selenium/executors/trio_threads/cdp/device_orientation.py +34 -0
- osn_selenium/executors/trio_threads/cdp/dom.py +319 -0
- osn_selenium/executors/trio_threads/cdp/dom_debugger.py +69 -0
- osn_selenium/executors/trio_threads/cdp/dom_snapshot.py +71 -0
- osn_selenium/executors/trio_threads/cdp/dom_storage.py +51 -0
- osn_selenium/executors/trio_threads/cdp/emulation.py +283 -0
- osn_selenium/executors/trio_threads/cdp/event_breakpoints.py +37 -0
- osn_selenium/executors/trio_threads/cdp/extensions.py +52 -0
- osn_selenium/executors/trio_threads/cdp/fed_cm.py +54 -0
- osn_selenium/executors/trio_threads/cdp/fetch.py +105 -0
- osn_selenium/executors/trio_threads/cdp/file_system.py +31 -0
- osn_selenium/executors/trio_threads/cdp/headless_experimental.py +54 -0
- osn_selenium/executors/trio_threads/cdp/heap_profiler.py +102 -0
- osn_selenium/executors/trio_threads/cdp/indexed_db.py +155 -0
- osn_selenium/executors/trio_threads/cdp/input.py +242 -0
- osn_selenium/executors/trio_threads/cdp/inspector.py +34 -0
- osn_selenium/executors/trio_threads/cdp/io.py +42 -0
- osn_selenium/executors/trio_threads/cdp/layer_tree.py +84 -0
- osn_selenium/executors/trio_threads/cdp/log.py +44 -0
- osn_selenium/executors/trio_threads/cdp/media.py +30 -0
- osn_selenium/executors/trio_threads/cdp/memory.py +71 -0
- osn_selenium/executors/trio_threads/cdp/network.py +296 -0
- osn_selenium/executors/trio_threads/cdp/overlay.py +183 -0
- osn_selenium/executors/trio_threads/cdp/page.py +374 -0
- osn_selenium/executors/trio_threads/cdp/performance.py +46 -0
- osn_selenium/executors/trio_threads/cdp/performance_timeline.py +36 -0
- osn_selenium/executors/trio_threads/cdp/preload.py +30 -0
- osn_selenium/executors/trio_threads/cdp/profiler.py +71 -0
- osn_selenium/executors/trio_threads/cdp/pwa.py +64 -0
- osn_selenium/executors/trio_threads/cdp/runtime.py +230 -0
- osn_selenium/executors/trio_threads/cdp/schema.py +32 -0
- osn_selenium/executors/trio_threads/cdp/security.py +43 -0
- osn_selenium/executors/trio_threads/cdp/service_worker.py +69 -0
- osn_selenium/executors/trio_threads/cdp/storage.py +162 -0
- osn_selenium/executors/trio_threads/cdp/system_info.py +43 -0
- osn_selenium/executors/trio_threads/cdp/target.py +156 -0
- osn_selenium/executors/trio_threads/cdp/tethering.py +34 -0
- osn_selenium/executors/trio_threads/cdp/tracing.py +71 -0
- osn_selenium/executors/trio_threads/cdp/web_audio.py +37 -0
- osn_selenium/executors/trio_threads/cdp/web_authn.py +95 -0
- osn_selenium/executors/trio_threads/javascript.py +90 -0
- osn_selenium/executors/unified/__init__.py +1 -0
- osn_selenium/executors/unified/cdp/__init__.py +1 -0
- osn_selenium/executors/unified/cdp/accessibility.py +81 -0
- osn_selenium/executors/unified/cdp/animation.py +50 -0
- osn_selenium/executors/unified/cdp/audits.py +45 -0
- osn_selenium/executors/unified/cdp/autofill.py +41 -0
- osn_selenium/executors/unified/cdp/background_service.py +24 -0
- osn_selenium/executors/unified/cdp/bluetooth_emulation.py +132 -0
- osn_selenium/executors/unified/cdp/browser.py +143 -0
- osn_selenium/executors/unified/cdp/cache_storage.py +69 -0
- osn_selenium/executors/unified/cdp/cast.py +32 -0
- osn_selenium/executors/unified/cdp/console.py +18 -0
- osn_selenium/executors/unified/cdp/css.py +237 -0
- osn_selenium/executors/unified/cdp/debugger.py +243 -0
- osn_selenium/executors/unified/cdp/device_access.py +21 -0
- osn_selenium/executors/unified/cdp/device_orientation.py +18 -0
- osn_selenium/executors/unified/cdp/dom.py +380 -0
- osn_selenium/executors/unified/cdp/dom_debugger.py +65 -0
- osn_selenium/executors/unified/cdp/dom_snapshot.py +58 -0
- osn_selenium/executors/unified/cdp/dom_storage.py +38 -0
- osn_selenium/executors/unified/cdp/emulation.py +312 -0
- osn_selenium/executors/unified/cdp/event_breakpoints.py +24 -0
- osn_selenium/executors/unified/cdp/extensions.py +45 -0
- osn_selenium/executors/unified/cdp/fed_cm.py +51 -0
- osn_selenium/executors/unified/cdp/fetch.py +111 -0
- osn_selenium/executors/unified/cdp/file_system.py +15 -0
- osn_selenium/executors/unified/cdp/headless_experimental.py +38 -0
- osn_selenium/executors/unified/cdp/heap_profiler.py +101 -0
- osn_selenium/executors/unified/cdp/indexed_db.py +157 -0
- osn_selenium/executors/unified/cdp/input.py +254 -0
- osn_selenium/executors/unified/cdp/inspector.py +15 -0
- osn_selenium/executors/unified/cdp/io.py +29 -0
- osn_selenium/executors/unified/cdp/layer_tree.py +71 -0
- osn_selenium/executors/unified/cdp/log.py +29 -0
- osn_selenium/executors/unified/cdp/media.py +15 -0
- osn_selenium/executors/unified/cdp/memory.py +59 -0
- osn_selenium/executors/unified/cdp/network.py +323 -0
- osn_selenium/executors/unified/cdp/overlay.py +209 -0
- osn_selenium/executors/unified/cdp/page.py +410 -0
- osn_selenium/executors/unified/cdp/performance.py +27 -0
- osn_selenium/executors/unified/cdp/performance_timeline.py +17 -0
- osn_selenium/executors/unified/cdp/preload.py +15 -0
- osn_selenium/executors/unified/cdp/profiler.py +55 -0
- osn_selenium/executors/unified/cdp/pwa.py +55 -0
- osn_selenium/executors/unified/cdp/runtime.py +245 -0
- osn_selenium/executors/unified/cdp/schema.py +17 -0
- osn_selenium/executors/unified/cdp/security.py +27 -0
- osn_selenium/executors/unified/cdp/service_worker.py +62 -0
- osn_selenium/executors/unified/cdp/storage.py +178 -0
- osn_selenium/executors/unified/cdp/system_info.py +24 -0
- osn_selenium/executors/unified/cdp/target.py +165 -0
- osn_selenium/executors/unified/cdp/tethering.py +15 -0
- osn_selenium/executors/unified/cdp/tracing.py +62 -0
- osn_selenium/executors/unified/cdp/web_audio.py +18 -0
- osn_selenium/executors/unified/cdp/web_authn.py +103 -0
- osn_selenium/executors/unified/javascript.py +108 -0
- osn_selenium/flags/__init__.py +1 -0
- osn_selenium/flags/_functions.py +45 -0
- osn_selenium/flags/_typehints.py +34 -0
- osn_selenium/flags/_validators.py +101 -0
- osn_selenium/{webdrivers/BaseDriver/flags.py → flags/base.py} +165 -243
- osn_selenium/{webdrivers/Blink/flags.py → flags/blink.py} +133 -371
- osn_selenium/flags/chrome.py +259 -0
- osn_selenium/flags/edge.py +259 -0
- osn_selenium/flags/models/__init__.py +1 -0
- osn_selenium/flags/models/base.py +130 -0
- osn_selenium/flags/models/blink.py +263 -0
- osn_selenium/{webdrivers/Chrome/flags.py → flags/models/chrome.py} +25 -75
- osn_selenium/{webdrivers/Edge/flags.py → flags/models/edge.py} +25 -75
- osn_selenium/flags/models/values.py +44 -0
- osn_selenium/{webdrivers/Yandex/flags.py → flags/models/yandex.py} +26 -76
- osn_selenium/flags/yandex.py +259 -0
- osn_selenium/instances/__init__.py +1 -0
- osn_selenium/instances/_functions.py +242 -0
- osn_selenium/instances/_typehints.py +148 -0
- osn_selenium/instances/_utils.py +143 -0
- osn_selenium/instances/convert.py +287 -0
- osn_selenium/instances/protocols.py +105 -0
- osn_selenium/instances/sync/__init__.py +1 -0
- osn_selenium/instances/sync/action_chains/__init__.py +26 -0
- osn_selenium/instances/sync/action_chains/base.py +74 -0
- osn_selenium/instances/sync/action_chains/click.py +61 -0
- osn_selenium/instances/sync/action_chains/drag_and_drop.py +45 -0
- osn_selenium/instances/sync/action_chains/hm_keyboard.py +37 -0
- osn_selenium/instances/sync/action_chains/hm_move.py +81 -0
- osn_selenium/instances/sync/action_chains/hm_scroll.py +60 -0
- osn_selenium/instances/sync/action_chains/keyboard.py +55 -0
- osn_selenium/instances/sync/action_chains/move.py +46 -0
- osn_selenium/instances/sync/action_chains/scroll.py +43 -0
- osn_selenium/instances/sync/action_chains/utils.py +30 -0
- osn_selenium/instances/sync/alert.py +69 -0
- osn_selenium/instances/sync/browser.py +72 -0
- osn_selenium/instances/sync/browsing_context.py +193 -0
- osn_selenium/instances/sync/dialog.py +81 -0
- osn_selenium/instances/sync/fedcm.py +92 -0
- osn_selenium/instances/sync/mobile.py +75 -0
- osn_selenium/instances/sync/network.py +90 -0
- osn_selenium/instances/sync/permissions.py +80 -0
- osn_selenium/instances/sync/script.py +77 -0
- osn_selenium/instances/sync/shadow_root.py +91 -0
- osn_selenium/instances/sync/storage.py +91 -0
- osn_selenium/instances/sync/switch_to.py +92 -0
- osn_selenium/instances/sync/web_driver_wait.py +83 -0
- osn_selenium/instances/sync/web_element.py +179 -0
- osn_selenium/instances/sync/web_extension.py +77 -0
- osn_selenium/instances/trio_threads/__init__.py +1 -0
- osn_selenium/instances/trio_threads/action_chains/__init__.py +26 -0
- osn_selenium/instances/trio_threads/action_chains/base.py +88 -0
- osn_selenium/instances/trio_threads/action_chains/click.py +71 -0
- osn_selenium/instances/trio_threads/action_chains/drag_and_drop.py +49 -0
- osn_selenium/instances/trio_threads/action_chains/hm_keyboard.py +41 -0
- osn_selenium/instances/trio_threads/action_chains/hm_move.py +91 -0
- osn_selenium/instances/trio_threads/action_chains/hm_scroll.py +66 -0
- osn_selenium/instances/trio_threads/action_chains/keyboard.py +63 -0
- osn_selenium/instances/trio_threads/action_chains/move.py +52 -0
- osn_selenium/instances/trio_threads/action_chains/scroll.py +49 -0
- osn_selenium/instances/trio_threads/action_chains/utils.py +32 -0
- osn_selenium/instances/trio_threads/alert.py +87 -0
- osn_selenium/instances/trio_threads/browser.py +90 -0
- osn_selenium/instances/trio_threads/browsing_context.py +216 -0
- osn_selenium/instances/trio_threads/dialog.py +99 -0
- osn_selenium/instances/trio_threads/fedcm.py +110 -0
- osn_selenium/instances/trio_threads/mobile.py +93 -0
- osn_selenium/instances/trio_threads/network.py +108 -0
- osn_selenium/instances/trio_threads/permissions.py +102 -0
- osn_selenium/instances/trio_threads/script.py +95 -0
- osn_selenium/instances/trio_threads/shadow_root.py +123 -0
- osn_selenium/instances/trio_threads/storage.py +109 -0
- osn_selenium/instances/trio_threads/switch_to.py +124 -0
- osn_selenium/instances/trio_threads/web_driver_wait.py +101 -0
- osn_selenium/instances/trio_threads/web_element.py +217 -0
- osn_selenium/instances/trio_threads/web_extension.py +99 -0
- osn_selenium/instances/unified/__init__.py +1 -0
- osn_selenium/instances/unified/action_chains/__init__.py +22 -0
- osn_selenium/instances/unified/action_chains/base.py +31 -0
- osn_selenium/instances/unified/action_chains/click.py +27 -0
- osn_selenium/instances/unified/action_chains/drag_and_drop.py +24 -0
- osn_selenium/instances/unified/action_chains/hm_keyboard.py +30 -0
- osn_selenium/instances/unified/action_chains/hm_move.py +66 -0
- osn_selenium/instances/unified/action_chains/hm_scroll.py +79 -0
- osn_selenium/instances/unified/action_chains/keyboard.py +24 -0
- osn_selenium/instances/unified/action_chains/move.py +24 -0
- osn_selenium/instances/unified/action_chains/scroll.py +21 -0
- osn_selenium/instances/unified/action_chains/utils.py +19 -0
- osn_selenium/instances/unified/alert.py +29 -0
- osn_selenium/instances/unified/browser.py +33 -0
- osn_selenium/instances/unified/browsing_context.py +151 -0
- osn_selenium/instances/unified/dialog.py +42 -0
- osn_selenium/instances/unified/fedcm.py +48 -0
- osn_selenium/instances/unified/mobile.py +36 -0
- osn_selenium/instances/unified/network.py +50 -0
- osn_selenium/instances/unified/permissions.py +43 -0
- osn_selenium/instances/unified/script.py +38 -0
- osn_selenium/instances/unified/shadow_root.py +46 -0
- osn_selenium/instances/unified/storage.py +48 -0
- osn_selenium/instances/unified/switch_to.py +49 -0
- osn_selenium/instances/unified/web_driver_wait.py +45 -0
- osn_selenium/instances/unified/web_element.py +145 -0
- osn_selenium/instances/unified/web_extension.py +38 -0
- osn_selenium/javascript/__init__.py +1 -0
- osn_selenium/javascript/_functions.py +63 -0
- osn_selenium/javascript/fingerprint/__init__.py +120 -0
- osn_selenium/javascript/fingerprint/_decorators.py +41 -0
- osn_selenium/javascript/fingerprint/_detect/__init__.py +1 -0
- osn_selenium/javascript/fingerprint/_detect/functions.py +253 -0
- osn_selenium/javascript/fingerprint/_detect/templates.py +128 -0
- osn_selenium/javascript/fingerprint/_functions.py +35 -0
- osn_selenium/javascript/fingerprint/_typehints.py +27 -0
- osn_selenium/javascript/fingerprint/registry/__init__.py +7 -0
- osn_selenium/javascript/fingerprint/registry/_core_functions.py +236 -0
- osn_selenium/javascript/fingerprint/registry/_functions.py +923 -0
- osn_selenium/javascript/fingerprint/registry/_typehints.py +6 -0
- osn_selenium/javascript/fingerprint/registry/_utils.py +6 -0
- osn_selenium/javascript/fingerprint/registry/models.py +41 -0
- osn_selenium/javascript/fingerprint/spoof/__init__.py +1 -0
- osn_selenium/javascript/fingerprint/spoof/_functions.py +172 -0
- osn_selenium/javascript/fingerprint/spoof/_templates.py +134 -0
- osn_selenium/javascript/fingerprint/spoof/_typehints.py +22 -0
- osn_selenium/javascript/fingerprint/spoof/core_rules.py +141 -0
- osn_selenium/javascript/fingerprint/spoof/noise.py +51 -0
- osn_selenium/javascript/fingerprint/spoof/rules.py +313 -0
- osn_selenium/javascript/functions.py +44 -0
- osn_selenium/javascript/models.py +35 -0
- osn_selenium/javascript/scripts/start_fingerprint_detection.js +56 -0
- osn_selenium/models.py +139 -0
- osn_selenium/webdrivers/_args_helpers.py +181 -0
- osn_selenium/webdrivers/_bridges.py +57 -0
- osn_selenium/webdrivers/_decorators.py +83 -0
- osn_selenium/webdrivers/_executable_tables/__init__.py +1 -0
- osn_selenium/webdrivers/_executable_tables/functions.py +113 -0
- osn_selenium/webdrivers/_executable_tables/models.py +19 -0
- osn_selenium/webdrivers/_typehints.py +10 -0
- osn_selenium/webdrivers/protocols.py +50 -0
- osn_selenium/webdrivers/sync/__init__.py +1 -0
- osn_selenium/webdrivers/sync/blink/__init__.py +114 -0
- osn_selenium/webdrivers/sync/blink/base.py +128 -0
- osn_selenium/webdrivers/sync/blink/casting.py +34 -0
- osn_selenium/webdrivers/sync/blink/features.py +28 -0
- osn_selenium/webdrivers/sync/blink/lifecycle.py +66 -0
- osn_selenium/webdrivers/sync/blink/logging.py +25 -0
- osn_selenium/webdrivers/sync/blink/network.py +28 -0
- osn_selenium/webdrivers/sync/blink/settings.py +63 -0
- osn_selenium/webdrivers/sync/chrome/__init__.py +67 -0
- osn_selenium/webdrivers/sync/chrome/base.py +106 -0
- osn_selenium/webdrivers/sync/chrome/lifecycle.py +63 -0
- osn_selenium/webdrivers/sync/chrome/settings.py +58 -0
- osn_selenium/webdrivers/sync/core/__init__.py +91 -0
- osn_selenium/webdrivers/sync/core/actions.py +59 -0
- osn_selenium/webdrivers/sync/core/auth.py +77 -0
- osn_selenium/webdrivers/sync/core/base.py +167 -0
- osn_selenium/webdrivers/sync/core/capture.py +37 -0
- osn_selenium/webdrivers/sync/core/comonents.py +57 -0
- osn_selenium/webdrivers/sync/core/devtools.py +47 -0
- osn_selenium/webdrivers/sync/core/element.py +42 -0
- osn_selenium/webdrivers/sync/core/file.py +40 -0
- osn_selenium/webdrivers/sync/core/lifecycle.py +59 -0
- osn_selenium/webdrivers/sync/core/navigation.py +36 -0
- osn_selenium/webdrivers/sync/core/script.py +53 -0
- osn_selenium/webdrivers/sync/core/settings.py +35 -0
- osn_selenium/webdrivers/sync/core/storage.py +48 -0
- osn_selenium/webdrivers/sync/core/timeouts.py +59 -0
- osn_selenium/webdrivers/sync/core/window.py +99 -0
- osn_selenium/webdrivers/sync/edge/__init__.py +67 -0
- osn_selenium/webdrivers/sync/edge/base.py +102 -0
- osn_selenium/webdrivers/sync/edge/lifecycle.py +63 -0
- osn_selenium/webdrivers/sync/edge/settings.py +58 -0
- osn_selenium/webdrivers/sync/yandex/__init__.py +67 -0
- osn_selenium/webdrivers/sync/yandex/base.py +99 -0
- osn_selenium/webdrivers/sync/yandex/lifecycle.py +63 -0
- osn_selenium/webdrivers/sync/yandex/settings.py +58 -0
- osn_selenium/webdrivers/trio_threads/__init__.py +1 -0
- osn_selenium/webdrivers/trio_threads/blink/__init__.py +124 -0
- osn_selenium/webdrivers/trio_threads/blink/base.py +133 -0
- osn_selenium/webdrivers/trio_threads/blink/casting.py +35 -0
- osn_selenium/webdrivers/trio_threads/blink/features.py +29 -0
- osn_selenium/webdrivers/trio_threads/blink/lifecycle.py +66 -0
- osn_selenium/webdrivers/trio_threads/blink/logging.py +26 -0
- osn_selenium/webdrivers/trio_threads/blink/network.py +29 -0
- osn_selenium/webdrivers/trio_threads/blink/settings.py +63 -0
- osn_selenium/webdrivers/trio_threads/chrome/__init__.py +81 -0
- osn_selenium/webdrivers/trio_threads/chrome/base.py +107 -0
- osn_selenium/webdrivers/trio_threads/chrome/lifecycle.py +63 -0
- osn_selenium/webdrivers/trio_threads/chrome/settings.py +63 -0
- osn_selenium/webdrivers/trio_threads/core/__init__.py +109 -0
- osn_selenium/webdrivers/trio_threads/core/actions.py +72 -0
- osn_selenium/webdrivers/trio_threads/core/auth.py +88 -0
- osn_selenium/webdrivers/trio_threads/core/base.py +191 -0
- osn_selenium/webdrivers/trio_threads/core/capture.py +38 -0
- osn_selenium/webdrivers/trio_threads/core/comonents.py +92 -0
- osn_selenium/webdrivers/trio_threads/core/devtools.py +53 -0
- osn_selenium/webdrivers/trio_threads/core/element.py +58 -0
- osn_selenium/webdrivers/trio_threads/core/file.py +45 -0
- osn_selenium/webdrivers/trio_threads/core/lifecycle.py +60 -0
- osn_selenium/webdrivers/trio_threads/core/navigation.py +41 -0
- osn_selenium/webdrivers/trio_threads/core/script.py +59 -0
- osn_selenium/webdrivers/trio_threads/core/settings.py +36 -0
- osn_selenium/webdrivers/trio_threads/core/storage.py +54 -0
- osn_selenium/webdrivers/trio_threads/core/timeouts.py +60 -0
- osn_selenium/webdrivers/trio_threads/core/window.py +105 -0
- osn_selenium/webdrivers/trio_threads/edge/__init__.py +81 -0
- osn_selenium/webdrivers/trio_threads/edge/base.py +103 -0
- osn_selenium/webdrivers/trio_threads/edge/lifecycle.py +63 -0
- osn_selenium/webdrivers/trio_threads/edge/settings.py +63 -0
- osn_selenium/webdrivers/trio_threads/yandex/__init__.py +81 -0
- osn_selenium/webdrivers/trio_threads/yandex/base.py +100 -0
- osn_selenium/webdrivers/trio_threads/yandex/lifecycle.py +63 -0
- osn_selenium/webdrivers/trio_threads/yandex/settings.py +63 -0
- osn_selenium/webdrivers/unified/__init__.py +1 -0
- osn_selenium/webdrivers/unified/blink/__init__.py +1 -0
- osn_selenium/webdrivers/unified/blink/base.py +131 -0
- osn_selenium/webdrivers/unified/blink/casting.py +30 -0
- osn_selenium/webdrivers/unified/blink/features.py +22 -0
- osn_selenium/webdrivers/unified/blink/lifecycle.py +114 -0
- osn_selenium/webdrivers/unified/blink/logging.py +18 -0
- osn_selenium/webdrivers/unified/blink/network.py +22 -0
- osn_selenium/webdrivers/unified/blink/settings.py +86 -0
- osn_selenium/webdrivers/unified/chrome/__init__.py +1 -0
- osn_selenium/webdrivers/unified/chrome/base.py +54 -0
- osn_selenium/webdrivers/unified/chrome/lifecycle.py +88 -0
- osn_selenium/webdrivers/unified/chrome/settings.py +48 -0
- osn_selenium/webdrivers/unified/core/__init__.py +1 -0
- osn_selenium/webdrivers/unified/core/actions.py +43 -0
- osn_selenium/webdrivers/unified/core/auth.py +70 -0
- osn_selenium/webdrivers/unified/core/base.py +132 -0
- osn_selenium/webdrivers/unified/core/capture.py +32 -0
- osn_selenium/webdrivers/unified/core/components.py +32 -0
- osn_selenium/webdrivers/unified/core/devtools.py +35 -0
- osn_selenium/webdrivers/unified/core/element.py +24 -0
- osn_selenium/webdrivers/unified/core/file.py +35 -0
- osn_selenium/webdrivers/unified/core/lifecycle.py +84 -0
- osn_selenium/webdrivers/unified/core/navigation.py +31 -0
- osn_selenium/webdrivers/unified/core/script.py +32 -0
- osn_selenium/webdrivers/unified/core/settings.py +44 -0
- osn_selenium/webdrivers/unified/core/storage.py +37 -0
- osn_selenium/webdrivers/unified/core/timeouts.py +56 -0
- osn_selenium/webdrivers/unified/core/window.py +135 -0
- osn_selenium/webdrivers/unified/edge/__init__.py +1 -0
- osn_selenium/webdrivers/unified/edge/base.py +52 -0
- osn_selenium/webdrivers/unified/edge/lifecycle.py +88 -0
- osn_selenium/webdrivers/unified/edge/settings.py +48 -0
- osn_selenium/webdrivers/unified/yandex/__init__.py +1 -0
- osn_selenium/webdrivers/unified/yandex/base.py +54 -0
- osn_selenium/webdrivers/unified/yandex/lifecycle.py +58 -0
- osn_selenium/webdrivers/unified/yandex/settings.py +48 -0
- osn_selenium-1.0.0.dist-info/METADATA +239 -0
- osn_selenium-1.0.0.dist-info/RECORD +608 -0
- {osn_selenium-0.0.0.dist-info → osn_selenium-1.0.0.dist-info}/WHEEL +1 -1
- osn_selenium/captcha_workers/__init__.py +0 -26
- osn_selenium/dev_tools/_types.py +0 -22
- osn_selenium/dev_tools/errors.py +0 -89
- osn_selenium/dev_tools/logger.py +0 -558
- osn_selenium/dev_tools/manager.py +0 -1551
- osn_selenium/dev_tools/utils.py +0 -509
- osn_selenium/errors.py +0 -16
- osn_selenium/types.py +0 -118
- osn_selenium/webdrivers/BaseDriver/_utils.py +0 -37
- osn_selenium/webdrivers/BaseDriver/protocols.py +0 -2135
- osn_selenium/webdrivers/BaseDriver/trio_wrapper.py +0 -71
- osn_selenium/webdrivers/BaseDriver/webdriver.py +0 -2626
- osn_selenium/webdrivers/Blink/protocols.py +0 -330
- osn_selenium/webdrivers/Blink/webdriver.py +0 -637
- osn_selenium/webdrivers/Chrome/protocols.py +0 -228
- osn_selenium/webdrivers/Chrome/webdriver.py +0 -394
- osn_selenium/webdrivers/Edge/protocols.py +0 -228
- osn_selenium/webdrivers/Edge/webdriver.py +0 -394
- osn_selenium/webdrivers/Yandex/protocols.py +0 -211
- osn_selenium/webdrivers/Yandex/webdriver.py +0 -350
- osn_selenium/webdrivers/_functions.py +0 -504
- osn_selenium/webdrivers/types.py +0 -390
- osn_selenium-0.0.0.dist-info/METADATA +0 -710
- osn_selenium-0.0.0.dist-info/RECORD +0 -57
- /osn_selenium/{webdrivers/BaseDriver → abstract}/__init__.py +0 -0
- /osn_selenium/{webdrivers/Blink → abstract/executors}/__init__.py +0 -0
- /osn_selenium/{webdrivers/Chrome → abstract/instances}/__init__.py +0 -0
- /osn_selenium/{webdrivers/Edge → abstract/webdriver}/__init__.py +0 -0
- /osn_selenium/{webdrivers/Yandex → dev_tools/logger}/__init__.py +0 -0
- /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/check_element_in_viewport.js +0 -0
- /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_document_scroll_size.js +0 -0
- /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_element_css.js +0 -0
- /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_element_rect_in_viewport.js +0 -0
- /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_random_element_point_in_viewport.js +0 -0
- /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_viewport_position.js +0 -0
- /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_viewport_rect.js +0 -0
- /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/get_viewport_size.js +0 -0
- /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/open_new_tab.js +0 -0
- /osn_selenium/{webdrivers/js_scripts → javascript/scripts}/stop_window_loading.js +0 -0
- {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
|
|
2
|
-
from typing import
|
|
3
|
-
|
|
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
|
-
|
|
8
|
+
BlinkFlags
|
|
18
9
|
)
|
|
19
10
|
|
|
20
11
|
|
|
21
|
-
|
|
22
|
-
""
|
|
23
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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[
|
|
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(
|
|
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
|
|
2
|
-
from typing import
|
|
3
|
-
|
|
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
|
-
|
|
8
|
+
BlinkFlags
|
|
18
9
|
)
|
|
19
10
|
|
|
20
11
|
|
|
21
|
-
|
|
22
|
-
""
|
|
23
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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[
|
|
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(
|
|
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
|