首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用python selenium搜索homeaway.com并使用日历下拉字段?

如何使用python selenium搜索homeaway.com并使用日历下拉字段?
EN

Stack Overflow用户
提问于 2017-01-27 12:40:32
回答 1查看 104关注 0票数 1

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

以下是工作原理:

代码语言:javascript
运行
复制
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在开始和结束日期字段中输入日期:

代码语言:javascript
运行
复制
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网站完全忽略了上面的命令,除非你用鼠标手动点击网站,然后使用上面的selenium命令。换句话说,如果不先在网站上手动单击鼠标,上述命令将不起作用。

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

代码语言:javascript
运行
复制
driver.find_element_by_xpath("//div[@id='2017-02-01_2017-02']").click()

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

代码语言:javascript
运行
复制
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只会在你使用日历下拉菜单的情况下注册日期。

EN

回答 1

Stack Overflow用户

发布于 2017-01-27 19:44:06

请注意,当不支持输入文本时,您不能在这些类型中使用send_keys。

试试这段代码,它会起作用的:

代码语言:javascript
运行
复制
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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41887055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档