首页 > 解决方案 > 网页抓取时返回空白括号

问题描述

我正在使用 Chrome 驱动程序在网络上抓取有关车辆的一些信息。当试图获得星级时,它会返回空括号“[]”作为结果。有人可以指出我正确的方向吗?这是我正在运行的代码:

from selenium import webdriver

driver = webdriver.Chrome()
driver.set_page_load_timeout(30)
driver.get("https://www.edmunds.com/subaru/forester/2020/consumer-reviews/?pagenum=1/")

for review in driver.find_elements_by_xpath("//div[@class='review-item text-gray-darker']"):
    rating = review.find_elements_by_xpath("div[@class='truncated-text size-16']/div/div/div/dl[1]/dd/span[@aria-label]/text()")
    print(rating)
    
driver.close()

并得到这个作为回报:

[]
[]
[]
[]
[]

标签: pythonselenium-webdriverweb-scraping

解决方案


我不确定你想刮什么。但我猜你想要星级。您的代码针对错误的元素。对于评分,您可以在 for 循环中尝试:

rating = review.find_element_by_css_selector("span.rating-stars").get_attribute("aria-label")

推荐阅读