我已经编写了从The Hilton中删除酒店名称(以及最终价格)的代码
我使用类名选择表示酒店信息存储位置的HTML块,然后使用XPATH尝试刮取酒店名称。但是,它只输出特定于该XPATH的酒店名称,而不是该页面上的所有酒店名称。这是该酒店特有的XPATH,还是有其他方法在该页面上获取所有酒店名称
from selenium import webdriver
import time
url = 'https://www.hilton.com/en/search/hilton-honors/?query=London&arrivalDate=2021-09-20&departureDate=2021-09-30&flexibleDates=false&numRooms=1&numAdults=1&numChildren=0&room1ChildAges=&room1'
driver = webdriver.Chrome(executable_path='C:\\Users\\conor\\Desktop\\diss\\chromedriver.exe')
driver.get(url)
time.sleep(10)
working = driver.find_elements_by_class_name('flex.flex-wrap.py-4.border-border.border-b')
for work in working:
name = work.find_element_by_xpath('//*[@id="hotel-LONCOCI"]').text
print(name)
XPATH似乎包含一个与每个特定酒店相关的ID,因此只能输出我使用的XPATH中的ID
包含hotel名称的HTML块在类名中包含一个名为“leading”的元素。下面对代码进行的调整使其正常工作
尽管如此,似乎只有当网站的cookies首选项页面关闭后,抓取才会起作用
相关问题 更多 >
编程相关推荐