gpt4 book ai didi

python - 如何使用 python-selenium 从日历中选择特定日期?

转载 作者:太空宇宙 更新时间:2023-11-03 18:12:09 25 4
gpt4 key购买 nike

例如,如果我想使用 python-selenium 在 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">

这是我的代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.select import Select
url = 'http://www.priceline.com/' #
driver = webdriver.Firefox()
driver.get(url)
sleep(3)
select = Select( driver.find_element_by_id('hotel-checkin') )

然后呢?

最佳答案

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

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

然后等待日历出现:

wait.until(lambda driver: driver.find_element_by_xpath("//div[@id='ui-datepicker-div']"))

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

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']

类似的东西。如果您使用某些浏览器开发工具检查日历,您会看到每个“日”元素是 td具有属性的元素 data-yeardata-month你可以围绕它们玩耍。喜欢//div[@id='ui-datepicker-div']//td[@data-year='2014'][@data-month='8']/a[@class='ui-state-default'][text()='10']

关于python - 如何使用 python-selenium 从日历中选择特定日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25717005/

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