############# 第一种################
from seleniumimport webdriver
import time
#打开浏览器
driver = webdriver.Edge()
#设置最大化
driver.maximize_window()
#设置隐式等待
driver.implicitly_wait(20)
#打开网页
driver.get("https://www.jd.com/")
#点击 酒店
driver.find_element_by_css_selector('.service_ico_jiudian').click()
#会打开两个标签页,所以进行窗口切换
all_hendle = driver.window_handles
driver.switch_to.window(all_hendle[1])
#关闭广告 不关闭广告会在选择日期的时候,遮挡日期元素
driver.find_element_by_css_selector('.close').click()
time.sleep(2)
#选择目的地
city = driver.find_element_by_id('city')
city.clear()#清除默认自选的城市
city.send_keys("西安")
#选择输入 西安下拉的第一个选项
driver.find_element_by_xpath("//ul[@class='suggest-ul']/li[1]").click()
#入住时间
driver.find_element_by_id('dateStart').click()
#从 10号开始
driver.find_element_by_css_selector('.ui-calendar-3>div:last-child tbody>tr:nth-child(3)>td:nth-child(2)').click()
#
time.sleep(1)
#离店
driver.find_element_by_id('dateEnd').click()
#选择14号
driver.find_element_by_css_selector('.ui-calendar-4>div:nth-last-child(2) tbody>tr:nth-child(3)>td:nth-child(6)').click()
#选择 商圈
driver.find_element_by_id('hotelKeys').send_keys("钟楼")
driver.find_element_by_css_selector('li[data-name="西安钟楼民宿"]').click()
#点击 搜索酒店
driver.find_element_by_id('searchBtn').click()
time.sleep(2)
#获取酒店的详细信息
for elementin driver.find_elements_by_css_selector('.search-result>div'):
print(element.text)
print("***************************")
################第二种###############
from seleniumimport webdriver
from selenium.webdriver.common.action_chainsimport ActionChains
import time
# 打开浏览器
driver = webdriver.Chrome()
# 最大化窗口
driver.maximize_window()
# 隐式等待
driver.implicitly_wait(10)
# 打开网址
driver.get("https://www.jd.com")
# 获得当前窗口句柄
start_handle = driver.current_window_handle
# 点击酒店
driver.find_element_by_xpath("//span[text()='酒店']").click()
# 查看所有窗口并切换窗口
all_hands = driver.window_handles
driver.switch_to.window(all_hands[1])
time.sleep(2)
# 关闭广告
driver.find_element_by_xpath('//i[@class="close"]').click()
# 选择城市
driver.find_element_by_xpath('//input[@placeholder="目的地"]').click()
# 选择西安
driver.find_element_by_xpath("//a[text()='西安']").click()
# 选择入住日期
# js1 = 'document.getElementById("dateStart").removeAttribute("readonly");'
# driver.execute_script(js1)
# start = driver.find_element_by_id("dateStart")
# start.clear()
# start.send_keys("2021-05-13")
driver.find_element_by_id('dateStart').click()
driver.find_element_by_xpath("//td[@data-currday='2021-05-13']").click()
# 选择离店日期
# js2 = 'document.getElementById("dateEnd").removeAttribute("readonly");'
# driver.execute_script(js2)
# start = driver.find_element_by_id("dateEnd")
# start.clear()
# start.send_keys("2021-05-16")
driver.find_element_by_id('dateEnd').click()
time.sleep(2)
driver.find_element_by_xpath("(//td[@data-currday='2021-05-15'])[2]").click()
js3 ='document.getElementsByClassName("tab-tit")[2].scrollIntoView({block: "end", behavior: "smooth"})'
driver.execute_script(js3)
# 选择商圈 钟楼广场
# 冻结元素setTimeout(function(){debugger},5000)
driver.find_element_by_id('hotelKeys').send_keys("钟楼")
time.sleep(1)
ele = driver.find_element_by_xpath('//li[contains(@data-val,"钟楼")][2]')
# ActionChains(driver).move_to_element(ele).perform()
driver.execute_script("arguments[0].click();",ele)
# 搜素酒店
driver.find_element_by_id('searchBtn').click()
# 选择价格区间
driver.find_element_by_xpath('//input[@data-start="400"]').click()
# 星级房
driver.find_element_by_xpath('(//input[@data-id="5"])[1]').click()
time.sleep(3)
# 标题
title_ele = driver.find_elements_by_css_selector('.search-result>div')
for elementin title_ele:
print(element.text)
driver.quit()