python - 网页抓取时返回空白括号
问题描述
我正在使用 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()
并得到这个作为回报:
[]
[]
[]
[]
[]
解决方案
我不确定你想刮什么。但我猜你想要星级。您的代码针对错误的元素。对于评分,您可以在 for 循环中尝试:
rating = review.find_element_by_css_selector("span.rating-stars").get_attribute("aria-label")
推荐阅读
- ruby-on-rails - 如果下一个操作是在您希望用户去的地方以外的任何地方,那么运行某些条件的最佳方法是什么?
- javascript - Ajax 在 Chrome 或 IE 中不起作用,但在 FireFox 中起作用
- python - 缺少一个必需的位置参数
- r - 将矩阵列表除以不同的矩阵集
- powershell - Powershell:比较两个数组,查找缺失项和更改的值
- r - rmarkdown PDF 自定义字体
- excel - 在另一个工作簿中查找值并复制/粘贴一系列单元格
- python - 在python中选择特定的日历日期
- c++ - C++ 闭包行为
- django - BLEACH_DEFAULT_WIDGET Django