2017-07-04 2 views
-1

ich Sie auf das Datumsfeld, um die Werte Clearing- und für neue Daten anfordert. Ich versuche, auf das Datumsfeld zu klicken, aber ich sehe den Kalender nicht so, wie er sollte. Wie kann ich darüber gehen?Selen Probleme

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

driver = webdriver.Firefox(executable_path='/home/usch/Desktop/PyCharm/Project/geckodriver') 

#load up website 
driver.get('https://www.fxstreet.com/economic-calendar') 

time.sleep(10) 

#close popup 
popup = driver.find_element_by_xpath('//button[@aria-label="Close Modal"]') 
popup.click() 

#click filter options 
filter = driver.find_element_by_id('fxit-advlink') 
filter.click() 


#set start and end time 
startDate = driver.find_element_by_xpath("//input[contains(@id,'fxit-start-advanced')]") 
startDate.send_keys(Keys.ENTER) 
startDate.clear() 
startDate.send_keys("01/02/2017") 
startDate.send_keys(Keys.ENTER) 

endDate = driver.find_element_by_xpath("//input[contains(@id,'fxit-end-advanced')]") 
endDate.send_keys(Keys.ENTER) 
endDate.clear() 
endDate.send_keys("06/01/2017") 
endDate.send_keys(Keys.ENTER) 

#driver.switch_to.default_content() 
#select countries 

#select data type 
category = driver.find_element_by_xpath('//a[@class="fxst-selectall" and @data-name="fxst-category"]').click() 


#refresh your results 
refresh = driver.find_element_by_xpath('//a[@id="fxit-filterbutton"]').click() 
+0

der Kalender zeigt und sehr schnell verschwinden Cuz gut Selen es hat, um die Dinge gehen schnell, aber wollen Sie warten mögen und es für eine Weile sehen? –

+0

, selbst wenn ich es Zeile für Zeile ausführen, wird der Kalender nicht –

+0

Pop-up-i hinzugefügt time.sleep (5) nach jeder Einstellung, es knallte richtig, so dass ich glaube nicht, dass es zu Ihrem Code –

Antwort

0

Das Problem ist, mit dem Locator als wenn Sie versuchen, den obigen Code wirft Fehler „Element nicht anklickbar anderes Element klicken erhalten würde“

Fügen Sie einfach execute_script() in Ihrem Code wird es

arbeiten laufen

auch nie ein reserviertes Schlüsselwort in Ihrer Codierung verwendet als Filter ein Schlüsselwort in python ist

filter1 = driver.find_element_by_css_selector('#fxit-advlink') 
driver.execute_script("arguments[0].click();", filter1) 

category = driver.find_element_by_xpath('//a[@class="fxst-selectall" and @data-name="fxst-category"]') 
driver.execute_script("arguments[0].click();", category) 

#refresh your results 
refresh = driver.find_element_by_xpath('//a[@id="fxit-filterbutton"]') 
driver.execute_script("arguments[0].click();", refresh) 
+0

dies ist die richtige Antwort –

+0

als es bitte als Antwort akzeptieren – thebadguy