Python selenium无法点击字段

时间:2017-07-04 13:26:36

标签: python python-2.7 selenium selenium-webdriver web-scraping

我正在尝试请求我以后可以废弃的数据。我在文本字段中写日期但是当我发送请求时,它不会根据日期更新。我正在尝试单击日期字段,但我没有看到日历弹出应该如此。我怎么能这样做?

from selenium import webdriver
driver = webdriver.Firefox()
driver.get('https://www.fxstreet.com/economic-calendar')

time.sleep(10)

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

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

#set start and end time
driver.find_element_by_xpath("//input[contains(@id,'fxit-start-advance')]").click()
driver.find_element_by_xpath("//input[contains(@id,'fxit-start-advance')]").send_keys("01/01/2017")

driver.find_element_by_xpath("//input[contains(@id,'fxit-end-advance')]").click()
driver.find_element_by_xpath("//input[contains(@id,'fxit-end-advance')]").send_keys("06/01/2017")


#select countries

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

#refresh your results
driver.find_element_by_id('fxit-filterbutton').click()

2 个答案:

答案 0 :(得分:0)

我会仔细检查您是否正确选择了所需的元素。这可能不是这种情况,因为您提到没有看到日期时间选择器。

我建议使用Selenium IDE(网站here上的下载链接)。它是Firefox的插件,允许您记录针对页面的操作。这样你就可以与你拥有的东西进行比较。

答案 1 :(得分:0)

我尝试了你的代码,它对我来说正常。我能够看到日历打开并输入日期。 有一点 - 您可能希望在.click()和.send_keys()之间包含.clear(),因为输入框不会自动清除 - 这可能就是为什么如果有验证正在查找您没有看到日期更新的原因正确的日期格式。