osn-selenium 1.0.0__py3-none-any.whl → 1.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- osn_selenium/_base_models.py +41 -0
- osn_selenium/_cdp_import.py +253 -0
- osn_selenium/_decorators.py +57 -0
- osn_selenium/_trio_threads_helpers.py +157 -0
- osn_selenium/_typehints.py +1 -1
- osn_selenium/abstract/executors/cdp.py +63 -0
- osn_selenium/abstract/webdriver/blink/base.py +14 -0
- osn_selenium/abstract/webdriver/blink/lifecycle.py +8 -8
- osn_selenium/abstract/webdriver/core/base.py +0 -14
- osn_selenium/abstract/webdriver/core/capture.py +4 -3
- osn_selenium/abstract/webdriver/core/lifecycle.py +8 -8
- osn_selenium/abstract/webdriver/core/script.py +5 -4
- osn_selenium/abstract/webdriver/core/window.py +11 -11
- osn_selenium/browsers_handler/models.py +1 -1
- osn_selenium/dev_tools/_decorators.py +19 -51
- osn_selenium/dev_tools/_functions.py +2 -4
- osn_selenium/dev_tools/_typehints.py +5 -2
- osn_selenium/dev_tools/_wrappers.py +0 -3
- osn_selenium/dev_tools/domains/__init__.py +2 -2
- osn_selenium/dev_tools/domains/abstract.py +1 -1
- osn_selenium/dev_tools/domains/fetch.py +6 -8
- osn_selenium/dev_tools/domains_default/fetch.py +2 -2
- osn_selenium/dev_tools/filters.py +1 -1
- osn_selenium/dev_tools/logger/main.py +9 -21
- osn_selenium/dev_tools/logger/models.py +1 -1
- osn_selenium/dev_tools/logger/target.py +49 -29
- osn_selenium/dev_tools/manager/base.py +10 -42
- osn_selenium/dev_tools/manager/lifecycle.py +84 -75
- osn_selenium/dev_tools/manager/logging.py +1 -1
- osn_selenium/dev_tools/manager/targets.py +13 -5
- osn_selenium/dev_tools/models.py +1 -1
- osn_selenium/dev_tools/settings.py +9 -5
- osn_selenium/dev_tools/target/base.py +30 -34
- osn_selenium/dev_tools/target/discovery.py +1 -1
- osn_selenium/dev_tools/target/events.py +2 -2
- osn_selenium/dev_tools/target/fingerprint.py +1 -1
- osn_selenium/dev_tools/target/lifecycle.py +103 -38
- osn_selenium/dev_tools/target/logging.py +11 -3
- osn_selenium/exceptions/__init__.py +0 -1
- osn_selenium/exceptions/base.py +28 -1
- osn_selenium/exceptions/bidi_bridge.py +59 -0
- osn_selenium/exceptions/configuration.py +1 -8
- osn_selenium/exceptions/dependencies.py +60 -0
- osn_selenium/exceptions/devtools.py +9 -39
- osn_selenium/exceptions/experimental.py +26 -0
- osn_selenium/exceptions/flags.py +0 -2
- osn_selenium/exceptions/instance.py +1 -9
- osn_selenium/exceptions/javascript.py +0 -2
- osn_selenium/exceptions/logic.py +0 -2
- osn_selenium/exceptions/path.py +1 -9
- osn_selenium/exceptions/platform.py +0 -2
- osn_selenium/exceptions/protocol.py +0 -3
- osn_selenium/exceptions/webdriver.py +1 -7
- osn_selenium/exceptions/window.py +1 -8
- osn_selenium/executors/sync/cdp.py +95 -0
- osn_selenium/executors/trio_bidi/cdp.py +101 -0
- osn_selenium/executors/trio_bidi/javascript.py +101 -0
- osn_selenium/executors/trio_threads/cdp.py +99 -0
- osn_selenium/executors/trio_threads/javascript.py +1 -1
- osn_selenium/executors/unified/javascript.py +0 -4
- osn_selenium/flags/base.py +7 -13
- osn_selenium/flags/blink.py +2 -8
- osn_selenium/flags/chrome.py +6 -6
- osn_selenium/flags/edge.py +6 -6
- osn_selenium/flags/models/base.py +4 -4
- osn_selenium/flags/models/blink.py +1 -1
- osn_selenium/flags/models/values.py +1 -1
- osn_selenium/instances/convert.py +44 -3
- osn_selenium/instances/protocols.py +47 -1
- osn_selenium/instances/sync/action_chains/__init__.py +6 -0
- osn_selenium/instances/sync/browsing_context.py +2 -2
- osn_selenium/instances/sync/script.py +7 -2
- osn_selenium/instances/sync/shadow_root.py +30 -8
- osn_selenium/instances/sync/web_element.py +1 -1
- osn_selenium/instances/trio_bidi/__init__.py +1 -0
- osn_selenium/instances/trio_bidi/shadow_root.py +180 -0
- osn_selenium/instances/trio_bidi/switch_to.py +143 -0
- osn_selenium/instances/trio_bidi/web_driver_wait.py +124 -0
- osn_selenium/instances/trio_bidi/web_element.py +239 -0
- osn_selenium/instances/trio_threads/action_chains/__init__.py +6 -0
- osn_selenium/instances/trio_threads/action_chains/base.py +1 -1
- osn_selenium/instances/trio_threads/alert.py +1 -1
- osn_selenium/instances/trio_threads/browser.py +1 -1
- osn_selenium/instances/trio_threads/browsing_context.py +3 -3
- osn_selenium/instances/trio_threads/dialog.py +1 -1
- osn_selenium/instances/trio_threads/fedcm.py +1 -1
- osn_selenium/instances/trio_threads/mobile.py +1 -1
- osn_selenium/instances/trio_threads/network.py +1 -1
- osn_selenium/instances/trio_threads/permissions.py +1 -1
- osn_selenium/instances/trio_threads/script.py +8 -3
- osn_selenium/instances/trio_threads/shadow_root.py +46 -15
- osn_selenium/instances/trio_threads/storage.py +1 -1
- osn_selenium/instances/trio_threads/switch_to.py +1 -1
- osn_selenium/instances/trio_threads/web_driver_wait.py +1 -1
- osn_selenium/instances/trio_threads/web_element.py +1 -1
- osn_selenium/instances/trio_threads/web_extension.py +1 -1
- osn_selenium/instances/unified/browsing_context.py +2 -2
- osn_selenium/instances/unified/script.py +2 -2
- osn_selenium/instances/unified/web_element.py +3 -5
- osn_selenium/javascript/fingerprint/__init__.py +3 -2
- osn_selenium/javascript/fingerprint/registry/models.py +1 -1
- osn_selenium/javascript/fingerprint/spoof/core_rules.py +1 -1
- osn_selenium/javascript/fingerprint/spoof/noise.py +1 -1
- osn_selenium/javascript/models.py +1 -1
- osn_selenium/models.py +2 -47
- osn_selenium/trio_bidi/__init__.py +1 -0
- osn_selenium/trio_bidi/_context_vars.py +12 -0
- osn_selenium/trio_bidi/_error_mappings.py +123 -0
- osn_selenium/trio_bidi/_error_redirects.py +194 -0
- osn_selenium/trio_bidi/_file_functions.py +28 -0
- osn_selenium/trio_bidi/_internal_mappings.py +10 -0
- osn_selenium/trio_bidi/_models.py +199 -0
- osn_selenium/trio_bidi/_typehints.py +20 -0
- osn_selenium/trio_bidi/connection_pool.py +587 -0
- osn_selenium/trio_bidi/mapping/__init__.py +1 -0
- osn_selenium/trio_bidi/mapping/_constants.py +14 -0
- osn_selenium/trio_bidi/mapping/_js_snippets.py +285 -0
- osn_selenium/trio_bidi/mapping/_utils.py +4 -0
- osn_selenium/trio_bidi/mapping/request_functions/__init__.py +87 -0
- osn_selenium/trio_bidi/mapping/request_functions/_alert.py +102 -0
- osn_selenium/trio_bidi/mapping/request_functions/_args_helpers.py +225 -0
- osn_selenium/trio_bidi/mapping/request_functions/_capture.py +71 -0
- osn_selenium/trio_bidi/mapping/request_functions/_cdp.py +40 -0
- osn_selenium/trio_bidi/mapping/request_functions/_element.py +55 -0
- osn_selenium/trio_bidi/mapping/request_functions/_file.py +32 -0
- osn_selenium/trio_bidi/mapping/request_functions/_navigation.py +147 -0
- osn_selenium/trio_bidi/mapping/request_functions/_script.py +85 -0
- osn_selenium/trio_bidi/mapping/request_functions/_shadow_root.py +65 -0
- osn_selenium/trio_bidi/mapping/request_functions/_switch_to.py +59 -0
- osn_selenium/trio_bidi/mapping/request_functions/_web_element.py +448 -0
- osn_selenium/trio_bidi/mapping/request_functions/_window.py +125 -0
- osn_selenium/trio_bidi/mapping/response_functions/__init__.py +86 -0
- osn_selenium/trio_bidi/mapping/response_functions/_alert.py +81 -0
- osn_selenium/trio_bidi/mapping/response_functions/_args_helpers.py +183 -0
- osn_selenium/trio_bidi/mapping/response_functions/_args_validators.py +153 -0
- osn_selenium/trio_bidi/mapping/response_functions/_capture.py +71 -0
- osn_selenium/trio_bidi/mapping/response_functions/_cdp.py +26 -0
- osn_selenium/trio_bidi/mapping/response_functions/_element.py +58 -0
- osn_selenium/trio_bidi/mapping/response_functions/_file.py +30 -0
- osn_selenium/trio_bidi/mapping/response_functions/_navigation.py +120 -0
- osn_selenium/trio_bidi/mapping/response_functions/_script.py +57 -0
- osn_selenium/trio_bidi/mapping/response_functions/_shadow_root.py +58 -0
- osn_selenium/trio_bidi/mapping/response_functions/_switch_to.py +57 -0
- osn_selenium/trio_bidi/mapping/response_functions/_web_element.py +368 -0
- osn_selenium/trio_bidi/mapping/response_functions/_window.py +119 -0
- osn_selenium/trio_bidi/mixin.py +186 -0
- osn_selenium/trio_bidi/remote_connection.py +164 -0
- osn_selenium/{base_mixin.py → trio_threads_mixin.py} +31 -40
- osn_selenium/webdrivers/_args_helpers.py +120 -7
- osn_selenium/webdrivers/_bridges.py +2 -2
- osn_selenium/webdrivers/_executable_tables/models.py +1 -1
- osn_selenium/webdrivers/_typehints.py +9 -3
- osn_selenium/webdrivers/protocols.py +81 -1
- osn_selenium/webdrivers/sync/blink/__init__.py +11 -1
- osn_selenium/webdrivers/sync/blink/base.py +23 -1
- osn_selenium/webdrivers/sync/blink/lifecycle.py +26 -8
- osn_selenium/webdrivers/sync/chrome/__init__.py +36 -1
- osn_selenium/webdrivers/sync/chrome/base.py +13 -1
- osn_selenium/webdrivers/sync/chrome/lifecycle.py +23 -5
- osn_selenium/webdrivers/sync/chrome/settings.py +6 -1
- osn_selenium/webdrivers/sync/core/__init__.py +10 -1
- osn_selenium/webdrivers/sync/core/base.py +18 -18
- osn_selenium/webdrivers/sync/core/capture.py +3 -2
- osn_selenium/webdrivers/sync/core/file.py +3 -2
- osn_selenium/webdrivers/sync/core/lifecycle.py +44 -10
- osn_selenium/webdrivers/sync/core/script.py +3 -2
- osn_selenium/webdrivers/sync/core/window.py +3 -3
- osn_selenium/webdrivers/sync/edge/__init__.py +36 -1
- osn_selenium/webdrivers/sync/edge/base.py +13 -1
- osn_selenium/webdrivers/sync/edge/lifecycle.py +23 -5
- osn_selenium/webdrivers/sync/edge/settings.py +6 -1
- osn_selenium/webdrivers/sync/yandex/__init__.py +36 -1
- osn_selenium/webdrivers/sync/yandex/base.py +13 -1
- osn_selenium/webdrivers/sync/yandex/lifecycle.py +23 -5
- osn_selenium/webdrivers/sync/yandex/settings.py +6 -1
- osn_selenium/webdrivers/trio_bidi/__init__.py +1 -0
- osn_selenium/webdrivers/trio_bidi/blink/__init__.py +132 -0
- osn_selenium/webdrivers/trio_bidi/blink/base.py +167 -0
- osn_selenium/webdrivers/trio_bidi/blink/lifecycle.py +89 -0
- osn_selenium/webdrivers/trio_bidi/blink/settings.py +63 -0
- osn_selenium/webdrivers/trio_bidi/chrome/__init__.py +114 -0
- osn_selenium/webdrivers/trio_bidi/chrome/base.py +127 -0
- osn_selenium/webdrivers/trio_bidi/chrome/lifecycle.py +85 -0
- osn_selenium/webdrivers/trio_bidi/chrome/settings.py +63 -0
- osn_selenium/webdrivers/trio_bidi/core/__init__.py +95 -0
- osn_selenium/webdrivers/trio_bidi/core/actions.py +70 -0
- osn_selenium/webdrivers/trio_bidi/core/base.py +200 -0
- osn_selenium/webdrivers/trio_bidi/core/capture.py +39 -0
- osn_selenium/webdrivers/trio_bidi/core/devtools.py +49 -0
- osn_selenium/webdrivers/trio_bidi/core/element.py +64 -0
- osn_selenium/webdrivers/trio_bidi/core/lifecycle.py +135 -0
- osn_selenium/webdrivers/trio_bidi/core/navigation.py +37 -0
- osn_selenium/webdrivers/trio_bidi/core/script.py +56 -0
- osn_selenium/webdrivers/trio_bidi/core/settings.py +36 -0
- osn_selenium/webdrivers/trio_bidi/core/window.py +134 -0
- osn_selenium/webdrivers/trio_bidi/edge/__init__.py +114 -0
- osn_selenium/webdrivers/trio_bidi/edge/base.py +123 -0
- osn_selenium/webdrivers/trio_bidi/edge/lifecycle.py +85 -0
- osn_selenium/webdrivers/trio_bidi/edge/settings.py +63 -0
- osn_selenium/webdrivers/trio_bidi/yandex/__init__.py +114 -0
- osn_selenium/webdrivers/trio_bidi/yandex/base.py +120 -0
- osn_selenium/webdrivers/trio_bidi/yandex/lifecycle.py +85 -0
- osn_selenium/webdrivers/trio_bidi/yandex/settings.py +63 -0
- osn_selenium/webdrivers/trio_threads/blink/__init__.py +18 -2
- osn_selenium/webdrivers/trio_threads/blink/base.py +25 -1
- osn_selenium/webdrivers/trio_threads/blink/casting.py +1 -1
- osn_selenium/webdrivers/trio_threads/blink/features.py +1 -1
- osn_selenium/webdrivers/trio_threads/blink/lifecycle.py +26 -8
- osn_selenium/webdrivers/trio_threads/blink/logging.py +1 -1
- osn_selenium/webdrivers/trio_threads/blink/network.py +1 -1
- osn_selenium/webdrivers/trio_threads/chrome/__init__.py +34 -1
- osn_selenium/webdrivers/trio_threads/chrome/base.py +14 -2
- osn_selenium/webdrivers/trio_threads/chrome/lifecycle.py +23 -5
- osn_selenium/webdrivers/trio_threads/chrome/settings.py +1 -1
- osn_selenium/webdrivers/trio_threads/core/__init__.py +10 -14
- osn_selenium/webdrivers/trio_threads/core/actions.py +1 -1
- osn_selenium/webdrivers/trio_threads/core/auth.py +1 -1
- osn_selenium/webdrivers/trio_threads/core/base.py +18 -22
- osn_selenium/webdrivers/trio_threads/core/capture.py +4 -3
- osn_selenium/webdrivers/trio_threads/core/comonents.py +1 -1
- osn_selenium/webdrivers/trio_threads/core/devtools.py +1 -1
- osn_selenium/webdrivers/trio_threads/core/element.py +1 -1
- osn_selenium/webdrivers/trio_threads/core/file.py +5 -4
- osn_selenium/webdrivers/trio_threads/core/lifecycle.py +45 -11
- osn_selenium/webdrivers/trio_threads/core/navigation.py +1 -1
- osn_selenium/webdrivers/trio_threads/core/script.py +4 -3
- osn_selenium/webdrivers/trio_threads/core/settings.py +1 -1
- osn_selenium/webdrivers/trio_threads/core/storage.py +1 -1
- osn_selenium/webdrivers/trio_threads/core/timeouts.py +1 -1
- osn_selenium/webdrivers/trio_threads/core/window.py +6 -6
- osn_selenium/webdrivers/trio_threads/edge/__init__.py +34 -1
- osn_selenium/webdrivers/trio_threads/edge/base.py +14 -2
- osn_selenium/webdrivers/trio_threads/edge/lifecycle.py +23 -5
- osn_selenium/webdrivers/trio_threads/edge/settings.py +1 -1
- osn_selenium/webdrivers/trio_threads/yandex/__init__.py +34 -1
- osn_selenium/webdrivers/trio_threads/yandex/base.py +14 -2
- osn_selenium/webdrivers/trio_threads/yandex/lifecycle.py +23 -5
- osn_selenium/webdrivers/trio_threads/yandex/settings.py +1 -1
- osn_selenium/webdrivers/unified/blink/base.py +9 -1
- osn_selenium/webdrivers/unified/blink/lifecycle.py +4 -2
- osn_selenium/webdrivers/unified/chrome/base.py +9 -1
- osn_selenium/webdrivers/unified/core/auth.py +4 -2
- osn_selenium/webdrivers/unified/core/base.py +19 -6
- osn_selenium/webdrivers/unified/core/capture.py +3 -2
- osn_selenium/webdrivers/unified/core/components.py +12 -7
- osn_selenium/webdrivers/unified/core/devtools.py +2 -1
- osn_selenium/webdrivers/unified/core/file.py +3 -2
- osn_selenium/webdrivers/unified/core/lifecycle.py +5 -3
- osn_selenium/webdrivers/unified/core/script.py +5 -3
- osn_selenium/webdrivers/unified/core/storage.py +2 -1
- osn_selenium/webdrivers/unified/core/window.py +9 -8
- osn_selenium/webdrivers/unified/edge/base.py +9 -1
- osn_selenium/webdrivers/unified/yandex/base.py +9 -1
- {osn_selenium-1.0.0.dist-info → osn_selenium-1.2.0.dist-info}/METADATA +24 -10
- osn_selenium-1.2.0.dist-info/RECORD +480 -0
- {osn_selenium-1.0.0.dist-info → osn_selenium-1.2.0.dist-info}/WHEEL +1 -1
- osn_selenium/abstract/executors/cdp/__init__.py +0 -435
- osn_selenium/abstract/executors/cdp/accessibility.py +0 -62
- osn_selenium/abstract/executors/cdp/animation.py +0 -47
- osn_selenium/abstract/executors/cdp/audits.py +0 -39
- osn_selenium/abstract/executors/cdp/autofill.py +0 -34
- osn_selenium/abstract/executors/cdp/background_service.py +0 -22
- osn_selenium/abstract/executors/cdp/bluetooth_emulation.py +0 -95
- osn_selenium/abstract/executors/cdp/browser.py +0 -122
- osn_selenium/abstract/executors/cdp/cache_storage.py +0 -49
- osn_selenium/abstract/executors/cdp/cast.py +0 -31
- osn_selenium/abstract/executors/cdp/console.py +0 -18
- osn_selenium/abstract/executors/cdp/css.py +0 -197
- osn_selenium/abstract/executors/cdp/debugger.py +0 -198
- osn_selenium/abstract/executors/cdp/device_access.py +0 -22
- osn_selenium/abstract/executors/cdp/device_orientation.py +0 -14
- osn_selenium/abstract/executors/cdp/dom.py +0 -305
- osn_selenium/abstract/executors/cdp/dom_debugger.py +0 -57
- osn_selenium/abstract/executors/cdp/dom_snapshot.py +0 -42
- osn_selenium/abstract/executors/cdp/dom_storage.py +0 -31
- osn_selenium/abstract/executors/cdp/emulation.py +0 -259
- osn_selenium/abstract/executors/cdp/event_breakpoints.py +0 -18
- osn_selenium/abstract/executors/cdp/extensions.py +0 -31
- osn_selenium/abstract/executors/cdp/fed_cm.py +0 -35
- osn_selenium/abstract/executors/cdp/fetch.py +0 -76
- osn_selenium/abstract/executors/cdp/file_system.py +0 -11
- osn_selenium/abstract/executors/cdp/headless_experimental.py +0 -30
- osn_selenium/abstract/executors/cdp/heap_profiler.py +0 -73
- osn_selenium/abstract/executors/cdp/indexed_db.py +0 -99
- osn_selenium/abstract/executors/cdp/input.py +0 -158
- osn_selenium/abstract/executors/cdp/inspector.py +0 -14
- osn_selenium/abstract/executors/cdp/io.py +0 -24
- osn_selenium/abstract/executors/cdp/layer_tree.py +0 -61
- osn_selenium/abstract/executors/cdp/log.py +0 -27
- osn_selenium/abstract/executors/cdp/media.py +0 -14
- osn_selenium/abstract/executors/cdp/memory.py +0 -61
- osn_selenium/abstract/executors/cdp/network.py +0 -252
- osn_selenium/abstract/executors/cdp/overlay.py +0 -166
- osn_selenium/abstract/executors/cdp/page.py +0 -347
- osn_selenium/abstract/executors/cdp/performance.py +0 -28
- osn_selenium/abstract/executors/cdp/performance_timeline.py +0 -11
- osn_selenium/abstract/executors/cdp/preload.py +0 -14
- osn_selenium/abstract/executors/cdp/profiler.py +0 -54
- osn_selenium/abstract/executors/cdp/pwa.py +0 -46
- osn_selenium/abstract/executors/cdp/runtime.py +0 -176
- osn_selenium/abstract/executors/cdp/schema.py +0 -11
- osn_selenium/abstract/executors/cdp/security.py +0 -26
- osn_selenium/abstract/executors/cdp/service_worker.py +0 -54
- osn_selenium/abstract/executors/cdp/storage.py +0 -175
- osn_selenium/abstract/executors/cdp/system_info.py +0 -24
- osn_selenium/abstract/executors/cdp/target.py +0 -125
- osn_selenium/abstract/executors/cdp/tethering.py +0 -14
- osn_selenium/abstract/executors/cdp/tracing.py +0 -48
- osn_selenium/abstract/executors/cdp/web_audio.py +0 -19
- osn_selenium/abstract/executors/cdp/web_authn.py +0 -76
- osn_selenium/executors/sync/cdp/__init__.py +0 -550
- osn_selenium/executors/sync/cdp/accessibility.py +0 -74
- osn_selenium/executors/sync/cdp/animation.py +0 -50
- osn_selenium/executors/sync/cdp/audits.py +0 -48
- osn_selenium/executors/sync/cdp/autofill.py +0 -39
- osn_selenium/executors/sync/cdp/background_service.py +0 -30
- osn_selenium/executors/sync/cdp/bluetooth_emulation.py +0 -101
- osn_selenium/executors/sync/cdp/browser.py +0 -131
- osn_selenium/executors/sync/cdp/cache_storage.py +0 -66
- osn_selenium/executors/sync/cdp/cast.py +0 -38
- osn_selenium/executors/sync/cdp/console.py +0 -24
- osn_selenium/executors/sync/cdp/css.py +0 -187
- osn_selenium/executors/sync/cdp/debugger.py +0 -206
- osn_selenium/executors/sync/cdp/device_access.py +0 -27
- osn_selenium/executors/sync/cdp/device_orientation.py +0 -24
- osn_selenium/executors/sync/cdp/dom.py +0 -310
- osn_selenium/executors/sync/cdp/dom_debugger.py +0 -56
- osn_selenium/executors/sync/cdp/dom_snapshot.py +0 -58
- osn_selenium/executors/sync/cdp/dom_storage.py +0 -38
- osn_selenium/executors/sync/cdp/emulation.py +0 -270
- osn_selenium/executors/sync/cdp/event_breakpoints.py +0 -27
- osn_selenium/executors/sync/cdp/extensions.py +0 -39
- osn_selenium/executors/sync/cdp/fed_cm.py +0 -45
- osn_selenium/executors/sync/cdp/fetch.py +0 -96
- osn_selenium/executors/sync/cdp/file_system.py +0 -18
- osn_selenium/executors/sync/cdp/headless_experimental.py +0 -44
- osn_selenium/executors/sync/cdp/heap_profiler.py +0 -89
- osn_selenium/executors/sync/cdp/indexed_db.py +0 -142
- osn_selenium/executors/sync/cdp/input.py +0 -233
- osn_selenium/executors/sync/cdp/inspector.py +0 -21
- osn_selenium/executors/sync/cdp/io.py +0 -33
- osn_selenium/executors/sync/cdp/layer_tree.py +0 -71
- osn_selenium/executors/sync/cdp/log.py +0 -35
- osn_selenium/executors/sync/cdp/media.py +0 -21
- osn_selenium/executors/sync/cdp/memory.py +0 -62
- osn_selenium/executors/sync/cdp/network.py +0 -287
- osn_selenium/executors/sync/cdp/overlay.py +0 -174
- osn_selenium/executors/sync/cdp/page.py +0 -365
- osn_selenium/executors/sync/cdp/performance.py +0 -33
- osn_selenium/executors/sync/cdp/performance_timeline.py +0 -26
- osn_selenium/executors/sync/cdp/preload.py +0 -21
- osn_selenium/executors/sync/cdp/profiler.py +0 -58
- osn_selenium/executors/sync/cdp/pwa.py +0 -55
- osn_selenium/executors/sync/cdp/runtime.py +0 -221
- osn_selenium/executors/sync/cdp/schema.py +0 -23
- osn_selenium/executors/sync/cdp/security.py +0 -30
- osn_selenium/executors/sync/cdp/service_worker.py +0 -56
- osn_selenium/executors/sync/cdp/storage.py +0 -151
- osn_selenium/executors/sync/cdp/system_info.py +0 -30
- osn_selenium/executors/sync/cdp/target.py +0 -147
- osn_selenium/executors/sync/cdp/tethering.py +0 -21
- osn_selenium/executors/sync/cdp/tracing.py +0 -62
- osn_selenium/executors/sync/cdp/web_audio.py +0 -24
- osn_selenium/executors/sync/cdp/web_authn.py +0 -82
- osn_selenium/executors/trio_threads/cdp/__init__.py +0 -771
- osn_selenium/executors/trio_threads/cdp/accessibility.py +0 -87
- osn_selenium/executors/trio_threads/cdp/animation.py +0 -63
- osn_selenium/executors/trio_threads/cdp/audits.py +0 -57
- osn_selenium/executors/trio_threads/cdp/autofill.py +0 -52
- osn_selenium/executors/trio_threads/cdp/background_service.py +0 -40
- osn_selenium/executors/trio_threads/cdp/bluetooth_emulation.py +0 -111
- osn_selenium/executors/trio_threads/cdp/browser.py +0 -140
- osn_selenium/executors/trio_threads/cdp/cache_storage.py +0 -79
- osn_selenium/executors/trio_threads/cdp/cast.py +0 -47
- osn_selenium/executors/trio_threads/cdp/console.py +0 -33
- osn_selenium/executors/trio_threads/cdp/css.py +0 -196
- osn_selenium/executors/trio_threads/cdp/debugger.py +0 -219
- osn_selenium/executors/trio_threads/cdp/device_access.py +0 -40
- osn_selenium/executors/trio_threads/cdp/device_orientation.py +0 -34
- osn_selenium/executors/trio_threads/cdp/dom.py +0 -319
- osn_selenium/executors/trio_threads/cdp/dom_debugger.py +0 -69
- osn_selenium/executors/trio_threads/cdp/dom_snapshot.py +0 -71
- osn_selenium/executors/trio_threads/cdp/dom_storage.py +0 -51
- osn_selenium/executors/trio_threads/cdp/emulation.py +0 -283
- osn_selenium/executors/trio_threads/cdp/event_breakpoints.py +0 -37
- osn_selenium/executors/trio_threads/cdp/extensions.py +0 -52
- osn_selenium/executors/trio_threads/cdp/fed_cm.py +0 -54
- osn_selenium/executors/trio_threads/cdp/fetch.py +0 -105
- osn_selenium/executors/trio_threads/cdp/file_system.py +0 -31
- osn_selenium/executors/trio_threads/cdp/headless_experimental.py +0 -54
- osn_selenium/executors/trio_threads/cdp/heap_profiler.py +0 -102
- osn_selenium/executors/trio_threads/cdp/indexed_db.py +0 -155
- osn_selenium/executors/trio_threads/cdp/input.py +0 -242
- osn_selenium/executors/trio_threads/cdp/inspector.py +0 -34
- osn_selenium/executors/trio_threads/cdp/io.py +0 -42
- osn_selenium/executors/trio_threads/cdp/layer_tree.py +0 -84
- osn_selenium/executors/trio_threads/cdp/log.py +0 -44
- osn_selenium/executors/trio_threads/cdp/media.py +0 -30
- osn_selenium/executors/trio_threads/cdp/memory.py +0 -71
- osn_selenium/executors/trio_threads/cdp/network.py +0 -296
- osn_selenium/executors/trio_threads/cdp/overlay.py +0 -183
- osn_selenium/executors/trio_threads/cdp/page.py +0 -374
- osn_selenium/executors/trio_threads/cdp/performance.py +0 -46
- osn_selenium/executors/trio_threads/cdp/performance_timeline.py +0 -36
- osn_selenium/executors/trio_threads/cdp/preload.py +0 -30
- osn_selenium/executors/trio_threads/cdp/profiler.py +0 -71
- osn_selenium/executors/trio_threads/cdp/pwa.py +0 -64
- osn_selenium/executors/trio_threads/cdp/runtime.py +0 -230
- osn_selenium/executors/trio_threads/cdp/schema.py +0 -32
- osn_selenium/executors/trio_threads/cdp/security.py +0 -43
- osn_selenium/executors/trio_threads/cdp/service_worker.py +0 -69
- osn_selenium/executors/trio_threads/cdp/storage.py +0 -162
- osn_selenium/executors/trio_threads/cdp/system_info.py +0 -43
- osn_selenium/executors/trio_threads/cdp/target.py +0 -156
- osn_selenium/executors/trio_threads/cdp/tethering.py +0 -34
- osn_selenium/executors/trio_threads/cdp/tracing.py +0 -71
- osn_selenium/executors/trio_threads/cdp/web_audio.py +0 -37
- osn_selenium/executors/trio_threads/cdp/web_authn.py +0 -95
- osn_selenium/executors/unified/cdp/accessibility.py +0 -81
- osn_selenium/executors/unified/cdp/animation.py +0 -50
- osn_selenium/executors/unified/cdp/audits.py +0 -45
- osn_selenium/executors/unified/cdp/autofill.py +0 -41
- osn_selenium/executors/unified/cdp/background_service.py +0 -24
- osn_selenium/executors/unified/cdp/bluetooth_emulation.py +0 -132
- osn_selenium/executors/unified/cdp/browser.py +0 -143
- osn_selenium/executors/unified/cdp/cache_storage.py +0 -69
- osn_selenium/executors/unified/cdp/cast.py +0 -32
- osn_selenium/executors/unified/cdp/console.py +0 -18
- osn_selenium/executors/unified/cdp/css.py +0 -237
- osn_selenium/executors/unified/cdp/debugger.py +0 -243
- osn_selenium/executors/unified/cdp/device_access.py +0 -21
- osn_selenium/executors/unified/cdp/device_orientation.py +0 -18
- osn_selenium/executors/unified/cdp/dom.py +0 -380
- osn_selenium/executors/unified/cdp/dom_debugger.py +0 -65
- osn_selenium/executors/unified/cdp/dom_snapshot.py +0 -58
- osn_selenium/executors/unified/cdp/dom_storage.py +0 -38
- osn_selenium/executors/unified/cdp/emulation.py +0 -312
- osn_selenium/executors/unified/cdp/event_breakpoints.py +0 -24
- osn_selenium/executors/unified/cdp/extensions.py +0 -45
- osn_selenium/executors/unified/cdp/fed_cm.py +0 -51
- osn_selenium/executors/unified/cdp/fetch.py +0 -111
- osn_selenium/executors/unified/cdp/file_system.py +0 -15
- osn_selenium/executors/unified/cdp/headless_experimental.py +0 -38
- osn_selenium/executors/unified/cdp/heap_profiler.py +0 -101
- osn_selenium/executors/unified/cdp/indexed_db.py +0 -157
- osn_selenium/executors/unified/cdp/input.py +0 -254
- osn_selenium/executors/unified/cdp/inspector.py +0 -15
- osn_selenium/executors/unified/cdp/io.py +0 -29
- osn_selenium/executors/unified/cdp/layer_tree.py +0 -71
- osn_selenium/executors/unified/cdp/log.py +0 -29
- osn_selenium/executors/unified/cdp/media.py +0 -15
- osn_selenium/executors/unified/cdp/memory.py +0 -59
- osn_selenium/executors/unified/cdp/network.py +0 -323
- osn_selenium/executors/unified/cdp/overlay.py +0 -209
- osn_selenium/executors/unified/cdp/page.py +0 -410
- osn_selenium/executors/unified/cdp/performance.py +0 -27
- osn_selenium/executors/unified/cdp/performance_timeline.py +0 -17
- osn_selenium/executors/unified/cdp/preload.py +0 -15
- osn_selenium/executors/unified/cdp/profiler.py +0 -55
- osn_selenium/executors/unified/cdp/pwa.py +0 -55
- osn_selenium/executors/unified/cdp/runtime.py +0 -245
- osn_selenium/executors/unified/cdp/schema.py +0 -17
- osn_selenium/executors/unified/cdp/security.py +0 -27
- osn_selenium/executors/unified/cdp/service_worker.py +0 -62
- osn_selenium/executors/unified/cdp/storage.py +0 -178
- osn_selenium/executors/unified/cdp/system_info.py +0 -24
- osn_selenium/executors/unified/cdp/target.py +0 -165
- osn_selenium/executors/unified/cdp/tethering.py +0 -15
- osn_selenium/executors/unified/cdp/tracing.py +0 -62
- osn_selenium/executors/unified/cdp/web_audio.py +0 -18
- osn_selenium/executors/unified/cdp/web_authn.py +0 -103
- osn_selenium-1.0.0.dist-info/RECORD +0 -608
- /osn_selenium/{dev_tools/_exception_helpers.py → _exception_helpers.py} +0 -0
- /osn_selenium/executors/{unified/cdp → trio_bidi}/__init__.py +0 -0
- {osn_selenium-1.0.0.dist-info → osn_selenium-1.2.0.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
from typing import Optional, Type
|
|
2
1
|
from osn_selenium.models import WindowRect
|
|
2
|
+
from typing import (
|
|
3
|
+
Mapping,
|
|
4
|
+
Optional,
|
|
5
|
+
Type
|
|
6
|
+
)
|
|
7
|
+
from osn_selenium._typehints import PATH_TYPEHINT
|
|
3
8
|
from osn_selenium.flags.base import BrowserFlagsManager
|
|
4
9
|
from osn_selenium.flags.models.base import BrowserFlags
|
|
5
10
|
from osn_selenium.webdrivers.sync.core.auth import CoreAuthMixin
|
|
@@ -59,6 +64,8 @@ class CoreWebDriver(
|
|
|
59
64
|
page_load_timeout: int = 5,
|
|
60
65
|
script_timeout: int = 5,
|
|
61
66
|
window_rect: Optional[WindowRect] = None,
|
|
67
|
+
cdp_versioned_packages_paths: Optional[Mapping[int, PATH_TYPEHINT]] = None,
|
|
68
|
+
ignore_cdp_version_package_missing: bool = True,
|
|
62
69
|
) -> None:
|
|
63
70
|
"""
|
|
64
71
|
Initializes the synchronous WebDriver instance.
|
|
@@ -88,4 +95,6 @@ class CoreWebDriver(
|
|
|
88
95
|
page_load_timeout=page_load_timeout,
|
|
89
96
|
script_timeout=script_timeout,
|
|
90
97
|
window_rect=window_rect,
|
|
98
|
+
cdp_versioned_packages_paths=cdp_versioned_packages_paths,
|
|
99
|
+
ignore_cdp_version_package_missing=ignore_cdp_version_package_missing,
|
|
91
100
|
)
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
from osn_selenium.models import WindowRect
|
|
2
|
+
from osn_selenium.flags.base import BrowserFlagsManager
|
|
3
|
+
from osn_selenium.flags.models.base import BrowserFlags
|
|
4
|
+
from selenium.webdriver.common.bidi.session import Session
|
|
5
|
+
from osn_selenium.executors.sync.javascript import JSExecutor
|
|
2
6
|
from typing import (
|
|
3
7
|
Any,
|
|
4
8
|
Dict,
|
|
9
|
+
Mapping,
|
|
5
10
|
Optional,
|
|
6
11
|
Type
|
|
7
12
|
)
|
|
8
|
-
from osn_selenium.executors.sync.cdp import CDPExecutor
|
|
9
|
-
from osn_selenium.flags.base import BrowserFlagsManager
|
|
10
|
-
from osn_selenium.flags.models.base import BrowserFlags
|
|
11
|
-
from selenium.webdriver.common.bidi.session import Session
|
|
12
|
-
from osn_selenium.executors.sync.javascript import JSExecutor
|
|
13
|
-
from osn_selenium._typehints import (
|
|
14
|
-
ARCHITECTURES_TYPEHINT
|
|
15
|
-
)
|
|
16
13
|
from selenium.webdriver.remote.errorhandler import ErrorHandler
|
|
17
14
|
from selenium.webdriver.remote.locator_converter import LocatorConverter
|
|
18
15
|
from selenium.webdriver.remote.remote_connection import RemoteConnection
|
|
16
|
+
from osn_selenium.webdrivers._bridges import (
|
|
17
|
+
get_js_executor_bridge
|
|
18
|
+
)
|
|
19
19
|
from osn_selenium.webdrivers.unified.core.base import UnifiedCoreBaseMixin
|
|
20
|
+
from osn_selenium._typehints import (
|
|
21
|
+
ARCHITECTURES_TYPEHINT,
|
|
22
|
+
PATH_TYPEHINT
|
|
23
|
+
)
|
|
20
24
|
from osn_selenium.abstract.webdriver.core.base import (
|
|
21
25
|
AbstractCoreBaseMixin
|
|
22
26
|
)
|
|
23
27
|
from selenium.webdriver.remote.webdriver import (
|
|
24
28
|
WebDriver as legacyWebDriver
|
|
25
29
|
)
|
|
26
|
-
from osn_selenium.webdrivers._bridges import (
|
|
27
|
-
get_cdp_executor_bridge,
|
|
28
|
-
get_js_executor_bridge
|
|
29
|
-
)
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
__all__ = ["CoreBaseMixin"]
|
|
@@ -48,6 +48,8 @@ class CoreBaseMixin(UnifiedCoreBaseMixin, AbstractCoreBaseMixin):
|
|
|
48
48
|
page_load_timeout: int = 5,
|
|
49
49
|
script_timeout: int = 5,
|
|
50
50
|
window_rect: Optional[WindowRect] = None,
|
|
51
|
+
cdp_versioned_packages_paths: Optional[Mapping[int, PATH_TYPEHINT]] = None,
|
|
52
|
+
ignore_cdp_version_package_missing: bool = True,
|
|
51
53
|
) -> None:
|
|
52
54
|
"""
|
|
53
55
|
Initializes the base mixin for synchronous WebDrivers.
|
|
@@ -66,6 +68,8 @@ class CoreBaseMixin(UnifiedCoreBaseMixin, AbstractCoreBaseMixin):
|
|
|
66
68
|
asynchronous script to finish execution. Defaults to 5.
|
|
67
69
|
window_rect (Optional[WindowRect]): The initial size and position of the
|
|
68
70
|
browser window. Defaults to None.
|
|
71
|
+
cdp_versioned_packages_paths (Optional[Mapping[int, PATH_TYPEHINT]]): Custom local paths for specific CDP versions packages.
|
|
72
|
+
ignore_cdp_version_package_missing (bool): Whether to ignore missing CDP package errors.
|
|
69
73
|
"""
|
|
70
74
|
|
|
71
75
|
UnifiedCoreBaseMixin.__init__(
|
|
@@ -78,10 +82,10 @@ class CoreBaseMixin(UnifiedCoreBaseMixin, AbstractCoreBaseMixin):
|
|
|
78
82
|
page_load_timeout=page_load_timeout,
|
|
79
83
|
script_timeout=script_timeout,
|
|
80
84
|
window_rect=window_rect,
|
|
85
|
+
cdp_versioned_packages_paths=cdp_versioned_packages_paths,
|
|
86
|
+
ignore_cdp_version_package_missing=ignore_cdp_version_package_missing,
|
|
81
87
|
)
|
|
82
88
|
|
|
83
|
-
self._cdp_executor = CDPExecutor(execute_function=get_cdp_executor_bridge(self))
|
|
84
|
-
|
|
85
89
|
self._js_executor = JSExecutor(execute_function=get_js_executor_bridge(self))
|
|
86
90
|
|
|
87
91
|
@property
|
|
@@ -100,10 +104,6 @@ class CoreBaseMixin(UnifiedCoreBaseMixin, AbstractCoreBaseMixin):
|
|
|
100
104
|
def caps(self, value: Dict[str, Any]) -> None:
|
|
101
105
|
self._caps_set_impl(value)
|
|
102
106
|
|
|
103
|
-
@property
|
|
104
|
-
def cdp(self) -> CDPExecutor:
|
|
105
|
-
return self._cdp_executor
|
|
106
|
-
|
|
107
107
|
@property
|
|
108
108
|
def command_executor(self) -> RemoteConnection:
|
|
109
109
|
return self._command_executor_get_impl()
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
from typing import
|
|
1
|
+
from typing import Optional
|
|
2
|
+
from selenium.webdriver.common.print_page_options import PrintOptions
|
|
2
3
|
from osn_selenium.webdrivers.unified.core.capture import (
|
|
3
4
|
UnifiedCoreCaptureMixin
|
|
4
5
|
)
|
|
@@ -30,7 +31,7 @@ class CoreCaptureMixin(UnifiedCoreCaptureMixin, AbstractCoreCaptureMixin):
|
|
|
30
31
|
def page_source(self) -> str:
|
|
31
32
|
return self._page_source_impl()
|
|
32
33
|
|
|
33
|
-
def print_page(self, print_options: Optional[
|
|
34
|
+
def print_page(self, print_options: Optional[PrintOptions] = None) -> str:
|
|
34
35
|
return self._print_page_impl(print_options=print_options)
|
|
35
36
|
|
|
36
37
|
def save_screenshot(self, filename: str) -> bool:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from contextlib import contextmanager
|
|
2
2
|
from typing import Any, Generator, List
|
|
3
|
+
from selenium.webdriver.remote.file_detector import FileDetector
|
|
3
4
|
from osn_selenium.webdrivers.unified.core.file import UnifiedCoreFileMixin
|
|
4
5
|
from osn_selenium.abstract.webdriver.core.file import (
|
|
5
6
|
AbstractCoreFileMixin
|
|
@@ -24,11 +25,11 @@ class CoreFileMixin(UnifiedCoreFileMixin, AbstractCoreFileMixin):
|
|
|
24
25
|
self._download_file_impl(file_name=file_name, target_directory=target_directory)
|
|
25
26
|
|
|
26
27
|
@property
|
|
27
|
-
def file_detector(self) ->
|
|
28
|
+
def file_detector(self) -> FileDetector:
|
|
28
29
|
return self._file_detector_get_impl()
|
|
29
30
|
|
|
30
31
|
@file_detector.setter
|
|
31
|
-
def file_detector(self, value:
|
|
32
|
+
def file_detector(self, value: FileDetector) -> None:
|
|
32
33
|
self._file_detector_set_impl(value)
|
|
33
34
|
|
|
34
35
|
@contextmanager
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
from types import TracebackType
|
|
1
2
|
from osn_selenium.models import WindowRect
|
|
3
|
+
from osn_selenium.flags.models.base import BrowserFlags
|
|
2
4
|
from typing import (
|
|
3
5
|
Any,
|
|
4
6
|
Dict,
|
|
5
7
|
Optional,
|
|
8
|
+
Type,
|
|
6
9
|
Union
|
|
7
10
|
)
|
|
8
|
-
from osn_selenium.flags.models.base import BrowserFlags
|
|
9
11
|
from selenium.webdriver.remote.remote_connection import RemoteConnection
|
|
10
12
|
from osn_selenium.webdrivers.unified.core.lifecycle import (
|
|
11
13
|
UnifiedCoreLifecycleMixin
|
|
@@ -26,8 +28,47 @@ class CoreLifecycleMixin(UnifiedCoreLifecycleMixin, AbstractCoreLifecycleMixin):
|
|
|
26
28
|
underlying browser instance, ensuring clean session management.
|
|
27
29
|
"""
|
|
28
30
|
|
|
29
|
-
def
|
|
30
|
-
|
|
31
|
+
def start_webdriver(
|
|
32
|
+
self,
|
|
33
|
+
flags: Optional[BrowserFlags] = None,
|
|
34
|
+
window_rect: Optional[WindowRect] = None,
|
|
35
|
+
) -> None:
|
|
36
|
+
self._start_webdriver_impl(flags=flags, window_rect=window_rect)
|
|
37
|
+
|
|
38
|
+
def __enter__(
|
|
39
|
+
self,
|
|
40
|
+
flags: Optional[BrowserFlags] = None,
|
|
41
|
+
window_rect: Optional[WindowRect] = None,
|
|
42
|
+
) -> None:
|
|
43
|
+
self.start_webdriver(flags=flags, window_rect=window_rect)
|
|
44
|
+
|
|
45
|
+
def stop_webdriver(self) -> None:
|
|
46
|
+
self._stop_webdriver_impl()
|
|
47
|
+
|
|
48
|
+
def __exit__(
|
|
49
|
+
self,
|
|
50
|
+
exc_type: Optional[Type[BaseException]],
|
|
51
|
+
exc_val: Optional[BaseException],
|
|
52
|
+
exc_tb: Optional[TracebackType],
|
|
53
|
+
) -> bool:
|
|
54
|
+
"""
|
|
55
|
+
Synchronously exits the WebDriver context.
|
|
56
|
+
|
|
57
|
+
Args:
|
|
58
|
+
exc_type (Optional[Type[BaseException]]): The exception type, if any.
|
|
59
|
+
exc_val (Optional[BaseException]): The exception value, if any.
|
|
60
|
+
exc_tb (Optional[TracebackType]): The exception traceback, if any.
|
|
61
|
+
|
|
62
|
+
Returns:
|
|
63
|
+
bool: True if an exception was suppressed, False otherwise.
|
|
64
|
+
"""
|
|
65
|
+
|
|
66
|
+
self.stop_webdriver()
|
|
67
|
+
|
|
68
|
+
if exc_type is not None and exc_val is not None and exc_tb is not None:
|
|
69
|
+
return True
|
|
70
|
+
|
|
71
|
+
return False
|
|
31
72
|
|
|
32
73
|
def quit(self) -> None:
|
|
33
74
|
self._quit_impl()
|
|
@@ -48,12 +89,5 @@ class CoreLifecycleMixin(UnifiedCoreLifecycleMixin, AbstractCoreLifecycleMixin):
|
|
|
48
89
|
def start_session(self, capabilities: Dict[str, Any]) -> None:
|
|
49
90
|
self._start_session_impl(capabilities=capabilities)
|
|
50
91
|
|
|
51
|
-
def start_webdriver(
|
|
52
|
-
self,
|
|
53
|
-
flags: Optional[BrowserFlags] = None,
|
|
54
|
-
window_rect: Optional[WindowRect] = None,
|
|
55
|
-
) -> None:
|
|
56
|
-
self._start_webdriver_impl(flags=flags, window_rect=window_rect)
|
|
57
|
-
|
|
58
92
|
def stop_client(self) -> None:
|
|
59
93
|
self._stop_client_impl()
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from typing import Any, List, Optional
|
|
2
2
|
from osn_selenium.instances.sync.script import Script
|
|
3
|
+
from selenium.webdriver.remote.script_key import ScriptKey
|
|
3
4
|
from osn_selenium.instances.convert import (
|
|
4
5
|
get_sync_instance_wrapper
|
|
5
6
|
)
|
|
@@ -41,7 +42,7 @@ class CoreScriptMixin(UnifiedCoreScriptMixin, AbstractCoreScriptMixin):
|
|
|
41
42
|
def get_pinned_scripts(self) -> List[str]:
|
|
42
43
|
return self._get_pinned_scripts_impl()
|
|
43
44
|
|
|
44
|
-
def pin_script(self, script: str, script_key: Optional[Any] = None) ->
|
|
45
|
+
def pin_script(self, script: str, script_key: Optional[Any] = None) -> ScriptKey:
|
|
45
46
|
return self._pin_script_impl(script=script, script_key=script_key)
|
|
46
47
|
|
|
47
48
|
def script(self) -> Script:
|
|
@@ -49,5 +50,5 @@ class CoreScriptMixin(UnifiedCoreScriptMixin, AbstractCoreScriptMixin):
|
|
|
49
50
|
|
|
50
51
|
return get_sync_instance_wrapper(wrapper_class=Script, legacy_object=legacy)
|
|
51
52
|
|
|
52
|
-
def unpin(self, script_key:
|
|
53
|
+
def unpin(self, script_key: ScriptKey) -> None:
|
|
53
54
|
self._unpin_impl(script_key=script_key)
|
|
@@ -47,6 +47,9 @@ class CoreWindowMixin(UnifiedCoreWindowMixin, AbstractCoreWindowMixin):
|
|
|
47
47
|
def fullscreen_window(self) -> None:
|
|
48
48
|
self._fullscreen_window_impl()
|
|
49
49
|
|
|
50
|
+
def get_orientation(self) -> Literal["LANDSCAPE", "PORTRAIT"]:
|
|
51
|
+
return self._orientation_get_impl()
|
|
52
|
+
|
|
50
53
|
def get_window_handle(self, window: Optional[Union[str, int]] = None) -> str:
|
|
51
54
|
return self._get_window_handle_impl(window=window)
|
|
52
55
|
|
|
@@ -68,9 +71,6 @@ class CoreWindowMixin(UnifiedCoreWindowMixin, AbstractCoreWindowMixin):
|
|
|
68
71
|
def minimize_window(self) -> None:
|
|
69
72
|
self._minimize_window_impl()
|
|
70
73
|
|
|
71
|
-
def orientation(self) -> Literal["LANDSCAPE", "PORTRAIT"]:
|
|
72
|
-
return self._orientation_get_impl()
|
|
73
|
-
|
|
74
74
|
def set_orientation(self, value: Literal["LANDSCAPE", "PORTRAIT"]) -> None:
|
|
75
75
|
self._orientation_set_impl(value=value)
|
|
76
76
|
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
from typing import Optional, Type
|
|
2
1
|
from osn_selenium.models import WindowRect
|
|
2
|
+
from typing import (
|
|
3
|
+
Mapping,
|
|
4
|
+
Optional,
|
|
5
|
+
Type
|
|
6
|
+
)
|
|
3
7
|
from osn_selenium._typehints import PATH_TYPEHINT
|
|
4
8
|
from osn_selenium.flags.edge import EdgeFlagsManager
|
|
5
9
|
from osn_selenium.flags.models.edge import EdgeFlags
|
|
@@ -35,7 +39,34 @@ class EdgeWebDriver(
|
|
|
35
39
|
page_load_timeout: int = 5,
|
|
36
40
|
script_timeout: int = 5,
|
|
37
41
|
window_rect: Optional[WindowRect] = None,
|
|
42
|
+
cdp_versioned_packages_paths: Optional[Mapping[int, PATH_TYPEHINT]] = None,
|
|
43
|
+
ignore_cdp_version_package_missing: bool = True,
|
|
38
44
|
):
|
|
45
|
+
"""
|
|
46
|
+
Initializes the synchronous Edge WebDriver with specified configuration.
|
|
47
|
+
|
|
48
|
+
Args:
|
|
49
|
+
webdriver_path (str): Path to the EdgeDriver executable.
|
|
50
|
+
flags_manager_type (Type[EdgeFlagsManager]): The class type used for managing Edge flags.
|
|
51
|
+
Defaults to EdgeFlagsManager.
|
|
52
|
+
use_browser_exe (bool): Whether to use a specific browser executable path or auto-detect.
|
|
53
|
+
Defaults to True.
|
|
54
|
+
browser_name_in_system (str): The name of the browser in the system registry or path.
|
|
55
|
+
Defaults to "Microsoft Edge".
|
|
56
|
+
browser_exe (Optional[PATH_TYPEHINT]): Explicit path to the Edge browser executable.
|
|
57
|
+
If None, it may be auto-detected based on other parameters.
|
|
58
|
+
flags (Optional[EdgeFlags]): Initial set of flags to configure the Edge instance.
|
|
59
|
+
start_page_url (str): The URL to navigate to immediately upon startup.
|
|
60
|
+
Defaults to "about:blank".
|
|
61
|
+
implicitly_wait (int): Default implicit wait time in seconds. Defaults to 5.
|
|
62
|
+
page_load_timeout (int): Default page load timeout in seconds. Defaults to 5.
|
|
63
|
+
script_timeout (int): Default script execution timeout in seconds. Defaults to 5.
|
|
64
|
+
window_rect (Optional[WindowRect]): Initial window dimensions and position.
|
|
65
|
+
If None, browser defaults are used.
|
|
66
|
+
cdp_versioned_packages_paths (Optional[Mapping[int, PATH_TYPEHINT]]): Custom local paths for specific CDP versions packages.
|
|
67
|
+
ignore_cdp_version_package_missing (bool): Whether to ignore missing CDP package errors.
|
|
68
|
+
"""
|
|
69
|
+
|
|
39
70
|
BlinkWebDriver.__init__(
|
|
40
71
|
self,
|
|
41
72
|
browser_exe=browser_exe,
|
|
@@ -48,6 +79,8 @@ class EdgeWebDriver(
|
|
|
48
79
|
page_load_timeout=page_load_timeout,
|
|
49
80
|
script_timeout=script_timeout,
|
|
50
81
|
window_rect=window_rect,
|
|
82
|
+
cdp_versioned_packages_paths=cdp_versioned_packages_paths,
|
|
83
|
+
ignore_cdp_version_package_missing=ignore_cdp_version_package_missing,
|
|
51
84
|
)
|
|
52
85
|
|
|
53
86
|
EdgeBaseMixin.__init__(
|
|
@@ -64,4 +97,6 @@ class EdgeWebDriver(
|
|
|
64
97
|
page_load_timeout=page_load_timeout,
|
|
65
98
|
script_timeout=script_timeout,
|
|
66
99
|
window_rect=window_rect,
|
|
100
|
+
cdp_versioned_packages_paths=cdp_versioned_packages_paths,
|
|
101
|
+
ignore_cdp_version_package_missing=ignore_cdp_version_package_missing,
|
|
67
102
|
)
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
from typing import Optional, Type
|
|
2
1
|
from osn_selenium.models import WindowRect
|
|
2
|
+
from typing import (
|
|
3
|
+
Mapping,
|
|
4
|
+
Optional,
|
|
5
|
+
Type
|
|
6
|
+
)
|
|
3
7
|
from selenium.webdriver import Edge as legacyEdge
|
|
4
8
|
from osn_selenium.flags.edge import EdgeFlagsManager
|
|
5
9
|
from osn_selenium.flags.models.edge import EdgeFlags
|
|
@@ -40,6 +44,8 @@ class EdgeBaseMixin(UnifiedEdgeBaseMixin, BlinkBaseMixin, AbstractEdgeBaseMixin)
|
|
|
40
44
|
page_load_timeout: int = 5,
|
|
41
45
|
script_timeout: int = 5,
|
|
42
46
|
window_rect: Optional[WindowRect] = None,
|
|
47
|
+
cdp_versioned_packages_paths: Optional[Mapping[int, PATH_TYPEHINT]] = None,
|
|
48
|
+
ignore_cdp_version_package_missing: bool = True,
|
|
43
49
|
):
|
|
44
50
|
"""
|
|
45
51
|
Initializes the synchronous Edge WebDriver mixin with specified configuration.
|
|
@@ -63,6 +69,8 @@ class EdgeBaseMixin(UnifiedEdgeBaseMixin, BlinkBaseMixin, AbstractEdgeBaseMixin)
|
|
|
63
69
|
script_timeout (int): Default script execution timeout in seconds. Defaults to 5.
|
|
64
70
|
window_rect (Optional[WindowRect]): Initial window dimensions and position.
|
|
65
71
|
If None, browser defaults are used.
|
|
72
|
+
cdp_versioned_packages_paths (Optional[Mapping[int, PATH_TYPEHINT]]): Custom local paths for specific CDP versions packages.
|
|
73
|
+
ignore_cdp_version_package_missing (bool): Whether to ignore missing CDP package errors.
|
|
66
74
|
"""
|
|
67
75
|
|
|
68
76
|
BlinkBaseMixin.__init__(
|
|
@@ -79,6 +87,8 @@ class EdgeBaseMixin(UnifiedEdgeBaseMixin, BlinkBaseMixin, AbstractEdgeBaseMixin)
|
|
|
79
87
|
page_load_timeout=page_load_timeout,
|
|
80
88
|
script_timeout=script_timeout,
|
|
81
89
|
window_rect=window_rect,
|
|
90
|
+
cdp_versioned_packages_paths=cdp_versioned_packages_paths,
|
|
91
|
+
ignore_cdp_version_package_missing=ignore_cdp_version_package_missing,
|
|
82
92
|
)
|
|
83
93
|
|
|
84
94
|
UnifiedEdgeBaseMixin.__init__(
|
|
@@ -95,6 +105,8 @@ class EdgeBaseMixin(UnifiedEdgeBaseMixin, BlinkBaseMixin, AbstractEdgeBaseMixin)
|
|
|
95
105
|
page_load_timeout=page_load_timeout,
|
|
96
106
|
script_timeout=script_timeout,
|
|
97
107
|
window_rect=window_rect,
|
|
108
|
+
cdp_versioned_packages_paths=cdp_versioned_packages_paths,
|
|
109
|
+
ignore_cdp_version_package_missing=ignore_cdp_version_package_missing,
|
|
98
110
|
)
|
|
99
111
|
|
|
100
112
|
@property
|
|
@@ -2,7 +2,7 @@ from typing import Optional
|
|
|
2
2
|
from osn_selenium.models import WindowRect
|
|
3
3
|
from osn_selenium._typehints import PATH_TYPEHINT
|
|
4
4
|
from osn_selenium.flags.models.edge import EdgeFlags
|
|
5
|
-
from osn_selenium.webdrivers.sync.blink import BlinkLifecycleMixin
|
|
5
|
+
from osn_selenium.webdrivers.sync.blink.lifecycle import BlinkLifecycleMixin
|
|
6
6
|
from osn_selenium.webdrivers.unified.edge.lifecycle import (
|
|
7
7
|
UnifiedEdgeLifecycleMixin
|
|
8
8
|
)
|
|
@@ -26,7 +26,7 @@ class EdgeLifecycleMixin(
|
|
|
26
26
|
underlying browser instance, ensuring clean session management.
|
|
27
27
|
"""
|
|
28
28
|
|
|
29
|
-
def
|
|
29
|
+
def start_webdriver(
|
|
30
30
|
self,
|
|
31
31
|
flags: Optional[EdgeFlags] = None,
|
|
32
32
|
browser_exe: Optional[PATH_TYPEHINT] = None,
|
|
@@ -35,7 +35,7 @@ class EdgeLifecycleMixin(
|
|
|
35
35
|
start_page_url: Optional[str] = None,
|
|
36
36
|
window_rect: Optional[WindowRect] = None,
|
|
37
37
|
) -> None:
|
|
38
|
-
self.
|
|
38
|
+
self._start_webdriver_impl(
|
|
39
39
|
flags=flags,
|
|
40
40
|
browser_exe=browser_exe,
|
|
41
41
|
browser_name_in_system=browser_name_in_system,
|
|
@@ -44,7 +44,7 @@ class EdgeLifecycleMixin(
|
|
|
44
44
|
window_rect=window_rect,
|
|
45
45
|
)
|
|
46
46
|
|
|
47
|
-
def
|
|
47
|
+
def __enter__(
|
|
48
48
|
self,
|
|
49
49
|
flags: Optional[EdgeFlags] = None,
|
|
50
50
|
browser_exe: Optional[PATH_TYPEHINT] = None,
|
|
@@ -53,7 +53,25 @@ class EdgeLifecycleMixin(
|
|
|
53
53
|
start_page_url: Optional[str] = None,
|
|
54
54
|
window_rect: Optional[WindowRect] = None,
|
|
55
55
|
) -> None:
|
|
56
|
-
self.
|
|
56
|
+
self.start_webdriver(
|
|
57
|
+
flags=flags,
|
|
58
|
+
browser_exe=browser_exe,
|
|
59
|
+
browser_name_in_system=browser_name_in_system,
|
|
60
|
+
use_browser_exe=use_browser_exe,
|
|
61
|
+
start_page_url=start_page_url,
|
|
62
|
+
window_rect=window_rect,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
def restart_webdriver(
|
|
66
|
+
self,
|
|
67
|
+
flags: Optional[EdgeFlags] = None,
|
|
68
|
+
browser_exe: Optional[PATH_TYPEHINT] = None,
|
|
69
|
+
browser_name_in_system: Optional[str] = None,
|
|
70
|
+
use_browser_exe: Optional[bool] = None,
|
|
71
|
+
start_page_url: Optional[str] = None,
|
|
72
|
+
window_rect: Optional[WindowRect] = None,
|
|
73
|
+
) -> None:
|
|
74
|
+
self._restart_webdriver_impl(
|
|
57
75
|
flags=flags,
|
|
58
76
|
browser_exe=browser_exe,
|
|
59
77
|
browser_name_in_system=browser_name_in_system,
|
|
@@ -2,6 +2,7 @@ from typing import Optional
|
|
|
2
2
|
from osn_selenium.models import WindowRect
|
|
3
3
|
from osn_selenium._typehints import PATH_TYPEHINT
|
|
4
4
|
from osn_selenium.flags.models.edge import EdgeFlags
|
|
5
|
+
from osn_selenium.webdrivers.sync.blink.settings import BlinkSettingsMixin
|
|
5
6
|
from osn_selenium.webdrivers.unified.edge.settings import (
|
|
6
7
|
UnifiedEdgeSettingsMixin
|
|
7
8
|
)
|
|
@@ -13,7 +14,11 @@ from osn_selenium.abstract.webdriver.edge.settings import (
|
|
|
13
14
|
__all__ = ["EdgeSettingsMixin"]
|
|
14
15
|
|
|
15
16
|
|
|
16
|
-
class EdgeSettingsMixin(
|
|
17
|
+
class EdgeSettingsMixin(
|
|
18
|
+
UnifiedEdgeSettingsMixin,
|
|
19
|
+
BlinkSettingsMixin,
|
|
20
|
+
AbstractEdgeSettingsMixin
|
|
21
|
+
):
|
|
17
22
|
"""
|
|
18
23
|
Mixin for configuring and updating settings of the Edge WebDriver.
|
|
19
24
|
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
from typing import Optional, Type
|
|
2
1
|
from osn_selenium.models import WindowRect
|
|
2
|
+
from typing import (
|
|
3
|
+
Mapping,
|
|
4
|
+
Optional,
|
|
5
|
+
Type
|
|
6
|
+
)
|
|
3
7
|
from osn_selenium._typehints import PATH_TYPEHINT
|
|
4
8
|
from osn_selenium.flags.models.yandex import YandexFlags
|
|
5
9
|
from osn_selenium.flags.yandex import YandexFlagsManager
|
|
@@ -35,7 +39,34 @@ class YandexWebDriver(
|
|
|
35
39
|
page_load_timeout: int = 5,
|
|
36
40
|
script_timeout: int = 5,
|
|
37
41
|
window_rect: Optional[WindowRect] = None,
|
|
42
|
+
cdp_versioned_packages_paths: Optional[Mapping[int, PATH_TYPEHINT]] = None,
|
|
43
|
+
ignore_cdp_version_package_missing: bool = True,
|
|
38
44
|
):
|
|
45
|
+
"""
|
|
46
|
+
Initializes the synchronous Yandex WebDriver with specified configuration.
|
|
47
|
+
|
|
48
|
+
Args:
|
|
49
|
+
webdriver_path (str): Path to the YandexDriver executable.
|
|
50
|
+
flags_manager_type (Type[YandexFlagsManager]): The class type used for managing Yandex flags.
|
|
51
|
+
Defaults to YandexFlagsManager.
|
|
52
|
+
use_browser_exe (bool): Whether to use a specific browser executable path or auto-detect.
|
|
53
|
+
Defaults to True.
|
|
54
|
+
browser_name_in_system (str): The name of the browser in the system registry or path.
|
|
55
|
+
Defaults to "Yandex".
|
|
56
|
+
browser_exe (Optional[PATH_TYPEHINT]): Explicit path to the Yandex browser executable.
|
|
57
|
+
If None, it may be auto-detected based on other parameters.
|
|
58
|
+
flags (Optional[YandexFlags]): Initial set of flags to configure the Yandex instance.
|
|
59
|
+
start_page_url (str): The URL to navigate to immediately upon startup.
|
|
60
|
+
Defaults to "about:blank".
|
|
61
|
+
implicitly_wait (int): Default implicit wait time in seconds. Defaults to 5.
|
|
62
|
+
page_load_timeout (int): Default page load timeout in seconds. Defaults to 5.
|
|
63
|
+
script_timeout (int): Default script execution timeout in seconds. Defaults to 5.
|
|
64
|
+
window_rect (Optional[WindowRect]): Initial window dimensions and position.
|
|
65
|
+
If None, browser defaults are used.
|
|
66
|
+
cdp_versioned_packages_paths (Optional[Mapping[int, PATH_TYPEHINT]]): Custom local paths for specific CDP versions packages.
|
|
67
|
+
ignore_cdp_version_package_missing (bool): Whether to ignore missing CDP package errors.
|
|
68
|
+
"""
|
|
69
|
+
|
|
39
70
|
ChromeWebDriver.__init__(
|
|
40
71
|
self,
|
|
41
72
|
browser_exe=browser_exe,
|
|
@@ -48,6 +79,8 @@ class YandexWebDriver(
|
|
|
48
79
|
page_load_timeout=page_load_timeout,
|
|
49
80
|
script_timeout=script_timeout,
|
|
50
81
|
window_rect=window_rect,
|
|
82
|
+
cdp_versioned_packages_paths=cdp_versioned_packages_paths,
|
|
83
|
+
ignore_cdp_version_package_missing=ignore_cdp_version_package_missing,
|
|
51
84
|
)
|
|
52
85
|
|
|
53
86
|
YandexBaseMixin.__init__(
|
|
@@ -64,4 +97,6 @@ class YandexWebDriver(
|
|
|
64
97
|
page_load_timeout=page_load_timeout,
|
|
65
98
|
script_timeout=script_timeout,
|
|
66
99
|
window_rect=window_rect,
|
|
100
|
+
cdp_versioned_packages_paths=cdp_versioned_packages_paths,
|
|
101
|
+
ignore_cdp_version_package_missing=ignore_cdp_version_package_missing,
|
|
67
102
|
)
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
from typing import Optional, Type
|
|
2
1
|
from osn_selenium.models import WindowRect
|
|
2
|
+
from typing import (
|
|
3
|
+
Mapping,
|
|
4
|
+
Optional,
|
|
5
|
+
Type
|
|
6
|
+
)
|
|
3
7
|
from osn_selenium.flags.models.yandex import YandexFlags
|
|
4
8
|
from osn_selenium.flags.yandex import YandexFlagsManager
|
|
5
9
|
from osn_selenium.webdrivers.sync.chrome.base import ChromeBaseMixin
|
|
@@ -41,6 +45,8 @@ class YandexBaseMixin(UnifiedYandexBaseMixin, ChromeBaseMixin, AbstractYandexBas
|
|
|
41
45
|
page_load_timeout: int = 5,
|
|
42
46
|
script_timeout: int = 5,
|
|
43
47
|
window_rect: Optional[WindowRect] = None,
|
|
48
|
+
cdp_versioned_packages_paths: Optional[Mapping[int, PATH_TYPEHINT]] = None,
|
|
49
|
+
ignore_cdp_version_package_missing: bool = True,
|
|
44
50
|
):
|
|
45
51
|
"""
|
|
46
52
|
Initializes the synchronous Yandex WebDriver mixin with specified configuration.
|
|
@@ -64,6 +70,8 @@ class YandexBaseMixin(UnifiedYandexBaseMixin, ChromeBaseMixin, AbstractYandexBas
|
|
|
64
70
|
script_timeout (int): Default script execution timeout in seconds. Defaults to 5.
|
|
65
71
|
window_rect (Optional[WindowRect]): Initial window dimensions and position.
|
|
66
72
|
If None, browser defaults are used.
|
|
73
|
+
cdp_versioned_packages_paths (Optional[Mapping[int, PATH_TYPEHINT]]): Custom local paths for specific CDP versions packages.
|
|
74
|
+
ignore_cdp_version_package_missing (bool): Whether to ignore missing CDP package errors.
|
|
67
75
|
"""
|
|
68
76
|
|
|
69
77
|
ChromeBaseMixin.__init__(
|
|
@@ -80,6 +88,8 @@ class YandexBaseMixin(UnifiedYandexBaseMixin, ChromeBaseMixin, AbstractYandexBas
|
|
|
80
88
|
page_load_timeout=page_load_timeout,
|
|
81
89
|
script_timeout=script_timeout,
|
|
82
90
|
window_rect=window_rect,
|
|
91
|
+
cdp_versioned_packages_paths=cdp_versioned_packages_paths,
|
|
92
|
+
ignore_cdp_version_package_missing=ignore_cdp_version_package_missing,
|
|
83
93
|
)
|
|
84
94
|
|
|
85
95
|
UnifiedYandexBaseMixin.__init__(
|
|
@@ -96,4 +106,6 @@ class YandexBaseMixin(UnifiedYandexBaseMixin, ChromeBaseMixin, AbstractYandexBas
|
|
|
96
106
|
page_load_timeout=page_load_timeout,
|
|
97
107
|
script_timeout=script_timeout,
|
|
98
108
|
window_rect=window_rect,
|
|
109
|
+
cdp_versioned_packages_paths=cdp_versioned_packages_paths,
|
|
110
|
+
ignore_cdp_version_package_missing=ignore_cdp_version_package_missing,
|
|
99
111
|
)
|
|
@@ -2,7 +2,7 @@ from typing import Optional
|
|
|
2
2
|
from osn_selenium.models import WindowRect
|
|
3
3
|
from osn_selenium._typehints import PATH_TYPEHINT
|
|
4
4
|
from osn_selenium.flags.models.yandex import YandexFlags
|
|
5
|
-
from osn_selenium.webdrivers.sync.chrome import ChromeLifecycleMixin
|
|
5
|
+
from osn_selenium.webdrivers.sync.chrome.lifecycle import ChromeLifecycleMixin
|
|
6
6
|
from osn_selenium.webdrivers.unified.yandex.lifecycle import (
|
|
7
7
|
UnifiedYandexLifecycleMixin
|
|
8
8
|
)
|
|
@@ -26,7 +26,7 @@ class YandexLifecycleMixin(
|
|
|
26
26
|
underlying browser instance, ensuring clean session management.
|
|
27
27
|
"""
|
|
28
28
|
|
|
29
|
-
def
|
|
29
|
+
def start_webdriver(
|
|
30
30
|
self,
|
|
31
31
|
flags: Optional[YandexFlags] = None,
|
|
32
32
|
browser_exe: Optional[PATH_TYPEHINT] = None,
|
|
@@ -35,7 +35,7 @@ class YandexLifecycleMixin(
|
|
|
35
35
|
start_page_url: Optional[str] = None,
|
|
36
36
|
window_rect: Optional[WindowRect] = None,
|
|
37
37
|
) -> None:
|
|
38
|
-
self.
|
|
38
|
+
self._start_webdriver_impl(
|
|
39
39
|
flags=flags,
|
|
40
40
|
browser_exe=browser_exe,
|
|
41
41
|
browser_name_in_system=browser_name_in_system,
|
|
@@ -44,7 +44,7 @@ class YandexLifecycleMixin(
|
|
|
44
44
|
window_rect=window_rect,
|
|
45
45
|
)
|
|
46
46
|
|
|
47
|
-
def
|
|
47
|
+
def __enter__(
|
|
48
48
|
self,
|
|
49
49
|
flags: Optional[YandexFlags] = None,
|
|
50
50
|
browser_exe: Optional[PATH_TYPEHINT] = None,
|
|
@@ -53,7 +53,25 @@ class YandexLifecycleMixin(
|
|
|
53
53
|
start_page_url: Optional[str] = None,
|
|
54
54
|
window_rect: Optional[WindowRect] = None,
|
|
55
55
|
) -> None:
|
|
56
|
-
self.
|
|
56
|
+
self.start_webdriver(
|
|
57
|
+
flags=flags,
|
|
58
|
+
browser_exe=browser_exe,
|
|
59
|
+
browser_name_in_system=browser_name_in_system,
|
|
60
|
+
use_browser_exe=use_browser_exe,
|
|
61
|
+
start_page_url=start_page_url,
|
|
62
|
+
window_rect=window_rect,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
def restart_webdriver(
|
|
66
|
+
self,
|
|
67
|
+
flags: Optional[YandexFlags] = None,
|
|
68
|
+
browser_exe: Optional[PATH_TYPEHINT] = None,
|
|
69
|
+
browser_name_in_system: Optional[str] = None,
|
|
70
|
+
use_browser_exe: Optional[bool] = None,
|
|
71
|
+
start_page_url: Optional[str] = None,
|
|
72
|
+
window_rect: Optional[WindowRect] = None,
|
|
73
|
+
) -> None:
|
|
74
|
+
self._restart_webdriver_impl(
|
|
57
75
|
flags=flags,
|
|
58
76
|
browser_exe=browser_exe,
|
|
59
77
|
browser_name_in_system=browser_name_in_system,
|
|
@@ -2,6 +2,7 @@ from typing import Optional
|
|
|
2
2
|
from osn_selenium.models import WindowRect
|
|
3
3
|
from osn_selenium._typehints import PATH_TYPEHINT
|
|
4
4
|
from osn_selenium.flags.models.yandex import YandexFlags
|
|
5
|
+
from osn_selenium.webdrivers.sync.chrome.settings import ChromeSettingsMixin
|
|
5
6
|
from osn_selenium.webdrivers.unified.yandex.settings import (
|
|
6
7
|
UnifiedYandexSettingsMixin
|
|
7
8
|
)
|
|
@@ -13,7 +14,11 @@ from osn_selenium.abstract.webdriver.yandex.settings import (
|
|
|
13
14
|
__all__ = ["YandexSettingsMixin"]
|
|
14
15
|
|
|
15
16
|
|
|
16
|
-
class YandexSettingsMixin(
|
|
17
|
+
class YandexSettingsMixin(
|
|
18
|
+
UnifiedYandexSettingsMixin,
|
|
19
|
+
ChromeSettingsMixin,
|
|
20
|
+
AbstractYandexSettingsMixin
|
|
21
|
+
):
|
|
17
22
|
"""
|
|
18
23
|
Mixin for configuring and updating settings of the Yandex WebDriver.
|
|
19
24
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|