from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait options = webdriver.FirefoxOptions() options.add_argument("-headless") driver = webdriver.Firefox(options=options) try: driver.get( "https://www.selenium.dev/selenium/web/locators_tests/locators.html" ) first_name = WebDriverWait(driver, 10).until( EC.visibility_of_element_located((By.CSS_SELECTOR, "#fname")) ) contact_form = driver.find_element(By.CSS_SELECTOR, "form") newsletter_fields = contact_form.find_elements( By.CSS_SELECTOR, "input[name='newsletter']" ) first_name_value = first_name.get_attribute("value") assert first_name_value == "Jane" assert len(newsletter_fields) == 1 print(f"first_name_value: {first_name_value}") print(f"newsletter_matches: {len(newsletter_fields)}") finally: driver.quit()