2015-10-22 102 views
0

在我的python代碼中,我想在Date文本框中輸入一個日期。但是,現有的日期不能被清除,也不能輸入日期。我正在使用Selenium。我認爲該元素已找到,但無論如何,Send_keys()函數在此文本框上不起作用。問題是什麼?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() 
+0

另外,從進口硒webdriver的 – TomQuin

+0

你只是需要發送的日期數字(沒有斜槓,等等)。如果你手動輸入方框,它就不會接受任何數字,只要我見過。 – JeffC

回答

0

下面是一個全功能的代碼 -

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() 
1

這對我有效。只需輸入沒有任何符號的日期,只需輸入數字即可。

... 
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") 
... 
+0

你並不需要'.click()'和'send_keys(Keys.HOME)',但我需要等待。 – JeffC

+0

我試着用一個隱含的等待30秒。但它仍然不適合我。但是一旦我添加了'click()'和'send_keys()'功能代碼,它就可以順利運行。我使用Firefox-webdriver(如果這有什麼區別)。 – JRodDynamite

+0

這很奇怪......我也在使用FF驅動程序。 – JeffC