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
osn_selenium/webdrivers/types.py
DELETED
|
@@ -1,390 +0,0 @@
|
|
|
1
|
-
from selenium import webdriver
|
|
2
|
-
from typing import (
|
|
3
|
-
Any,
|
|
4
|
-
Callable,
|
|
5
|
-
Literal,
|
|
6
|
-
Mapping,
|
|
7
|
-
TypedDict,
|
|
8
|
-
Union
|
|
9
|
-
)
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class _MoveStep:
|
|
13
|
-
"""
|
|
14
|
-
Internal helper class representing a step in a movement calculation.
|
|
15
|
-
|
|
16
|
-
Likely used within algorithms that generate multi-step paths for simulations.
|
|
17
|
-
|
|
18
|
-
Attributes:
|
|
19
|
-
amplitude_x (int): The horizontal component or amplitude of this step.
|
|
20
|
-
amplitude_y (int): The vertical component or amplitude of this step.
|
|
21
|
-
index (int): An index identifying this step's position in a sequence.
|
|
22
|
-
"""
|
|
23
|
-
|
|
24
|
-
def __init__(self, amplitude_x: int, amplitude_y: int, index: int):
|
|
25
|
-
"""
|
|
26
|
-
Initializes a _MoveStep instance.
|
|
27
|
-
|
|
28
|
-
Args:
|
|
29
|
-
amplitude_x (int): The horizontal amplitude.
|
|
30
|
-
amplitude_y (int): The vertical amplitude.
|
|
31
|
-
index (int): The index of the step.
|
|
32
|
-
"""
|
|
33
|
-
|
|
34
|
-
self.amplitude_x: int = amplitude_x
|
|
35
|
-
self.amplitude_y: int = amplitude_y
|
|
36
|
-
self.index: int = index
|
|
37
|
-
|
|
38
|
-
def __repr__(self) -> str:
|
|
39
|
-
"""Returns a string representation suitable for debugging."""
|
|
40
|
-
|
|
41
|
-
return self.__str__()
|
|
42
|
-
|
|
43
|
-
def __str__(self) -> str:
|
|
44
|
-
"""Returns a user-friendly string representation."""
|
|
45
|
-
|
|
46
|
-
return f"MoveStep(amplitude_x={self.amplitude_x}, amplitude_y={self.amplitude_y})"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
class TextInputPart:
|
|
50
|
-
"""
|
|
51
|
-
Represents a segment of text input with an associated duration.
|
|
52
|
-
|
|
53
|
-
Used to break down a larger text input into smaller chunks for simulating
|
|
54
|
-
human-like typing with pauses between parts.
|
|
55
|
-
|
|
56
|
-
Attributes:
|
|
57
|
-
text (str): The chunk of text for this part.
|
|
58
|
-
duration (int): The duration (milliseconds)
|
|
59
|
-
associated with this part, often representing a pause before or after typing it.
|
|
60
|
-
"""
|
|
61
|
-
|
|
62
|
-
def __init__(self, text: str, duration: int):
|
|
63
|
-
"""
|
|
64
|
-
Initializes a TextInputPart instance.
|
|
65
|
-
|
|
66
|
-
Args:
|
|
67
|
-
text (str): The text segment.
|
|
68
|
-
duration (int): The duration associated with this segment.
|
|
69
|
-
"""
|
|
70
|
-
|
|
71
|
-
self.text: str = text
|
|
72
|
-
self.duration: int = duration
|
|
73
|
-
|
|
74
|
-
def __repr__(self) -> str:
|
|
75
|
-
"""Returns a string representation suitable for debugging."""
|
|
76
|
-
|
|
77
|
-
return self.__str__()
|
|
78
|
-
|
|
79
|
-
def __str__(self) -> str:
|
|
80
|
-
"""Returns a user-friendly string representation."""
|
|
81
|
-
|
|
82
|
-
return f"TextInputPart(text={self.text}, duration={self.duration})"
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
class ScrollDelta:
|
|
86
|
-
"""
|
|
87
|
-
Represents the change in scroll position (dx, dy).
|
|
88
|
-
|
|
89
|
-
Used to specify the amount to scroll horizontally and vertically.
|
|
90
|
-
|
|
91
|
-
Attributes:
|
|
92
|
-
x (int): The horizontal scroll amount. Positive scrolls right, negative left.
|
|
93
|
-
y (int): The vertical scroll amount. Positive scrolls down, negative up.
|
|
94
|
-
"""
|
|
95
|
-
|
|
96
|
-
def __init__(self, x: int, y: int):
|
|
97
|
-
"""
|
|
98
|
-
Initializes a ScrollDelta instance.
|
|
99
|
-
|
|
100
|
-
Args:
|
|
101
|
-
x (int): The horizontal scroll amount.
|
|
102
|
-
y (int): The vertical scroll amount.
|
|
103
|
-
"""
|
|
104
|
-
|
|
105
|
-
self.x: int = x
|
|
106
|
-
self.y: int = y
|
|
107
|
-
|
|
108
|
-
def __repr__(self) -> str:
|
|
109
|
-
"""Returns a string representation suitable for debugging."""
|
|
110
|
-
|
|
111
|
-
return self.__str__()
|
|
112
|
-
|
|
113
|
-
def __str__(self) -> str:
|
|
114
|
-
"""Returns a user-friendly string representation."""
|
|
115
|
-
|
|
116
|
-
return f"ScrollDelta(x={self.x}, y={self.y})"
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
class ActionPoint:
|
|
120
|
-
"""
|
|
121
|
-
Represents a 2D point with integer coordinates (x, y).
|
|
122
|
-
|
|
123
|
-
Commonly used to define locations on a screen or canvas. Includes
|
|
124
|
-
equality comparison methods.
|
|
125
|
-
|
|
126
|
-
Attributes:
|
|
127
|
-
x (int): The horizontal coordinate.
|
|
128
|
-
y (int): The vertical coordinate.
|
|
129
|
-
"""
|
|
130
|
-
|
|
131
|
-
def __init__(self, x: int, y: int):
|
|
132
|
-
"""
|
|
133
|
-
Initializes an ActionPoint instance.
|
|
134
|
-
|
|
135
|
-
Args:
|
|
136
|
-
x (int): The horizontal coordinate.
|
|
137
|
-
y (int): The vertical coordinate.
|
|
138
|
-
"""
|
|
139
|
-
|
|
140
|
-
self.x: int = x
|
|
141
|
-
self.y: int = y
|
|
142
|
-
|
|
143
|
-
def __repr__(self) -> str:
|
|
144
|
-
"""Returns a string representation suitable for debugging."""
|
|
145
|
-
|
|
146
|
-
return self.__str__()
|
|
147
|
-
|
|
148
|
-
def __str__(self) -> str:
|
|
149
|
-
"""Returns a user-friendly string representation."""
|
|
150
|
-
|
|
151
|
-
return f"ActionPoint(x={self.x}, y={self.y})"
|
|
152
|
-
|
|
153
|
-
def __eq__(self, other: "ActionPoint") -> bool:
|
|
154
|
-
"""
|
|
155
|
-
Checks if this ActionPoint is equal to another ActionPoint.
|
|
156
|
-
|
|
157
|
-
Args:
|
|
158
|
-
other (object): The object to compare against.
|
|
159
|
-
|
|
160
|
-
Returns:
|
|
161
|
-
bool: True if `other` is an ActionPoint with the same x and y coordinates, False otherwise.
|
|
162
|
-
"""
|
|
163
|
-
|
|
164
|
-
return self.x == other.x and self.y == other.y
|
|
165
|
-
|
|
166
|
-
def __ne__(self, other: "ActionPoint") -> bool:
|
|
167
|
-
"""
|
|
168
|
-
Checks if this ActionPoint is not equal to another ActionPoint.
|
|
169
|
-
|
|
170
|
-
Args:
|
|
171
|
-
other (object): The object to compare against.
|
|
172
|
-
|
|
173
|
-
Returns:
|
|
174
|
-
bool: True if `other` is not an ActionPoint or has different coordinates, False otherwise.
|
|
175
|
-
"""
|
|
176
|
-
|
|
177
|
-
return not self.__eq__(other)
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
class ScrollPart:
|
|
181
|
-
"""
|
|
182
|
-
Represents a segment of a simulated scroll action.
|
|
183
|
-
|
|
184
|
-
Combines the conceptual current point, the scroll delta for this segment,
|
|
185
|
-
and the duration associated with performing this scroll segment.
|
|
186
|
-
|
|
187
|
-
Attributes:
|
|
188
|
-
point (ActionPoint): The conceptual coordinate point before this scroll segment.
|
|
189
|
-
delta (ScrollDelta): The scroll amount (dx, dy) for this segment.
|
|
190
|
-
duration (int): The duration (milliseconds) for this scroll segment.
|
|
191
|
-
"""
|
|
192
|
-
|
|
193
|
-
def __init__(self, point: ActionPoint, delta: ScrollDelta, duration: int):
|
|
194
|
-
"""
|
|
195
|
-
Initializes a ScrollPart instance.
|
|
196
|
-
|
|
197
|
-
Args:
|
|
198
|
-
point (ActionPoint): The conceptual point before scrolling.
|
|
199
|
-
delta (ScrollDelta): The scroll amount for this segment.
|
|
200
|
-
duration (int): The duration of this scroll segment.
|
|
201
|
-
"""
|
|
202
|
-
|
|
203
|
-
self.point: ActionPoint = point
|
|
204
|
-
self.delta: ScrollDelta = delta
|
|
205
|
-
self.duration: int = duration
|
|
206
|
-
|
|
207
|
-
def __repr__(self) -> str:
|
|
208
|
-
"""Returns a string representation suitable for debugging."""
|
|
209
|
-
|
|
210
|
-
return self.__str__()
|
|
211
|
-
|
|
212
|
-
def __str__(self) -> str:
|
|
213
|
-
"""Returns a user-friendly string representation."""
|
|
214
|
-
|
|
215
|
-
return f"ScrollPart(point={self.point}, delta={self.delta}, duration={self.duration})"
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
class MoveOffset:
|
|
219
|
-
"""
|
|
220
|
-
Represents a 2D offset or displacement (dx, dy).
|
|
221
|
-
|
|
222
|
-
Used to specify relative movement distances.
|
|
223
|
-
|
|
224
|
-
Attributes:
|
|
225
|
-
x (int): The horizontal offset component.
|
|
226
|
-
y (int): The vertical offset component.
|
|
227
|
-
"""
|
|
228
|
-
|
|
229
|
-
def __init__(self, x: int, y: int):
|
|
230
|
-
"""
|
|
231
|
-
Initializes a MoveOffset instance.
|
|
232
|
-
|
|
233
|
-
Args:
|
|
234
|
-
x (int): The horizontal offset.
|
|
235
|
-
y (int): The vertical offset.
|
|
236
|
-
"""
|
|
237
|
-
|
|
238
|
-
self.x: int = x
|
|
239
|
-
self.y: int = y
|
|
240
|
-
|
|
241
|
-
def __repr__(self) -> str:
|
|
242
|
-
"""Returns a string representation suitable for debugging."""
|
|
243
|
-
|
|
244
|
-
return self.__str__()
|
|
245
|
-
|
|
246
|
-
def __str__(self) -> str:
|
|
247
|
-
"""Returns a user-friendly string representation."""
|
|
248
|
-
|
|
249
|
-
return f"MoveOffset(x={self.x}, y={self.y})"
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
class MovePart:
|
|
253
|
-
"""
|
|
254
|
-
Represents a segment of a simulated mouse movement.
|
|
255
|
-
|
|
256
|
-
Combines the target point, the offset required to reach it from the previous
|
|
257
|
-
point, and the duration associated with this segment.
|
|
258
|
-
|
|
259
|
-
Attributes:
|
|
260
|
-
point (ActionPoint): The target coordinate point for this movement segment.
|
|
261
|
-
offset (MoveOffset): The offset (dx, dy) representing the movement in this segment.
|
|
262
|
-
duration (int): The duration (milliseconds) for this movement segment.
|
|
263
|
-
"""
|
|
264
|
-
|
|
265
|
-
def __init__(self, point: ActionPoint, offset: MoveOffset, duration: int):
|
|
266
|
-
"""
|
|
267
|
-
Initializes a MovePart instance.
|
|
268
|
-
|
|
269
|
-
Args:
|
|
270
|
-
point (ActionPoint): The target point of the segment.
|
|
271
|
-
offset (MoveOffset): The movement offset for the segment.
|
|
272
|
-
duration (int): The duration of the segment.
|
|
273
|
-
"""
|
|
274
|
-
|
|
275
|
-
self.point: ActionPoint = point
|
|
276
|
-
self.offset: MoveOffset = offset
|
|
277
|
-
self.duration: int = duration
|
|
278
|
-
|
|
279
|
-
def __repr__(self) -> str:
|
|
280
|
-
"""Returns a string representation suitable for debugging."""
|
|
281
|
-
|
|
282
|
-
return self.__str__()
|
|
283
|
-
|
|
284
|
-
def __str__(self) -> str:
|
|
285
|
-
"""Returns a user-friendly string representation."""
|
|
286
|
-
|
|
287
|
-
return f"MovePart(point={self.point}, offset={self.offset}, duration={self.duration})"
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
class JS_Scripts(TypedDict):
|
|
291
|
-
"""
|
|
292
|
-
Type definition for a collection of JavaScript script snippets.
|
|
293
|
-
|
|
294
|
-
This TypedDict defines the structure for storing a collection of JavaScript snippets as strings.
|
|
295
|
-
It is used to organize and access various JavaScript functionalities intended to be executed
|
|
296
|
-
within a browser context, typically via Selenium WebDriver's `execute_script` method.
|
|
297
|
-
|
|
298
|
-
Attributes:
|
|
299
|
-
check_element_in_viewport (str): JavaScript code to check if an element is fully within the current browser viewport. Expects the element as arguments[0].
|
|
300
|
-
get_document_scroll_size (str): JavaScript code to retrieve the total scrollable width and height of the document.
|
|
301
|
-
get_element_css (str): JavaScript code to retrieve all computed CSS style properties of a DOM element. Expects the element as arguments[0].
|
|
302
|
-
get_element_rect_in_viewport (str): JavaScript code to get the bounding rectangle (position and dimensions) of an element relative to the viewport. Expects the element as arguments[0].
|
|
303
|
-
get_random_element_point_in_viewport (str): JavaScript code to calculate a random point (x, y coordinates) within the visible portion of a given element in the viewport. Expects the element as arguments[0].
|
|
304
|
-
get_viewport_position (str): JavaScript code to get the current scroll position (X and Y offsets) of the viewport.
|
|
305
|
-
get_viewport_rect (str): JavaScript code to get the viewport's position (scroll offsets) and dimensions (width, height).
|
|
306
|
-
get_viewport_size (str): JavaScript code to get the current dimensions (width and height) of the viewport.
|
|
307
|
-
stop_window_loading (str): JavaScript code to stop the current window's page loading process (`window.stop()`).
|
|
308
|
-
open_new_tab (str): JavaScript code to open a new browser tab/window using `window.open()`. Expects an optional URL as arguments[0].
|
|
309
|
-
"""
|
|
310
|
-
|
|
311
|
-
check_element_in_viewport: str
|
|
312
|
-
get_document_scroll_size: str
|
|
313
|
-
get_element_css: str
|
|
314
|
-
get_element_rect_in_viewport: str
|
|
315
|
-
get_random_element_point_in_viewport: str
|
|
316
|
-
get_viewport_position: str
|
|
317
|
-
get_viewport_rect: str
|
|
318
|
-
get_viewport_size: str
|
|
319
|
-
stop_window_loading: str
|
|
320
|
-
open_new_tab: str
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
class FlagDefinition(TypedDict):
|
|
324
|
-
"""
|
|
325
|
-
Defines the structure for a single browser flag or option.
|
|
326
|
-
|
|
327
|
-
Attributes:
|
|
328
|
-
name (str): The internal name of the flag (e.g., "headless_mode").
|
|
329
|
-
command (str): The command-line argument string or option key used by WebDriver
|
|
330
|
-
(e.g., "--headless", "debuggerAddress").
|
|
331
|
-
type (Literal["argument", "experimental_option", "attribute", "blink_feature"]):
|
|
332
|
-
The category of the flag (e.g., command-line argument, experimental option).
|
|
333
|
-
mode (Literal["webdriver_option", "startup_argument", "both"]):
|
|
334
|
-
Indicates how the flag is applied:
|
|
335
|
-
- "webdriver_option": Applied via Selenium's Options object.
|
|
336
|
-
- "startup_argument": Applied as a command-line argument when launching the browser process.
|
|
337
|
-
- "both": Applied in both ways.
|
|
338
|
-
adding_validation_function (Callable[[Any], bool]): A callable that validates the value
|
|
339
|
-
before the flag is added. Returns True if valid, False otherwise.
|
|
340
|
-
"""
|
|
341
|
-
|
|
342
|
-
name: str
|
|
343
|
-
command: str
|
|
344
|
-
type: Literal["argument", "experimental_option", "attribute", "blink_feature"]
|
|
345
|
-
mode: Literal["webdriver_option", "startup_argument", "both"]
|
|
346
|
-
adding_validation_function: Callable[[Any], bool]
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
class FlagType(TypedDict):
|
|
350
|
-
"""
|
|
351
|
-
Defines the callable interfaces for managing different types of browser flags.
|
|
352
|
-
|
|
353
|
-
Attributes:
|
|
354
|
-
set_flag_function (Callable[[FlagDefinition, Any], None]): Function to set a single flag.
|
|
355
|
-
remove_flag_function (Callable[[str], None]): Function to remove a flag by its name.
|
|
356
|
-
set_flags_function (Callable[[dict[str, Any]], None]): Function to set a dictionary of flags, overwriting existing ones.
|
|
357
|
-
update_flags_function (Callable[[dict[str, Any]], None]): Function to update a dictionary of flags, merging with existing ones.
|
|
358
|
-
clear_flags_function (Callable[..., None]): Function to clear all flags of this type.
|
|
359
|
-
build_options_function (Callable[[Any], Any]): Function to build WebDriver options for this flag type.
|
|
360
|
-
build_start_args_function (Callable[..., list[str]]): Function to build startup arguments for this flag type.
|
|
361
|
-
"""
|
|
362
|
-
|
|
363
|
-
set_flag_function: Callable[[FlagDefinition, Any], None]
|
|
364
|
-
remove_flag_function: Callable[[str], None]
|
|
365
|
-
set_flags_function: Callable[[dict[str, Any]], None]
|
|
366
|
-
update_flags_function: Callable[[dict[str, Any]], None]
|
|
367
|
-
clear_flags_function: Callable[..., None]
|
|
368
|
-
build_options_function: Callable[["_any_webdriver_option_type"], "_any_webdriver_option_type"]
|
|
369
|
-
build_start_args_function: Callable[..., list[str]]
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
class FlagNotDefined:
|
|
373
|
-
"""A sentinel class to indicate that a flag definition was not found."""
|
|
374
|
-
|
|
375
|
-
pass
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
AutoplayPolicyType = Literal["user-gesture-required", "no-user-gesture-required"]
|
|
379
|
-
ValidAutoplayPolicies = ["user-gesture-required", "no-user-gesture-required"]
|
|
380
|
-
LogLevelType = Literal[0, 1, 2, 3]
|
|
381
|
-
ValidLogLevels = [0, 1, 2, 3]
|
|
382
|
-
UseGLType = Literal["desktop", "egl", "swiftshader"]
|
|
383
|
-
ValidUseGLs = ["desktop", "egl", "swiftshader"]
|
|
384
|
-
_any_flags_mapping = Mapping[str, Any]
|
|
385
|
-
_any_webdriver_option_type = Union[
|
|
386
|
-
webdriver.ChromeOptions,
|
|
387
|
-
webdriver.EdgeOptions,
|
|
388
|
-
webdriver.FirefoxOptions
|
|
389
|
-
]
|
|
390
|
-
_blink_webdriver_option_type = Union[webdriver.ChromeOptions, webdriver.EdgeOptions]
|