Python Selenium:输入文本框,send_keys无效

5
在我的Python代码中,我想在日期文本框中输入一个日期。但是,现有的日期无法清除,也无法输入新的日期。我正在使用Selenium。我认为该元素已被找到,但无论如何,在此文本框上Send_keys()函数都无效。问题出在哪里?
谢谢。
url = 'https://iol1.iroquois.com/infopost/Pages/OperationallyAvailable.php?parentId=100'
browser.get(url)
date_element = browser.find_element_by_id('searchDateTextfield-inputEl')
date_element.click()
date_element..clear()
date_element.send_keys(slash_date)
date_element.submit()

另外,从selenium导入webdriver。 - TomQuin
您只需要发送日期的数字(无需斜杠等符号)。如果您手动在框中输入,它似乎只接受数字。 - JeffC
2个回答

4
以下是完整的功能代码-
import time
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
browser = webdriver.Firefox()

url = 'https://iol1.iroquois.com/infopost/Pages/OperationallyAvailable.php?parentId=100'
browser.get(url)
WebDriverWait(browser,10000).until(EC.visibility_of_element_located((By.TAG_NAME,'body')))
date_element = browser.find_element_by_id('searchDateTextfield-inputEl')
date_element.click()
date_element.send_keys(Keys.HOME)

# For date 10 Oct 2015
date_element.send_keys("10042015")
date_element.send_keys(Keys.TAB)
browser.find_element_by_xpath("//span[@id='retrieveButton-btnInnerEl']").click()
time.sleep(100)
browser.close()

2
这对我很有帮助。只需输入日期,不需要任何符号,只需数字即可。
...
from selenium.webdriver.common.keys import Keys

date_element = browser.find_element_by_id('searchDateTextfield-inputEl')
date_element.click()
date_element.send_keys(Keys.HOME)

# For date 23/10/2015 the format should be MMddyyyy
date_element.send_keys("10232015")
...

你其实不需要使用 .click()send_keys(Keys.HOME),但我需要等待。 - JeffC
我尝试使用隐式等待30秒,但仍然无法正常工作。但是一旦我添加了click()send_keys()函数代码,它就可以顺利运行了。我正在使用Firefox-webdriver(如果有任何区别的话)。 - JRodDynamite
很奇怪...我也在使用FF驅動程式。 - JeffC
你的答案也很棒。使用 date_element.send_keys(Keys.HOME) 对我的代码至关重要;现在它可以运行了。 - TomQuin
JRodDynamite的评论对我很有用。不幸的是,我不小心取消了我的点赞,而SO有点不太友好。无论如何,在我的send_keys()之前添加的所有内容都是click()。 - geekandglitter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接