如何使用pythonselenium从日历中选择一个特定的日期?

2024-10-01 13:27:53 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,如果我想使用pythonselenium来选择特定的签入和签出日期www.priceline.com网站,我该怎么办?在

这是日历html(或者你可以在www.priceline.com网站)

<input name="checkInDate" pclnfield="ts" pclnoptional="true" preformat="" pclnprepop="false" 
pclnfocusnext="hotel-checkout" type="text" id="hotel-checkin" placeholder="Choose Date" 
autocomplete="off" class="hasDatepicker">

这是我的代码:

^{pr2}$

那又怎样?在


Tags: namecomtrueinput网站htmlwwwhotel
1条回答
网友
1楼 · 发布于 2024-10-01 13:27:53

首先单击日期选择器输入:

driver.find_element_by_xpath("//input[@id='hotel-checkin'").click()

然后等待日历出现:

^{pr2}$

然后单击其中的某个日期:

driver.find_element_by_xpath("//div[@id='ui-datepicker-div']//a[@class='ui-state-default'][text()='HERE_IS_DATE_LIKE_10']")).click() # meaning //div[@id='ui-datepicker-div']//td/a[@class='ui-state-default'][text()='10']

差不多吧。如果您使用一些浏览器开发工具检查日历,您将看到每个“day”元素都是带有属性data-year和{}属性的td元素,您可以绕过它们。就像//div[@id='ui-datepicker-div']//td[@data-year='2014'][@data-month='8']/a[@class='ui-state-default'][text()='10']

相关问题 更多 >