Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用selenium python替换文本字段中的默认值?_Python_Selenium - Fatal编程技术网

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

如何使用selenium python替换文本字段中的默认值?,python,selenium,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'

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

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”)替换该字段值

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)

代码中有几个错误:

  • 日期格式错误(应该是
    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')
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')

还没有测试过,但这应该可以做你想做的事情,以一种更“Pythonic”的方式。

真正的URL是什么?(不是)。@barak manos请看一下我编辑的问题您指的是
出发日期
字段吗?您是否尝试过
浏览器。按id(“出发1”)查找元素。清除()?@barakmanos你看到真实的网站了吗?@Amith:谢谢,我测试过了,确实如此。谢谢投票,但意识到你或barak manosAt会接受哪一个,你希望你有多个答案接受功能?!;)@艾米思:是的,我同意你的看法。@neha-嗯,两者都很好,所以我不得不删除我的。你为什么不试试掷硬币呢?:@Amith我真的掷了一次硬币,结果用户1177636赢了!不是这个坏了就是我用错了。当我在一个元素上运行
clear()
时,它返回
None
,并且我不能使用
send\u keys()