从边栏小部件selenium python抓取评论

从边栏小部件selenium python抓取评论,python,selenium,web-scraping,Python,Selenium,Web Scraping,我正在试着从booking.com上练习复习。我随机选择一家酒店,让selenium获取元素,然后尝试定位,以获得BeautifulSoup的评论,如下所示,但结果没有返回任何数据。你能给我一些建议吗?出了什么问题以及如何解决 from selenium import webdriver from bs4 import BeautifulSoup driver = webdriver.Chrome(executable_path="./driver/chromedriver.exe&

我正在试着从booking.com上练习复习。我随机选择一家酒店,让selenium获取元素,然后尝试定位,以获得BeautifulSoup的评论,如下所示,但结果没有返回任何数据。你能给我一些建议吗?出了什么问题以及如何解决

from selenium import webdriver
from bs4 import BeautifulSoup

driver = webdriver.Chrome(executable_path="./driver/chromedriver.exe")
driver.get("https://booking.com")

driver.find_element_by_css_selector("input[class*='sb-searchbox__input']").send_keys("Eden The Residence at The Sea")
driver.find_element_by_css_selector("button[type='submit']").click()
driver.find_element_by_xpath("//span[contains(text(),'Eden The Residence at The Sea')]").click()
soup = BeautifulSoup(driver.page_source,"html.parser")
containers = soup.find_all("div", {"class": "review_list_container"})
reviews = containers[0].find_all("ul")

您必须将焦点切换到打开的新选项卡。你可以使用

driver.switch_to.window(driver.window_handles[1])
以下是最终代码:

from selenium import webdriver
from bs4 import BeautifulSoup
import time

driver = webdriver.Chrome()
driver.get("https://booking.com")

time.sleep(2)
driver.find_element_by_css_selector("input[class*='sb-searchbox__input']").send_keys("Eden The Residence at The Sea")
driver.find_element_by_css_selector("button[type='submit']").click()
driver.find_element_by_xpath("//span[contains(text(),'Eden The Residence at The Sea')]").click()
time.sleep(3)
driver.switch_to.window(driver.window_handles[1])
soup = BeautifulSoup(driver.page_source,"html.parser")

containers = soup.find_all("span", {"class": "c-review__body"})

for span in containers:
    print(span.text)
输出:

“地理位置非常好,步行几分钟即可到达海滩”
“整个体验完美无缺。这是我住过的最漂亮的别墅,更不用说我见过的了。这里的员工都很优秀,非常友好和专业。在我们的别墅里做早餐的私人厨师非常棒,而且非常出色。”…
“员工很棒,订餐和准备饭菜都很容易,价格也很合理。”
“别墅宽敞通风,有一个很大的私人游泳池。
卧室很大,每个房间都有自己的浴室设施。
工作人员会超越一切,让您的住宿尽可能舒适。”
“优秀、友好、乐于助人的员工
美丽的天井、花园和游泳池
非常宽敞的别墅
快速洗衣服务
为我妻子的生日用鲜花装饰别墅和浴室”
“从位置、别墅质量、工作人员、成本和客房服务(厨师来做饭的费用加上15%),我们几乎喜欢伊甸园公寓的一切。
工作人员非常友好,我们感到非常…
“住宿条件好,空间大,游泳池好,服务好”
“一切!宽敞的客厅、宽敞的卫生间、优美的环境。别忘了,所有员工都提供了出色的服务!Sampai jumpa lagi semuanyaaa