【发布时间】:2020-04-29 13:59:40
【问题描述】:
我正在尝试从 2 个下拉日历中选择 2 个日期。
我下面的代码适用于第一个日历<span>,但不适用于第二个日历<span>。
HTML代码一模一样?
我正在使用:
return_date = driver.find_element_by_xpath('//span[text() = " Day "]').click()
HTML 布局
日历 1: 搜索包含文本的跨度 (30) - 有效。
<td aria-selected="true" class="datepicker__day" role="gridcell">
<span data-ts-automation="datepicker-day-30"> 30 </span>
<!---->
</td>
日历 2: 正在搜索包含文本 (14) 的跨度 - 错误:元素不可交互。
<td aria-selected="true" class="datepicker__day" role="gridcell">
<!---->
<span data-ts-automation="datepicker-day-14"> 14 </span>
</td>
【问题讨论】:
-
我只是在这里猜测,但如果那是四月的日历,那么 30 是未来,14 是过去——也许那个应用程序不允许你选择过去的日期?
-
对不起,我的错。第 30 天是 2020 年 4 月,第 14 天是 2020 年 5 月。
-
作为调试步骤,可以在点击之前打印元素吗?也许你得到了一些其他元素,其中包含你没想到的文本
14。 -
您是否可以在普通浏览器会话中手动单击该元素?
-
我可以在 chrome 浏览器上自己手动单击元素。如果我打印元素,它会给我一个会话和元素 ID。类型:
标签: python html python-3.x selenium web-scraping