Reputation: 5658
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()
Upvotes: 6
Views: 18032
Reputation: 3790
In case .clear()
does not work you can try:
from selenium.webdriver.common.keys import Keys
#...your code (I was using python 3)
driver.find_element_by_id('foo').send_keys(Keys.CONTROL + "a");
driver.find_element_by_id('foo').send_keys(Keys.DELETE);
Upvotes: 4
Reputation: 241
I think it should be as easy as:
driver.execute_script("$('#search-text').val('');")
If you want to do it without jQuery, you could use plain javascript:
document.getElementById('search-text').value = '';
Upvotes: 3
Reputation: 193108
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()
Upvotes: 6