foxpuppet/windows/manager.py (12 lines of code) (raw):

# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this file, # You can obtain one at http://mozilla.org/MPL/2.0/. """Window Management for FoxPuppet.""" from selenium.webdriver.remote.webdriver import WebDriver from foxpuppet.windows import BrowserWindow class WindowManager(object): """A window manager that controls the creation of window objects. Args: selenium: (:py:class:`~selenium.webdriver.remote.webdriver.WebDriver`): Firefox WebDriver object. """ def __init__(self, selenium: WebDriver) -> None: """Create WindowManager Object. Args: selenium: (:py:class:`~selenium.webdriver.remote.webdriver.WebDriver`): Firefox WebDriver object. """ self.selenium = selenium @property def windows(self) -> list[BrowserWindow]: """Return a list of all open windows. Returns: list: List of FoxPuppet BrowserWindow objects. """ from foxpuppet.windows import BrowserWindow return [ BrowserWindow(self.selenium, handle) for handle in self.selenium.window_handles ]