繁体   English   中英

如何在Python中获取Selenium以使用下拉式日历?

[英]How do to get Selenium in Python to use a drop-down calender?

大家好,我正在尝试构建一个小程序,使用Selenium转到该站点: http : //www.booking.com/ ,用户在其中输入目的地,签到/签出日期。 但是我不知道到底该如何使用硒来处理日历。 从我出于逻辑上的尝试来看下面的代码。 如果您了解问题并可以解决,请提供帮助。 谢谢!

我已经尝试为网站booking.com的以下内容编码:“签到”部分:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import time

browser = webdriver.Firefox()
browser.get('http://www.booking.com')

wait = WebDriverWait(browser, 2)
D_H_Name = wait.until(EC.visibility_of_element_located((By.ID, "ss")))
D_H_Name.click()
D_H_Name.clear()
print("Enter Destination/Hotel Name:")
D_H_Name.send_keys(input())

time.sleep(3)
D_H_Name.send_keys(Keys.DOWN)

time.sleep(1)
D_H_Name.send_keys(Keys.ENTER)

CheckIn_date = browser.find_element_by_css_selector("div.class ")

#wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.sb-calendar__col")))
#print("Enter CheckIn Date:")
#CheckIn_date.send_keys(input())


CheckIn_date.send_keys(input())

您应该能够使用“ Select功能:

from selenium.webdriver.support.ui import Select
selectDay = Select(driver.find_element_by_name('checkin_monthday'))
selectDay.select_by_visible_text("20")

selectMonth = Select(driver.find_element_by_name('checkin_year_month'))
selectMonth.select_by_visible_text("April 2016")

Select可以使用索引,文本或选项值:

select.select_by_index(index)
select.select_by_visible_text("text")
select.select_by_value(value)

 HI This is kumar.try the following apporach WebDriver driver = new firefoxDriver(); driver.get("http://www.booking.com/"); driver.findElement(By.xpath("//button[@class='sb-dates__calendar-button b-datepicker b-sprite calendar_icon']")).clcik(); driver.findElement(By.xpath("//span[@class='c2-day-inner'](text()='20')")).clcik(); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM