gpt4 book ai didi

python - 禁用日期选择器上的 Selenium 输入日期

转载 作者:行者123 更新时间:2023-11-28 18:06:04 33 4
gpt4 key购买 nike

我正在尝试输入我自己选择的日期,但我卡住了单击禁用的日期选择器。
如果我点击日期选择器,它会弹出并要求点击日期,即使是一个月,我也必须点击更多。
我在这里很困惑该怎么做。

网址

http://finra-markets.morningstar.com/BondCenter/TRACEMarketAggregateStats.jsp

到目前为止我的代码。

from selenium import webdriver
from time import sleep
driver = webdriver.Chrome('path') # No Path Problem just changed here
driver.get('http://finra-markets.morningstar.com/BondCenter/TRACEMarketAggregateStats.jsp')
sleep(6)
date = driver.find_element_by_class_name("date-btn")
date.click()
sleep(4)
selector = driver.find_element_by_css_selector('[val="2017-10-11"]')
selector.click()
sleep(5)

这不工作..!

最佳答案

首先,您需要单击“上个月”按钮,直到显示必要的年份和月份。 (在您的情况下,您需要 2017 年 10 月)。循环的代码可能如下所示:

date = driver.find_element_by_class_name("date-btn")
date.click()
sleep(4)
#getting element representing previous month button
prev_month = driver.find_element_by_class_name("pm")
#starting a loop that will click prev_month button untill calendar for October 2017 is shown
# use .text because getText() does not work here
while driver.find_element_by_class_name("titleCont").text != "Oct 2017"
prev_month.click()
#You can play around this sleep's value. or just remove it completely
sleep(2)
#Calendar should now be opened on Oct 2017 so we can look for desired date '11 october 2017
selector = driver.find_element_by_css_selector('[val="2017-10-11"]')
selector.click()
sleep(5)

当你让它工作时。考虑用智能等待代替 sleep official doc , similar question answered

关于python - 禁用日期选择器上的 Selenium 输入日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53403933/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com