【问题标题】:Trouble scraping reviews using Selenium in Python在 Python 中使用 Selenium 抓取评论时遇到问题
【发布时间】:2020-05-22 22:03:21
【问题描述】:

我想从这个网站上抓取评论:https://www.sephora.com/product/the-porefessional-face-primer-P264900。这是我在检查评论时发现的语法示例:

<div class="css-7rv8g1 " data-comp="Ellipsis Box ">So good! This primer smooths my skin and blurs my pores so well! But, it is pretty mattifying so if you want a dewy look, this might not be for you.</div>

我尝试了以下代码,它返回一个空列表:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('/…/chromedriver')
url = 'https://www.sephora.com/product/the-porefessional-face-primer-P264900'
driver.get(url)
reviews = driver.find_elements_by_xpath("//div[@id='ratings-reviews']//div[@data-comp='Ellipsis Box']")

我尝试在driver 上调用其他find_elements 方法,但没有成功。我也尝试了this answer 中列出的解决方案,但通过运行以下代码得到了TimeoutException

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver.get(url)
driver.execute_script("arguments[0].scrollIntoView(true);", WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.XPATH, "//div[@id='tabpanel0']/div//b[contains(., 'What Else You Need to Know')]"))))
reviews = WebDriverWait(driver,20).until(EC.visibility_of_all_elements_located((By.XPATH, "//div[@data-comp='GridCell Box']//div[@data-comp='Ellipsis Box']")))

我如何使用 Selenium 从 Sephora 网站上的此页面上抓取评论?

【问题讨论】:

    标签: python html css selenium web-scraping


    【解决方案1】:

    您需要在 xpath 中添加一个空格。当它应该是“省略号框”时,您有“省略号框”

    //div[@id='ratings-reviews']//div[@data-comp='Ellipsis Box ']
    

    我能够使用更正后的 xpath 找到 6 个元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 2021-04-03
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 2020-05-25
      • 1970-01-01
      相关资源
      最近更新 更多