From 3e2018cc44571f6519efe44298aabf684e1922ce Mon Sep 17 00:00:00 2001 From: Suresh Krishna D <53283126+suresh-krishna-d@users.noreply.github.com> Date: Wed, 22 Apr 2026 15:57:17 +0530 Subject: [PATCH] Improve Selenium script by replacing sleep with explicit waits and using Keys.RETURN for search action Updated the script to use WebDriverWait for element presence and replaced sleep with a more efficient wait method. --- sample_script.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/sample_script.py b/sample_script.py index 5d9332048..b318f12b8 100755 --- a/sample_script.py +++ b/sample_script.py @@ -1,26 +1,29 @@ -from time import sleep from selenium import webdriver from selenium.webdriver.common.by import By +from selenium.webdriver.common.keys import Keys +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.support import expected_conditions as EC # init driver driver = webdriver.Chrome() driver.maximize_window() # open the url -driver.get('https://www.google.com/') +driver.get("https://www.google.com") -search = driver.find_element(By.NAME, 'q') -search.clear() -search.send_keys('Dress') +# wait +wait = WebDriverWait(driver, 10) -# wait for 4 sec -sleep(4) +# find search box and enter text +search = wait.until(EC.presence_of_element_located((By.NAME, "q"))) +search.send_keys("Dress") +search.send_keys(Keys.RETURN) # better than clicking button -# click search -driver.find_element(By.NAME, 'btnK').click() +# wait for results page +wait.until(EC.url_contains("dress")) # verify -assert 'dress' in driver.current_url.lower(), f"Expected query not in {driver.current_url.lower()}" -print('Test Passed') +assert "dress" in driver.current_url.lower(), f"Expected query not in {driver.current_url.lower()}" +print("Test Passed") driver.quit()