如何使用 selenium python 在日期选择器上单击活动日?
How do I click on active day on date picker using selenium python?
所以页面上有多个日历(日期选择器),我设法点击了所需的日历。
我想点击活动日期(当前日期)。 class="活跃日"
单击所需的日历字形图标后如何找到该元素?
P.S。当我复制 select 或为此 - 我得到
body > div:nth-child(27) > div.datepicker-days > table > tbody > tr:nth-child(4) > td.day.active
当我检查元素并搜索 td.day.active 时,我能够找到该元素。
所以我使用了下面的语法来点击它。
WebDriverWait(driver, 30).until(lambda driver: driver.find_element_by_css_selector('td.day.active')).click()
但是得到ElementNotVisibleException
我想要一个通用脚本来执行此操作。我想 select 此日历上的活动日期。
单击 xpath 不起作用,因为没有绝对路径。
单个 html 页面有可能有多个日期选择器
如果我们想点击特定日期选择器的活动日期,那么可以使用选择器
.dropdown-menu:nth-child(9) > .datepicker-days .active
其中“9”是该日期选择器的出现。即页面上有 9 个或更多日期选择器元素。
所以对于上面的问题,child 是 27 因此下面的代码将点击日期选择器的活动日期(当前日期)。
WebDriverWait(driver, 30).until(lambda driver: driver.find_element_by_css_selector(".dropdown-menu:nth-child(27) > .datepicker-days .active")).click()
P.S。即使您设法点击日历 xpath,点击活动日期也需要 nth-child 日历值。
所以页面上有多个日历(日期选择器),我设法点击了所需的日历。
我想点击活动日期(当前日期)。 class="活跃日" 单击所需的日历字形图标后如何找到该元素?
P.S。当我复制 select 或为此 - 我得到
body > div:nth-child(27) > div.datepicker-days > table > tbody > tr:nth-child(4) > td.day.active
当我检查元素并搜索 td.day.active 时,我能够找到该元素。
所以我使用了下面的语法来点击它。
WebDriverWait(driver, 30).until(lambda driver: driver.find_element_by_css_selector('td.day.active')).click()
但是得到ElementNotVisibleException
我想要一个通用脚本来执行此操作。我想 select 此日历上的活动日期。 单击 xpath 不起作用,因为没有绝对路径。
单个 html 页面有可能有多个日期选择器 如果我们想点击特定日期选择器的活动日期,那么可以使用选择器
.dropdown-menu:nth-child(9) > .datepicker-days .active
其中“9”是该日期选择器的出现。即页面上有 9 个或更多日期选择器元素。
所以对于上面的问题,child 是 27 因此下面的代码将点击日期选择器的活动日期(当前日期)。
WebDriverWait(driver, 30).until(lambda driver: driver.find_element_by_css_selector(".dropdown-menu:nth-child(27) > .datepicker-days .active")).click()
P.S。即使您设法点击日历 xpath,点击活动日期也需要 nth-child 日历值。