user3235542
user3235542

Reputation:

How to replace default values in the text field using selenium python?

I know how to send keys into a blank field as follows:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Firefox()
url = 'https://www.aircanada.com/en/'
browser.get(url)
browser.find_element_by_id('departure1').send_keys('28/03/2014')

However, since the field already has default value 'DD/MM/YYYY', how can I replace that field value with my value (i.e., '28/03/2014')

Upvotes: 8

Views: 14804

Answers (3)

Iqbal
Iqbal

Reputation: 2304

The clear() function is for this purpose.

from selenium import webdriver

browser = webdriver.Firefox()
url = 'https://www.aircanada.com/en/'
browser.get(url)

dep_date = browser.find_element_by_id('departure1')
dep_date.clear()
dep_date.send_keys('28/03/2014')

Haven't tested but this should do what you wanted, in a more 'Pythonic' way.

Upvotes: 7

barak manos
barak manos

Reputation: 30136

A couple of errors in your code:

  • The date format is wrong (should be DD/MM/YYYY, and not YYYY-MM-DD).
  • You need to delete the DD/MM/YYYY using 10 clicks on the backspace key.

Here is the fix:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Firefox()
url = 'https://www.aircanada.com/en/'
browser.get(url)
departure1 = browser.find_element_by_id('departure1')
departure1.send_keys(Keys.BACKSPACE*10)
departure1.send_keys('21/03/2014')
departure2 = browser.find_element_by_id('departure2')
departure2.send_keys(Keys.BACKSPACE*10)
departure2.send_keys('22/03/2014')

Upvotes: 3

Yi Zeng
Yi Zeng

Reputation: 32855

Tested working for me:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Firefox()
url = 'https://www.aircanada.com/en/'
browser.get(url)

input_field = browser.find_element_by_id('departure1')

browser.execute_script("arguments[0].value = ''", input_field)
input_field.send_keys('12/04/2014')
input_field.send_keys(Keys.RETURN)

Upvotes: 6

Related Questions