"""Add entries to the entitlement review ticket from a csv file.""" from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time import pandas url = "https://aegon.service-now.com/asp?id=sc_cat_item&sys_id=ae4e7d68dbd4fc10b037ee71ca9619df" addbtn1_id = "b7401efddbdc38907afc65b3059619e0_add_row" user_input_id = "sp_formfield_user_search" group_input_id = "sp_formfield_group_search" addbtn2_id = "mrvs_save_button" options = Options() options.add_experimental_option("detach", True) options.add_experimental_option("useAutomationExtension", False) options.add_experimental_option("excludeSwitches", ["enable-automation"]) driver = webdriver.Chrome( service=Service(ChromeDriverManager().install()), options=options ) driver.get(url) driver.maximize_window() def add_entry(userid: str, groupid: str): """Add an entry.""" WebDriverWait(driver, 200).until( EC.visibility_of_element_located((By.ID, user_input_id)) ) user_input = driver.find_element(By.ID, user_input_id) group_input = driver.find_element(By.ID, group_input_id) time.sleep(2.5) user_input.send_keys(userid) group_input.send_keys(groupid) time.sleep(2.5) driver.find_element(By.ID, addbtn2_id).click() df = pandas.read_csv("Book3.csv") def main(): """Run in script-mode.""" for _, d in df.iterrows(): try: WebDriverWait(driver, 200).until( EC.visibility_of_element_located((By.ID, addbtn1_id)) ) driver.find_element(By.ID, addbtn1_id).click() userid, groupid = d["User LAN ID"], d["Group ID"] print(userid, groupid) add_entry(userid, groupid) except: input("Error occured, press Enter to continue: ") if __name__ == "__main__": main()