title: Opening link in the new tab and switching between tabs (Selenium WebDriver + Python)
body: <p>I have such code with comments:</p>
  
  <pre><code>import selenium.webdriver as webdriver
  import selenium.webdriver.support.ui as ui
  from selenium.webdriver.common.keys import Keys
  
  
  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.
  first_link.send_keys(Keys.COMMAND + "t")
  
  # Switch tab to the new tab, which we will assume is the next one on 
  the right and put focus.
  browser.find_element_by_tag_name("body").send_keys(Keys.COMMAND + 
  Keys.NUMPAD2)
  
  # Close current tab.
  browser.find_element_by_tag_name("body").send_keys(Keys.COMMAND + "w")
  
  # Put the focus on the current window which will be the window opener.
  browser.switch_to.window(main_window)
  </code></pre>
  
  <p>But it does not work (the script is hanging) -- first_link is not opening in the new tab.
  Any other thoughts about it? Thanks.</p>
  
  <p>PS: I am on the macOS.</p>