Python 日历日期选择器

Python 日历日期选择器,python,selenium,xpath,datepicker,css-selectors,Python,Selenium,Xpath,Datepicker,Css Selectors,嗨,我想知道如何在日历上为扎克挑选一些个人项目的日期。无法理解这是如何工作的。我读了一篇关于日期选择器被用作表的帖子,我可以尝试这种方法,但我想在页面上为未来和过去选择日期,只有当前月份显示,所以我希望看到onclick功能正常工作 chromedriver = "/usr/bin/chromedriver" os.environ["webdriver.chrome.driver"] = chromedriver driver = webdriver.Ch

嗨,我想知道如何在日历上为扎克挑选一些个人项目的日期。无法理解这是如何工作的。我读了一篇关于日期选择器被用作表的帖子,我可以尝试这种方法,但我想在页面上为未来和过去选择日期,只有当前月份显示,所以我希望看到onclick功能正常工作

chromedriver = "/usr/bin/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.get('https://www.zacks.com/earnings/earnings-calendar')
driver.maximize_window()
print('page load waiting ......')
time.sleep(5)
date_field = driver.find_element_by_id('earnings_calendar_events').find_element_by_id('date_select')
date_field.click() # opens up the calendar
time.sleep(2)
print('sending key 3')
date_field.send_keys('12/1/2020') #send keys doesn't work.
time.sleep(5)

要在网站内选择日期2020年1月12日,您需要引导
元素可点击()
,您可以使用以下任一选项:

  • 使用
    CSS\u选择器

    driver.get('https://www.zacks.com/earnings/earnings-calendar')
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a#date_select img"))).click()
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "table.sb_minicalview td > span#dt_1"))).click()
    
  • 使用
    XPATH

    driver.get('https://www.zacks.com/earnings/earnings-calendar')
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@id='date_select']/img"))).click()
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//table[@class='sb_minicalview']//td/span[@id='dt_1']"))).click()
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
  • 浏览器快照:


工具书类 您可以在以下内容中找到一些相关的详细讨论:


如果您同意(您需要编写方法从日历中选择日期和月份),我可以为java提供代码。谢谢,这确实有效,但我也希望能够回到上个月,比如11月,并能够获取11月5日或类似日期的数据。使用这种方法,我只能获取当月的数据。我本想进入帖子中提到的表格,但这种方法将我限制在本月。这听起来是一个不同的要求。你能根据你的新要求提出一个新问题吗?Stackoverflow志愿者会很乐意帮助你。很乐意接受答案,伙计,但我最初的问题是,我想了解过去和未来的日期,正如我在问题中所说,我当然可以在表上遍历,但这只会给我当前月份的数据。我想我可以通过单击前一个月并在之后遍历,以及类似地在未来一个月遍历来做到这一点。