首页 > 解决方案 > 如何在日期选择器(Selenium 和 Python)的下拉列表中选择时间

问题描述

我希望脚本在开始时间下拉列表中选择特定时间。

我将 Selenium Chromedriver 与 Python 一起用于https://www.sailbox.ch/de/bootliste。我设法打开了开始时间选择器的下拉菜单(小时:分钟)。我尝试了几种方法来点击值 22:00。

这是设置

from selenium.webdriver.support.ui import Select
driver = webdriver.Chrome()
driver.get("https://www.sailbox.ch/de/bootliste")
assert "sailbox" in driver.title

这将打开开始时间日期选择器的下拉菜单

driver.find_element_by_id("filterFormInput_timeFrom").click()
driver.implicitly_wait(4)

然后我尝试了多种选择:

选项1

start_time = driver.find_element_by_xpath("//div[@class='xdsoft_time']//div[@data- 
hour='22'][@data-minute='00']")
driver.implicitly_wait(4)
start_time.click()

选项 2

driver.find_element_by_css_selector("div[@class='xdsoft_time' and text()='20:00']")

选项 3

driver.findElements(By.cssSelector("div[@data-hour='22'] and [@data-minute='00']")).click();

目前,我收到“元素不可点击”的错误。目标是从下拉列表中选择值“22:00”。

标签: pythonseleniumdatepickerselenium-chromedriver

解决方案


实际上事实证明这个网站运行jQuery。知道您可以简单地执行以下操作:

driver.execute_script('$("#timeFrom").val("22:00").change();');

这会将您的输入更改为所需的时间


推荐阅读