[英]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.