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 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!

2

5 Answers

There's nothing easier and clearer than just running JavaScript.

Open new tab: driver.execute_script("window.open('');")

1

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) 
3

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]) 
2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like