如何使用selenium python替换文本字段中的默认值?

时间:2014-03-20 09:23:00

标签: python selenium

我知道如何将密钥发送到空白字段,如下所示:

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')

但是,由于该字段已具有默认值' DD / MM / YYYY',如何将该字段值替换为我的值(即' 28/03 / 2014' )

3 个答案:

答案 0 :(得分:3)

经过测试为我工作:

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)

答案 1 :(得分:2)

clear()功能就是为了这个目的。

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没有经过测试,但这应该可以做到你想要的,更多的是Pythonic'方式。

答案 2 :(得分:1)

代码中的一些错误:

  • 日期格式错误(应为DD/MM/YYYY,而不是YYYY-MM-DD)。
  • 您需要在退格键上单击10次,删除DD/MM/YYYY

以下是修复:

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')