############# 第一種################
from seleniumimport webdriver
import time
#打開瀏覽器
driver = webdriver.Edge()
#設(shè)置最大化
driver.maximize_window()
#設(shè)置隱式等待
driver.implicitly_wait(20)
#打開網(wǎng)頁
driver.get("https://www.jd.com/")
#點(diǎn)擊 酒店
driver.find_element_by_css_selector('.service_ico_jiudian').click()
#會(huì)打開兩個(gè)標(biāo)簽頁,所以進(jìn)行窗口切換
all_hendle = driver.window_handles
driver.switch_to.window(all_hendle[1])
#關(guān)閉廣告 不關(guān)閉廣告會(huì)在選擇日期的時(shí)候,遮擋日期元素
driver.find_element_by_css_selector('.close').click()
time.sleep(2)
#選擇目的地
city = driver.find_element_by_id('city')
city.clear()#清除默認(rèn)自選的城市
city.send_keys("西安")
#選擇輸入 西安下拉的第一個(gè)選項(xiàng)
driver.find_element_by_xpath("http://ul[@class='suggest-ul']/li[1]").click()
#入住時(shí)間
driver.find_element_by_id('dateStart').click()
#從 10號(hào)開始
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號(hào)
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()
#點(diǎn)擊 搜索酒店
driver.find_element_by_id('searchBtn').click()
time.sleep(2)
#獲取酒店的詳細(xì)信息
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)
# 打開網(wǎng)址
driver.get("https://www.jd.com")
# 獲得當(dāng)前窗口句柄
start_handle = driver.current_window_handle
# 點(diǎn)擊酒店
driver.find_element_by_xpath("http://span[text()='酒店']").click()
# 查看所有窗口并切換窗口
all_hands = driver.window_handles
driver.switch_to.window(all_hands[1])
time.sleep(2)
# 關(guān)閉廣告
driver.find_element_by_xpath('//i[@class="close"]').click()
# 選擇城市
driver.find_element_by_xpath('//input[@placeholder="目的地"]').click()
# 選擇西安
driver.find_element_by_xpath("http://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("http://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)
# 選擇商圈 鐘樓廣場(chǎng)
# 凍結(jié)元素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()
# 選擇價(jià)格區(qū)間
driver.find_element_by_xpath('//input[@data-start="400"]').click()
# 星級(jí)房
driver.find_element_by_xpath('(//input[@data-id="5"])[1]').click()
time.sleep(3)
# 標(biāo)題
title_ele = driver.find_elements_by_css_selector('.search-result>div')
for elementin title_ele:
print(element.text)
driver.quit()