title: Selenium Webdriver (Python) - Click on a div element (checkbox)
body: <p>I am trying to click on a non-button element (checkbox) inside an iframe but am not able to click on it using the selenium webdriver. The URL is <a href="https://www.nissanoflithiasprings.com/schedule-service" rel="nofollow noreferrer">https://www.nissanoflithiasprings.com/schedule-service</a> and the box that I want to click is shown in the screenshot below:</p>
  
  <p>NOTE: Select the following options to reach the screen shown in the screenshot below: Click on New Customer "MAKE. MODEL. YEAR". Select Make as "NISSAN" -> Year as "2018" -> Model as "ALTIMA" -> Trim as "SL" -> Engine Type as "I4" -> Enter Mileage as "35000" -> Click on "CONTINUE" at the bottom. On the following page, the goal is to click on the checkbox Maintenance Package Standard / Schedule 1 (the checkbox needs to be clicked but I am not able to find the correct code line for Selenium to be able to click on it)</p>
  
  <p>Below is the working Selenium Python script that I wrote to successfully navigate until the page that shows the checkbox that I wish to click:</p>
  
  <pre><code>from selenium import webdriver
  from selenium.webdriver.common.keys import Keys
  from selenium.webdriver.support import expected_conditions as ec
  from selenium.webdriver.support.ui import WebDriverWait
  from selenium.webdriver.common.by import By
  
  chrome_path = r"C:\Users\gh456\Downloads\chromedriver_win32\chromedriver.exe"
  driver = webdriver.Chrome(chrome_path)
  driver.maximize_window()
  driver.get("https://www.nissanoflithiasprings.com/schedule-service")
  
  wait = WebDriverWait(driver, 10)
  
  # first frame - by css selector
  wait.until(ec.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR, '[src^="https://consumer.xtime.com"]')))
  
  # second frame - by ID
  wait.until(ec.frame_to_be_available_and_switch_to_it('xt01'))
  
  driver.find_element_by_id("new_customer_button").click()
  
  driver.find_element_by_id("NISSAN").click()
  
  wait.until(ec.visibility_of_element_located((By.ID, "2018"))).click()
  
  wait.until(ec.visibility_of_element_located((By.ID, "ALTIMA"))).click()
  
  wait.until(ec.visibility_of_element_located((By.ID, "SL"))).click()
  
  wait.until(ec.visibility_of_element_located((By.ID, "I4"))).click()
  
  wait.until(ec.visibility_of_element_located((By.NAME, "mileage_input"))).send_keys("35000")
  
  wait.until(ec.visibility_of_element_located((By.ID, "continue_button"))).click()
  
  # Click on the checkbox 
  # ---??????????????????
  </code></pre>
  
  <p>Can someone help me with the correct code to make selenium webdriver to click that checkbox? </p>