clear() does not clear the textbox with selenium and python and firefox

LetzerWille picture LetzerWille · Mar 7, 2018 · Viewed 7.8k times · Source

clear() does not work in this case. I am getting append after append.
searchForMovie.clear() is not working... I have also tried to send
CTRL + 'a', and then the DELETE. Again all I got are just appends...

 for movie in allMissing:

            time.sleep (10)

            searchForMovie = WebDriverWait (driver, 10).until \
                (EC.presence_of_element_located ((By.CSS_SELECTOR, "#search-text")))  

            searchForMovie.send_keys (movie)

            # click
            enter = WebDriverWait (driver, 10).until \
                (EC.presence_of_element_located ((By.CSS_SELECTOR, "#search-submit")))  

            driver.execute_script ("arguments[0].click()", enter)


            # clear the search text box
            searchForMovie = WebDriverWait (driver, 10).until \
                (EC.presence_of_element_located ((By.CSS_SELECTOR, "#search-text")))

            searchForMovie.clear()

Answer

DebanjanB picture DebanjanB · Mar 7, 2018

To clear the textbox you need to induce WebDriverWait with expected_conditions set to element_to_be_clickable, next invoke click() on the WebElement and then invoke clear() as follows :

# clear the search text box
searchForMovie = WebDriverWait (driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#search-text")))
searchForMovie.click()
searchForMovie.clear()