Search code examples
pythonseleniumselenium-webdriverwebdriverselenium-chromedriver

How to get rid of the infobar "Chrome is being controlled by automated test software" through Selenium


Been searching for a while and tried all the solutions present but none appear to be working. I created a "slide show" that will first log in, then alternate between tabs. All of that is working but i cannot get rid of the

"Chrome is being controlled by automated test software" bar. Any advise?

Code

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
usernameStr = 'test'
passwordStr = 'test'
browser = webdriver.Chrome()

#first tab
browser.get(('www.testwebsite.com?'))
# fill in username and hit the next button
username = browser.find_element_by_id('username')
username.send_keys(usernameStr)
password = WebDriverWait(browser, 10).until(
    EC.presence_of_element_located((By.ID, 'password')))
password.send_keys(passwordStr)
nextButton = browser.find_element_by_class_name('emp-submit')
nextButton.click()

#second tab
browser.execute_script("window.open('about:blank', 'tab2');")
browser.switch_to.window("tab2")
browser.get('www.testwebsite.com')

Solution

  • When you open Chrome Browser in through ChromeDriver this infobar containing the notification is embedded as follows:

    Chrome is being controlled by automated test software
    
    • Browser snapshot without the argument disable-infobars:

    infobar

    But if you add the argument disable-infobars through an instance of ChromeOptions you can get rid of this infobar as follows:

    • Code Block:

      from selenium import webdriver
      from selenium.webdriver.chrome.options import Options
      
      options = Options()
      options.add_argument('start-maximized')
      options.add_argument('disable-infobars')
      driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
      driver.get('https://www.google.com/')
      
    • Browser snapshot applying the argument disable-infobars:

    no_infobar