2015-12-22 4 views
2

Я пытаюсь изменить начальную дату по умолчанию на веб-странице Google Finance до «23 декабря 2001 года» с помощью приведенного ниже кода, но он не сохраняется и возвращается к «23 декабря 2014 года» ». Как я могу обеспечить сохранение даты?Проблемы с изменением поля ввода с использованием 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) 

Надеется, что это помогает.

Смежные вопросы