The following code is working now:
from selenium import webdriver
from selenium.webdriver.support import ui
import time
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
browser = webdriver.Chrome()
browser.get("https://www.google.com?q=python#q=python")
first_result = ui.WebDriverWait(browser, 15).until(lambda browser:
browser.find_element_by_class_name("rc"))
first_link = first_result.find_element_by_tag_name("a")
# Save the window opener (current window, do not mistake with tab... not the same).
main_window = browser.current_window_handle
# Open the link in a new tab by sending keystrokes on the element.
ActionChains(browser) \
.key_down(Keys.COMMAND) \
.click(first_link) \
.key_up(Keys.COMMAND) \
.perform()
browser.switch_to.window(browser.window_handles[1])
time.sleep(5)
# Close current tab.
browser.close()
time.sleep(5)
# Put the focus on the current window which will be the window opener.
browser.switch_to.window(main_window)
# Close the instance of the browser.
browser.quit()
Thanks for your help!