2015-12-22 68 views
2

我试图通过下面的代码将Google财经网页上的默认开始日期更改为“2001年12月23日”,但它并未持续并恢复为“2014年12月23日”。我如何确保日期持续?使用Python Selenium更改输入字段的问题

browser=webdriver.Firefox() 
browser.get('https://www.google.com/finance') 

elem = browser.find_element_by_name("q") 
elem.send_keys('IBM') 
elem.send_keys(Keys.RETURN) 


url = browser.current_url 

historical = browser.find_element_by_xpath("/html/body/div/div/div[3]/div[2]/div/div[1]/div/div[1]/ul/li[6]/a") 
historical.click() 


elem2 = browser.find_element_by_name("startdate") 
elem2.click() 


elem2.send_keys('Dec 23, 2001') 
elem2.send_keys(Keys.RETURN) 

回答

0

在设置新文本之前,您需要清除文本字段。这可以使用clear()方法来实现。

下面的代码应该工作(注意,使用了clear()使用send_keys()前):

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


browser=webdriver.Firefox() 
browser.get('https://www.google.com/finance') 

elem = browser.find_element_by_name("q") 
elem.send_keys('IBM') 
elem.send_keys(Keys.RETURN) 

url = browser.current_url 

historical = browser.find_element_by_xpath("/html/body/div/div/div[3]/div[2]/div/div[1]/div/div[1]/ul/li[6]/a") 
historical.click() 


elem2 = browser.find_element_by_name("startdate") 
elem2.click() 

# clear the text box 
elem2.clear() 

elem2.send_keys('Dec 23, 2001') 
elem2.send_keys(Keys.RETURN) 

希望这有助于。

相关问题