From a95087f449b14949a68ff1a157a0b86786adee58 Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Tue, 9 Sep 2025 10:08:47 -0400 Subject: [PATCH] [py] Convert all relative imports to absolute --- py/pyproject.toml | 2 +- py/selenium/common/__init__.py | 2 +- py/selenium/webdriver/__init__.py | 56 +++++++++---------- py/selenium/webdriver/chrome/webdriver.py | 5 +- py/selenium/webdriver/common/action_chains.py | 11 ++-- .../common/actions/action_builder.py | 15 +++-- .../webdriver/common/actions/interaction.py | 2 +- .../webdriver/common/actions/key_actions.py | 10 ++-- .../webdriver/common/actions/key_input.py | 6 +- .../common/actions/pointer_actions.py | 9 ++- .../webdriver/common/actions/pointer_input.py | 5 +- .../webdriver/common/actions/wheel_actions.py | 4 +- .../webdriver/common/actions/wheel_input.py | 5 +- .../webdriver/common/bidi/browsing_context.py | 3 +- py/selenium/webdriver/common/bidi/script.py | 5 +- py/selenium/webdriver/common/fedcm/dialog.py | 2 +- py/selenium/webdriver/edge/webdriver.py | 5 +- py/selenium/webdriver/firefox/webdriver.py | 7 +-- py/selenium/webdriver/ie/webdriver.py | 5 +- py/selenium/webdriver/remote/fedcm.py | 2 +- py/selenium/webdriver/remote/mobile.py | 2 +- .../webdriver/remote/remote_connection.py | 9 ++- py/selenium/webdriver/remote/shadowroot.py | 4 +- py/selenium/webdriver/remote/switch_to.py | 3 +- py/selenium/webdriver/remote/webdriver.py | 29 +++++----- py/selenium/webdriver/remote/webelement.py | 5 +- py/selenium/webdriver/safari/webdriver.py | 9 ++- .../support/event_firing_webdriver.py | 3 +- py/selenium/webdriver/support/events.py | 4 +- py/selenium/webdriver/support/ui.py | 4 +- py/selenium/webdriver/webkitgtk/webdriver.py | 5 +- py/selenium/webdriver/wpewebkit/webdriver.py | 5 +- 32 files changed, 112 insertions(+), 131 deletions(-) diff --git a/py/pyproject.toml b/py/pyproject.toml index f33c879a04024..896e510c82e66 100644 --- a/py/pyproject.toml +++ b/py/pyproject.toml @@ -144,7 +144,7 @@ respect-gitignore = true target-version = "py39" [tool.ruff.lint] -extend-select = ["E4", "E7", "E9", "F", "I", "E501", "RUF022"] +extend-select = ["E4", "E7", "E9", "F", "I", "E501", "RUF022", "TID252"] fixable = ["ALL"] [tool.ruff.format] diff --git a/py/selenium/common/__init__.py b/py/selenium/common/__init__.py index 88a124e31d4ef..0528b740aa9a5 100644 --- a/py/selenium/common/__init__.py +++ b/py/selenium/common/__init__.py @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -from .exceptions import ( +from selenium.common.exceptions import ( DetachedShadowRootException, ElementClickInterceptedException, ElementNotInteractableException, diff --git a/py/selenium/webdriver/__init__.py b/py/selenium/webdriver/__init__.py index 49efd310bda81..a1d43188da57d 100644 --- a/py/selenium/webdriver/__init__.py +++ b/py/selenium/webdriver/__init__.py @@ -15,34 +15,34 @@ # specific language governing permissions and limitations # under the License. -from .chrome.options import Options as ChromeOptions # noqa -from .chrome.service import Service as ChromeService # noqa -from .chrome.webdriver import WebDriver as Chrome # noqa -from .common.action_chains import ActionChains # noqa -from .common.desired_capabilities import DesiredCapabilities # noqa -from .common.keys import Keys # noqa -from .common.proxy import Proxy # noqa -from .edge.options import Options as EdgeOptions # noqa -from .edge.service import Service as EdgeService # noqa -from .edge.webdriver import WebDriver as ChromiumEdge # noqa -from .edge.webdriver import WebDriver as Edge # noqa -from .firefox.firefox_profile import FirefoxProfile # noqa -from .firefox.options import Options as FirefoxOptions # noqa -from .firefox.service import Service as FirefoxService # noqa -from .firefox.webdriver import WebDriver as Firefox # noqa -from .ie.options import Options as IeOptions # noqa -from .ie.service import Service as IeService # noqa -from .ie.webdriver import WebDriver as Ie # noqa -from .remote.webdriver import WebDriver as Remote # noqa -from .safari.options import Options as SafariOptions -from .safari.service import Service as SafariService # noqa -from .safari.webdriver import WebDriver as Safari # noqa -from .webkitgtk.options import Options as WebKitGTKOptions # noqa -from .webkitgtk.service import Service as WebKitGTKService # noqa -from .webkitgtk.webdriver import WebDriver as WebKitGTK # noqa -from .wpewebkit.options import Options as WPEWebKitOptions # noqa -from .wpewebkit.service import Service as WPEWebKitService # noqa -from .wpewebkit.webdriver import WebDriver as WPEWebKit # noqa +from selenium.webdriver.chrome.options import Options as ChromeOptions # noqa +from selenium.webdriver.chrome.service import Service as ChromeService # noqa +from selenium.webdriver.chrome.webdriver import WebDriver as Chrome # noqa +from selenium.webdriver.common.action_chains import ActionChains # noqa +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities # noqa +from selenium.webdriver.common.keys import Keys # noqa +from selenium.webdriver.common.proxy import Proxy # noqa +from selenium.webdriver.edge.options import Options as EdgeOptions # noqa +from selenium.webdriver.edge.service import Service as EdgeService # noqa +from selenium.webdriver.edge.webdriver import WebDriver as ChromiumEdge # noqa +from selenium.webdriver.edge.webdriver import WebDriver as Edge # noqa +from selenium.webdriver.firefox.firefox_profile import FirefoxProfile # noqa +from selenium.webdriver.firefox.options import Options as FirefoxOptions # noqa +from selenium.webdriver.firefox.service import Service as FirefoxService # noqa +from selenium.webdriver.firefox.webdriver import WebDriver as Firefox # noqa +from selenium.webdriver.ie.options import Options as IeOptions # noqa +from selenium.webdriver.ie.service import Service as IeService # noqa +from selenium.webdriver.ie.webdriver import WebDriver as Ie # noqa +from selenium.webdriver.remote.webdriver import WebDriver as Remote # noqa +from selenium.webdriver.safari.options import Options as SafariOptions +from selenium.webdriver.safari.service import Service as SafariService # noqa +from selenium.webdriver.safari.webdriver import WebDriver as Safari # noqa +from selenium.webdriver.webkitgtk.options import Options as WebKitGTKOptions # noqa +from selenium.webdriver.webkitgtk.service import Service as WebKitGTKService # noqa +from selenium.webdriver.webkitgtk.webdriver import WebDriver as WebKitGTK # noqa +from selenium.webdriver.wpewebkit.options import Options as WPEWebKitOptions # noqa +from selenium.webdriver.wpewebkit.service import Service as WPEWebKitService # noqa +from selenium.webdriver.wpewebkit.webdriver import WebDriver as WPEWebKit # noqa __version__ = "4.36.0.202508121825" diff --git a/py/selenium/webdriver/chrome/webdriver.py b/py/selenium/webdriver/chrome/webdriver.py index 15f4aeaf6094e..dc38bdc8dbafc 100644 --- a/py/selenium/webdriver/chrome/webdriver.py +++ b/py/selenium/webdriver/chrome/webdriver.py @@ -17,12 +17,11 @@ from typing import Optional +from selenium.webdriver.chrome.options import Options +from selenium.webdriver.chrome.service import Service from selenium.webdriver.chromium.webdriver import ChromiumDriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities -from .options import Options -from .service import Service - class WebDriver(ChromiumDriver): """Controls the ChromeDriver and allows you to drive the browser.""" diff --git a/py/selenium/webdriver/common/action_chains.py b/py/selenium/webdriver/common/action_chains.py index 17aa1f3fba7a4..994bf70867813 100644 --- a/py/selenium/webdriver/common/action_chains.py +++ b/py/selenium/webdriver/common/action_chains.py @@ -20,14 +20,13 @@ from typing import TYPE_CHECKING, Union +from selenium.webdriver.common.actions.action_builder import ActionBuilder +from selenium.webdriver.common.actions.key_input import KeyInput +from selenium.webdriver.common.actions.pointer_input import PointerInput +from selenium.webdriver.common.actions.wheel_input import ScrollOrigin, WheelInput +from selenium.webdriver.common.utils import keys_to_typing from selenium.webdriver.remote.webelement import WebElement -from .actions.action_builder import ActionBuilder -from .actions.key_input import KeyInput -from .actions.pointer_input import PointerInput -from .actions.wheel_input import ScrollOrigin, WheelInput -from .utils import keys_to_typing - if TYPE_CHECKING: from selenium.webdriver.remote.webdriver import WebDriver diff --git a/py/selenium/webdriver/common/actions/action_builder.py b/py/selenium/webdriver/common/actions/action_builder.py index 48859832de0e7..35ef44f570488 100644 --- a/py/selenium/webdriver/common/actions/action_builder.py +++ b/py/selenium/webdriver/common/actions/action_builder.py @@ -18,16 +18,15 @@ from typing import Any, Optional, Union +from selenium.webdriver.common.actions import interaction +from selenium.webdriver.common.actions.key_actions import KeyActions +from selenium.webdriver.common.actions.key_input import KeyInput +from selenium.webdriver.common.actions.pointer_actions import PointerActions +from selenium.webdriver.common.actions.pointer_input import PointerInput +from selenium.webdriver.common.actions.wheel_actions import WheelActions +from selenium.webdriver.common.actions.wheel_input import WheelInput from selenium.webdriver.remote.command import Command -from . import interaction -from .key_actions import KeyActions -from .key_input import KeyInput -from .pointer_actions import PointerActions -from .pointer_input import PointerInput -from .wheel_actions import WheelActions -from .wheel_input import WheelInput - class ActionBuilder: def __init__( diff --git a/py/selenium/webdriver/common/actions/interaction.py b/py/selenium/webdriver/common/actions/interaction.py index 413ee773f741c..3118c5fe0a586 100644 --- a/py/selenium/webdriver/common/actions/interaction.py +++ b/py/selenium/webdriver/common/actions/interaction.py @@ -16,7 +16,7 @@ # under the License. from typing import Union -from .input_device import InputDevice +from selenium.webdriver.common.actions.input_device import InputDevice KEY = "key" POINTER = "pointer" diff --git a/py/selenium/webdriver/common/actions/key_actions.py b/py/selenium/webdriver/common/actions/key_actions.py index bc23244478902..828b2caf57757 100644 --- a/py/selenium/webdriver/common/actions/key_actions.py +++ b/py/selenium/webdriver/common/actions/key_actions.py @@ -17,11 +17,11 @@ from __future__ import annotations -from ..utils import keys_to_typing -from .interaction import KEY, Interaction -from .key_input import KeyInput -from .pointer_input import PointerInput -from .wheel_input import WheelInput +from selenium.webdriver.common.actions.interaction import KEY, Interaction +from selenium.webdriver.common.actions.key_input import KeyInput +from selenium.webdriver.common.actions.pointer_input import PointerInput +from selenium.webdriver.common.actions.wheel_input import WheelInput +from selenium.webdriver.common.utils import keys_to_typing class KeyActions(Interaction): diff --git a/py/selenium/webdriver/common/actions/key_input.py b/py/selenium/webdriver/common/actions/key_input.py index d9a4b278ae246..35b0fcbb01f6c 100644 --- a/py/selenium/webdriver/common/actions/key_input.py +++ b/py/selenium/webdriver/common/actions/key_input.py @@ -14,9 +14,9 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -from . import interaction -from .input_device import InputDevice -from .interaction import Interaction, Pause +from selenium.webdriver.common.actions import interaction +from selenium.webdriver.common.actions.input_device import InputDevice +from selenium.webdriver.common.actions.interaction import Interaction, Pause class KeyInput(InputDevice): diff --git a/py/selenium/webdriver/common/actions/pointer_actions.py b/py/selenium/webdriver/common/actions/pointer_actions.py index 2a8b19d339315..9be97f46345de 100644 --- a/py/selenium/webdriver/common/actions/pointer_actions.py +++ b/py/selenium/webdriver/common/actions/pointer_actions.py @@ -16,13 +16,12 @@ # under the License. from typing import Optional +from selenium.webdriver.common.actions import interaction +from selenium.webdriver.common.actions.interaction import Interaction +from selenium.webdriver.common.actions.mouse_button import MouseButton +from selenium.webdriver.common.actions.pointer_input import PointerInput from selenium.webdriver.remote.webelement import WebElement -from . import interaction -from .interaction import Interaction -from .mouse_button import MouseButton -from .pointer_input import PointerInput - class PointerActions(Interaction): def __init__(self, source: Optional[PointerInput] = None, duration: int = 250): diff --git a/py/selenium/webdriver/common/actions/pointer_input.py b/py/selenium/webdriver/common/actions/pointer_input.py index 615ce6edb1932..661b126ffd7f4 100644 --- a/py/selenium/webdriver/common/actions/pointer_input.py +++ b/py/selenium/webdriver/common/actions/pointer_input.py @@ -18,11 +18,10 @@ from typing import Any, Optional, Union from selenium.common.exceptions import InvalidArgumentException +from selenium.webdriver.common.actions.input_device import InputDevice +from selenium.webdriver.common.actions.interaction import POINTER, POINTER_KINDS from selenium.webdriver.remote.webelement import WebElement -from .input_device import InputDevice -from .interaction import POINTER, POINTER_KINDS - class PointerInput(InputDevice): DEFAULT_MOVE_DURATION = 250 diff --git a/py/selenium/webdriver/common/actions/wheel_actions.py b/py/selenium/webdriver/common/actions/wheel_actions.py index 16da6bc56b527..cfb47141087c5 100644 --- a/py/selenium/webdriver/common/actions/wheel_actions.py +++ b/py/selenium/webdriver/common/actions/wheel_actions.py @@ -17,8 +17,8 @@ from typing import Optional -from .interaction import WHEEL, Interaction -from .wheel_input import WheelInput +from selenium.webdriver.common.actions.interaction import WHEEL, Interaction +from selenium.webdriver.common.actions.wheel_input import WheelInput class WheelActions(Interaction): diff --git a/py/selenium/webdriver/common/actions/wheel_input.py b/py/selenium/webdriver/common/actions/wheel_input.py index a072e825be4b9..e9ce59a203a73 100644 --- a/py/selenium/webdriver/common/actions/wheel_input.py +++ b/py/selenium/webdriver/common/actions/wheel_input.py @@ -16,11 +16,10 @@ # under the License. from typing import Union +from selenium.webdriver.common.actions import interaction +from selenium.webdriver.common.actions.input_device import InputDevice from selenium.webdriver.remote.webelement import WebElement -from . import interaction -from .input_device import InputDevice - class ScrollOrigin: def __init__(self, origin: Union[str, WebElement], x_offset: int, y_offset: int) -> None: diff --git a/py/selenium/webdriver/common/bidi/browsing_context.py b/py/selenium/webdriver/common/bidi/browsing_context.py index aa432fc356751..3c2bdbf9ce2c5 100644 --- a/py/selenium/webdriver/common/bidi/browsing_context.py +++ b/py/selenium/webdriver/common/bidi/browsing_context.py @@ -20,8 +20,7 @@ from typing import Any, Callable, Optional, Union from selenium.webdriver.common.bidi.common import command_builder - -from .session import Session +from selenium.webdriver.common.bidi.session import Session class ReadinessState: diff --git a/py/selenium/webdriver/common/bidi/script.py b/py/selenium/webdriver/common/bidi/script.py index 50e93e18288a7..cbf18b4f072e1 100644 --- a/py/selenium/webdriver/common/bidi/script.py +++ b/py/selenium/webdriver/common/bidi/script.py @@ -22,9 +22,8 @@ from selenium.common.exceptions import WebDriverException from selenium.webdriver.common.bidi.common import command_builder - -from .log import LogEntryAdded -from .session import Session +from selenium.webdriver.common.bidi.log import LogEntryAdded +from selenium.webdriver.common.bidi.session import Session class ResultOwnership: diff --git a/py/selenium/webdriver/common/fedcm/dialog.py b/py/selenium/webdriver/common/fedcm/dialog.py index cf5fe2d351f55..9a7a2a89a2d61 100644 --- a/py/selenium/webdriver/common/fedcm/dialog.py +++ b/py/selenium/webdriver/common/fedcm/dialog.py @@ -17,7 +17,7 @@ from typing import Optional -from .account import Account +from selenium.webdriver.common.fedcm.account import Account class Dialog: diff --git a/py/selenium/webdriver/edge/webdriver.py b/py/selenium/webdriver/edge/webdriver.py index 5b7b1856dfc08..4cac95d68ef5c 100644 --- a/py/selenium/webdriver/edge/webdriver.py +++ b/py/selenium/webdriver/edge/webdriver.py @@ -19,9 +19,8 @@ from selenium.webdriver.chromium.webdriver import ChromiumDriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities - -from .options import Options -from .service import Service +from selenium.webdriver.edge.options import Options +from selenium.webdriver.edge.service import Service class WebDriver(ChromiumDriver): diff --git a/py/selenium/webdriver/firefox/webdriver.py b/py/selenium/webdriver/firefox/webdriver.py index 4f4645cc0aae5..7aabafcecc359 100644 --- a/py/selenium/webdriver/firefox/webdriver.py +++ b/py/selenium/webdriver/firefox/webdriver.py @@ -23,12 +23,11 @@ from typing import Optional from selenium.webdriver.common.driver_finder import DriverFinder +from selenium.webdriver.firefox.options import Options +from selenium.webdriver.firefox.remote_connection import FirefoxRemoteConnection +from selenium.webdriver.firefox.service import Service from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver -from .options import Options -from .remote_connection import FirefoxRemoteConnection -from .service import Service - class WebDriver(RemoteWebDriver): """Controls the GeckoDriver and allows you to drive the browser.""" diff --git a/py/selenium/webdriver/ie/webdriver.py b/py/selenium/webdriver/ie/webdriver.py index 9aa28a64370a9..16e9e7ea95118 100644 --- a/py/selenium/webdriver/ie/webdriver.py +++ b/py/selenium/webdriver/ie/webdriver.py @@ -18,13 +18,12 @@ from typing import Optional from selenium.webdriver.common.driver_finder import DriverFinder +from selenium.webdriver.ie.options import Options +from selenium.webdriver.ie.service import Service from selenium.webdriver.remote.client_config import ClientConfig from selenium.webdriver.remote.remote_connection import RemoteConnection from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver -from .options import Options -from .service import Service - class WebDriver(RemoteWebDriver): """Controls the IEServerDriver and allows you to drive Internet diff --git a/py/selenium/webdriver/remote/fedcm.py b/py/selenium/webdriver/remote/fedcm.py index 5c44009ea6878..2733bc6006f8e 100644 --- a/py/selenium/webdriver/remote/fedcm.py +++ b/py/selenium/webdriver/remote/fedcm.py @@ -17,7 +17,7 @@ from typing import Optional -from .command import Command +from selenium.webdriver.remote.command import Command class FedCM: diff --git a/py/selenium/webdriver/remote/mobile.py b/py/selenium/webdriver/remote/mobile.py index bdab75860b876..dad35ed699e68 100644 --- a/py/selenium/webdriver/remote/mobile.py +++ b/py/selenium/webdriver/remote/mobile.py @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -from .command import Command +from selenium.webdriver.remote.command import Command class _ConnectionType: diff --git a/py/selenium/webdriver/remote/remote_connection.py b/py/selenium/webdriver/remote/remote_connection.py index 2b496e42c7cb3..7905209fe17a7 100644 --- a/py/selenium/webdriver/remote/remote_connection.py +++ b/py/selenium/webdriver/remote/remote_connection.py @@ -27,11 +27,10 @@ import urllib3 from selenium import __version__ - -from . import utils -from .client_config import ClientConfig -from .command import Command -from .errorhandler import ErrorCode +from selenium.webdriver.remote import utils +from selenium.webdriver.remote.client_config import ClientConfig +from selenium.webdriver.remote.command import Command +from selenium.webdriver.remote.errorhandler import ErrorCode LOGGER = logging.getLogger(__name__) diff --git a/py/selenium/webdriver/remote/shadowroot.py b/py/selenium/webdriver/remote/shadowroot.py index 2d81f17e01426..960377081f7dd 100644 --- a/py/selenium/webdriver/remote/shadowroot.py +++ b/py/selenium/webdriver/remote/shadowroot.py @@ -17,8 +17,8 @@ from hashlib import md5 as md5_hash -from ..common.by import By -from .command import Command +from selenium.webdriver.common.by import By +from selenium.webdriver.remote.command import Command class ShadowRoot: diff --git a/py/selenium/webdriver/remote/switch_to.py b/py/selenium/webdriver/remote/switch_to.py index 1fad0f74a0d68..30a26ed760f39 100644 --- a/py/selenium/webdriver/remote/switch_to.py +++ b/py/selenium/webdriver/remote/switch_to.py @@ -20,10 +20,9 @@ from selenium.common.exceptions import NoSuchElementException, NoSuchFrameException, NoSuchWindowException from selenium.webdriver.common.alert import Alert from selenium.webdriver.common.by import By +from selenium.webdriver.remote.command import Command from selenium.webdriver.remote.webelement import WebElement -from .command import Command - class SwitchTo: def __init__(self, driver) -> None: diff --git a/py/selenium/webdriver/remote/webdriver.py b/py/selenium/webdriver/remote/webdriver.py index c92cbacab815a..84cc7c5b5b751 100644 --- a/py/selenium/webdriver/remote/webdriver.py +++ b/py/selenium/webdriver/remote/webdriver.py @@ -58,23 +58,22 @@ VirtualAuthenticatorOptions, required_virtual_authenticator, ) +from selenium.webdriver.remote.bidi_connection import BidiConnection +from selenium.webdriver.remote.client_config import ClientConfig +from selenium.webdriver.remote.command import Command +from selenium.webdriver.remote.errorhandler import ErrorHandler +from selenium.webdriver.remote.fedcm import FedCM +from selenium.webdriver.remote.file_detector import FileDetector, LocalFileDetector +from selenium.webdriver.remote.locator_converter import LocatorConverter +from selenium.webdriver.remote.mobile import Mobile +from selenium.webdriver.remote.remote_connection import RemoteConnection +from selenium.webdriver.remote.script_key import ScriptKey +from selenium.webdriver.remote.shadowroot import ShadowRoot +from selenium.webdriver.remote.switch_to import SwitchTo +from selenium.webdriver.remote.webelement import WebElement +from selenium.webdriver.remote.websocket_connection import WebSocketConnection from selenium.webdriver.support.relative_locator import RelativeBy -from .bidi_connection import BidiConnection -from .client_config import ClientConfig -from .command import Command -from .errorhandler import ErrorHandler -from .fedcm import FedCM -from .file_detector import FileDetector, LocalFileDetector -from .locator_converter import LocatorConverter -from .mobile import Mobile -from .remote_connection import RemoteConnection -from .script_key import ScriptKey -from .shadowroot import ShadowRoot -from .switch_to import SwitchTo -from .webelement import WebElement -from .websocket_connection import WebSocketConnection - cdp = None diff --git a/py/selenium/webdriver/remote/webelement.py b/py/selenium/webdriver/remote/webelement.py index 0e5754d82b314..f9db08f05f76c 100644 --- a/py/selenium/webdriver/remote/webelement.py +++ b/py/selenium/webdriver/remote/webelement.py @@ -28,9 +28,8 @@ from selenium.common.exceptions import JavascriptException, WebDriverException from selenium.webdriver.common.by import By from selenium.webdriver.common.utils import keys_to_typing - -from .command import Command -from .shadowroot import ShadowRoot +from selenium.webdriver.remote.command import Command +from selenium.webdriver.remote.shadowroot import ShadowRoot # TODO: When moving to supporting python 3.9 as the minimum version we can # use built in importlib_resources.files. diff --git a/py/selenium/webdriver/safari/webdriver.py b/py/selenium/webdriver/safari/webdriver.py index 333fa50bb40ea..d7b52a03ed245 100644 --- a/py/selenium/webdriver/safari/webdriver.py +++ b/py/selenium/webdriver/safari/webdriver.py @@ -18,12 +18,11 @@ from typing import Optional from selenium.common.exceptions import WebDriverException +from selenium.webdriver.common.driver_finder import DriverFinder from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver - -from ..common.driver_finder import DriverFinder -from .options import Options -from .remote_connection import SafariRemoteConnection -from .service import Service +from selenium.webdriver.safari.options import Options +from selenium.webdriver.safari.remote_connection import SafariRemoteConnection +from selenium.webdriver.safari.service import Service class WebDriver(RemoteWebDriver): diff --git a/py/selenium/webdriver/support/event_firing_webdriver.py b/py/selenium/webdriver/support/event_firing_webdriver.py index 888407e06c782..7edbf4560cbb9 100644 --- a/py/selenium/webdriver/support/event_firing_webdriver.py +++ b/py/selenium/webdriver/support/event_firing_webdriver.py @@ -21,8 +21,7 @@ from selenium.webdriver.common.by import By from selenium.webdriver.remote.webdriver import WebDriver from selenium.webdriver.remote.webelement import WebElement - -from .abstract_event_listener import AbstractEventListener +from selenium.webdriver.support.abstract_event_listener import AbstractEventListener def _wrap_elements(result, ef_driver): diff --git a/py/selenium/webdriver/support/events.py b/py/selenium/webdriver/support/events.py index 775d00a665f49..3de9b417b5119 100644 --- a/py/selenium/webdriver/support/events.py +++ b/py/selenium/webdriver/support/events.py @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. -from .abstract_event_listener import AbstractEventListener # noqa -from .event_firing_webdriver import EventFiringWebDriver # noqa +from selenium.webdriver.support.abstract_event_listener import AbstractEventListener # noqa +from selenium.webdriver.support.event_firing_webdriver import EventFiringWebDriver # noqa diff --git a/py/selenium/webdriver/support/ui.py b/py/selenium/webdriver/support/ui.py index 25b9664bb44ae..9b0cc14593549 100644 --- a/py/selenium/webdriver/support/ui.py +++ b/py/selenium/webdriver/support/ui.py @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -from .select import Select -from .wait import WebDriverWait +from selenium.webdriver.support.select import Select +from selenium.webdriver.support.wait import WebDriverWait __all__ = ["Select", "WebDriverWait"] diff --git a/py/selenium/webdriver/webkitgtk/webdriver.py b/py/selenium/webdriver/webkitgtk/webdriver.py index dedf8df9d0db7..8c2f45e891c7b 100644 --- a/py/selenium/webdriver/webkitgtk/webdriver.py +++ b/py/selenium/webdriver/webkitgtk/webdriver.py @@ -20,9 +20,8 @@ from selenium.webdriver.common.driver_finder import DriverFinder from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver - -from .options import Options -from .service import Service +from selenium.webdriver.webkitgtk.options import Options +from selenium.webdriver.webkitgtk.service import Service class WebDriver(RemoteWebDriver): diff --git a/py/selenium/webdriver/wpewebkit/webdriver.py b/py/selenium/webdriver/wpewebkit/webdriver.py index 64e298cc475c5..8cae93d2c9f15 100644 --- a/py/selenium/webdriver/wpewebkit/webdriver.py +++ b/py/selenium/webdriver/wpewebkit/webdriver.py @@ -20,9 +20,8 @@ from selenium.webdriver.common.driver_finder import DriverFinder from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver - -from .options import Options -from .service import Service +from selenium.webdriver.wpewebkit.options import Options +from selenium.webdriver.wpewebkit.service import Service class WebDriver(RemoteWebDriver):