Open and Close New Tab with Selenium Webdriver in Os X
I'm Using the Firefox Webdriver in Python 2.7 on Windows to Simulate Opening (Ctrl+T) and Closing (Ctrl + W) a New Tab. Here's My Code: from Selenium Import...
I'm using the Firefox Webdriver in Python 2.7 on Windows to simulate opening (Ctrl+t) and closing (Ctrl + w) a new tab.
Here's my code:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox()
browser.get(')
main_window = browser.current_window_handle
# open new tab
browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
browser.get(')
# close tab
browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 'w')
How to achieve the same on a Mac?
Based on this comment one should use browser.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't') to open a new tab but I don't have a Mac to test it and what about the equivalent of Ctrl-w?
Thanks!
5 Answers
There's nothing easier and clearer than just running JavaScript.
Open new tab:
driver.execute_script("window.open('');")
You can choose which window you want to close:
window_name = browser.window_handles[0]
Switch window:
browser.switch_to.window(window_name=window_name)
Then close it:
browser.close()
open a new tab:
browser.get(')
close a tab:
browser.close()
switch to a tab:
browser.swith_to_window(window_name)
Just to combine the answers above for someone still curious. The below is based on Python 2.7 and a driver in Chrome.
Open new tab by: driver.execute_script("window.open('"+URL+"', '__blank__');")
where URL is a string such as "".
Close tab by:
driver.close() [Note, this also doubles as driver.quit() when you only have 1 tab open].
Navigate between tabs by: driver.switch_to_window(driver.window_handles[0])
and driver.switch_to_window(driver.window_handles[1]).
Open new tab:
browser.execute_script("window.open('"+your url+"', '_blank')")
Switch to new tab:
browser.switch_to.window(windows[1])