如何使用python进行搜索homeaway.com使用日历下拉框?

2024-09-25 00:35:11 发布

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

我想使用python selenium搜索https://www.homeaway.com/

以下工作:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("https://www.homeaway.com/")
driver.find_element_by_xpath("//input[@id='searchKeywords']").send_keys("Philadelphia, PA, USA")

但我在使用日历下拉日期选取器时遇到了一个问题,因为它不接受任何值。你知道吗

我试过以下方法

尝试1在开始和结束日期字段中输入日期:

driver.find_element_by_xpath("//input[@id='stab-searchbox-start-date']").send_keys("02/01/2017")
driver.find_element_by_xpath("//input[@id='stab-searchbox-end-date']").send_keys("03/01/2017")

注意:homeaway网站似乎完全忽略了上述命令,除非您手动用鼠标单击网站,然后使用上述命令。换言之,如果不先手动单击网站,上述命令将无法工作。你知道吗

尝试2在开始和结束日期字段中输入日期:

driver.find_element_by_xpath("//div[@id='2017-02-01_2017-02']").click()

尝试3在开始和结束日期字段中输入日期

driver.execute_script("document.querySelectorAll('#stab-searchbox-start-date')[0].value = '02/01/2017'")
driver.execute_script("document.querySelectorAll('#stab-searchbox-end-date')[0].value = '03/01/2017'")
driver.find_element_by_xpath("//button[@class='btn btn-primary btn-lg searchbox-submit js-searchSubmit']").click()

注意:这看起来是可行的,但是当你点击搜索时,日期实际上没有被注册,尽管日期被输入到星号和结束日期文本框中。似乎homeaway只会在使用日历下拉列表时注册日期。你知道吗


Tags: 命令sendidinputdateby网站driver
1条回答
网友
1楼 · 发布于 2024-09-25 00:35:11

请注意,在不支持输入文本的情况下,不能发送这些类型的\u键。你知道吗

尝试此代码,它将工作:

from selenium import webdriver

url='http://www.homeaway.com/'
driver = webdriver.Chrome()
driver.maximize_window()
driver.get(url)

driver.find_element_by_id("search-location").send_keys("Philadelphia, PA, USA")

driver.find_element_by_id('search-checkin').click()
driver.find_element_by_xpath('//*[@id="ui-datepicker-div"]//*[text()="30"]').click()

driver.find_element_by_id('search-checkout').click()
driver.find_element_by_xpath('//*[@id="ui-datepicker-div"]//*[text()="31"]').click()

相关问题 更多 >