MCPcopy Index your code
hub / github.com/seleniumbase/SeleniumBase / open_new_window

Method open_new_window

seleniumbase/fixtures/base_case.py:4018–4047  ·  view source on GitHub ↗

Opens a new browser tab/window and switches to it by default.

(self, switch_to=True, **kwargs)

Source from the content-addressed store, hash-verified

4016 self.set_content_to_default(nested=True)
4017
4018 def open_new_window(self, switch_to=True, **kwargs):
4019 """Opens a new browser tab/window and switches to it by default."""
4020 url = None
4021 if self.__looks_like_a_page_url(str(switch_to)):
4022 # Different API for CDP Mode: First arg is a `url`.
4023 # (Also, don't break backwards compat for reg mode)
4024 url = switch_to
4025 switch_to = True
4026 if self.__is_cdp_swap_needed():
4027 self.cdp.open_new_tab(url=url, switch_to=switch_to, **kwargs)
4028 return
4029 elif (
4030 getattr(self.driver, "_is_using_uc", None)
4031 and getattr(self.driver, "_is_using_cdp", None)
4032 ):
4033 self.disconnect()
4034 self.cdp.open_new_tab(url=url, switch_to=switch_to, **kwargs)
4035 return
4036 self.wait_for_ready_state_complete()
4037 if switch_to:
4038 try:
4039 self.driver.switch_to.new_window("tab")
4040 except Exception:
4041 self.driver.execute_script("window.open('');")
4042 self.switch_to_newest_window()
4043 else:
4044 self.driver.execute_script("window.open('');")
4045 time.sleep(0.01)
4046 if self.browser == "safari":
4047 self.wait_for_ready_state_complete()
4048
4049 def switch_to_window(self, window, timeout=None):
4050 """Switches control of the browser to the specified window.

Callers 4

openMethod · 0.95
clickMethod · 0.95
set_content_to_frameMethod · 0.95
open_new_tabMethod · 0.95

Calls 8

__is_cdp_swap_neededMethod · 0.95
disconnectMethod · 0.80
open_new_tabMethod · 0.45
execute_scriptMethod · 0.45
sleepMethod · 0.45

Tested by

no test coverage detected