【发布时间】:2017-12-08 07:00:03
【问题描述】:
我正在单击日期框,清除值并请求新数据。我正在尝试单击日期字段,但没有看到应有的日历弹出。我该怎么办?
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()
【问题讨论】:
-
日历显示和消失的速度非常快,因为它是硒,它必须让事情进展得很快,但你想等一会儿看看吗?
-
即使我逐行运行,日历也不会弹出
-
我在每次设置后添加了 time.sleep(5),它正确弹出,所以我认为它与您的代码无关
标签: python python-2.7 selenium web-scraping