in foxpuppet/windows/browser/panel_ui/panel_ui.py [0:0]
def open_new_window(self) -> None:
"""
Opens a new window using the Panel UI menu.
"""
initial_handles = set(self.selenium.window_handles)
self.open_panel_menu()
with self.selenium.context(self.selenium.CONTEXT_CHROME):
self.selenium.find_element(*PanelUILocators.NEW_WINDOW).click()
self.wait.until(
lambda _: set(self.selenium.window_handles) - initial_handles,
message="New window did not open",
)
new_window = (set(self.selenium.window_handles) - initial_handles).pop()
self.selenium.switch_to.window(new_window)
self.wait.until(
lambda _: self.selenium.execute_script("return document.readyState")
== "complete",
message="New window document not fully loaded",
)