【发布时间】:2021-03-05 10:44:29
【问题描述】:
我正在从包含 javascript(reviews) 的 sephora 网站上抓取产品评论,但我无法抓取。这是我的代码:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.expected_conditions import presence_of_element_located as EC
import time
chrome_path = '/media/danish-khan/New Volume/Web_scraping/rgcrawler2/chromedriver'
driver = webdriver.Chrome(chrome_path)
chrome_options = Options()
url = 'https://www.sephora.com/product/the-porefessional-face-primer-P264900?skuId=1259068&icid2=products%20grid:p264900:product'
driver.get(url)
WebDriverWait(driver, 70)
time.sleep(70)
review = driver.find_element_by_class_name('css-1jg2pb9 eanm77i0')
for post in review:
#try:
# element = WebDriverWait(driver, 50).until(
# EC.presence_of_element_located((By.XPATH, "//div[@class = 'css-1jg2pb9 eanm77i0']"))
# )
#finally:
# driver.quit()
#
print(review)
driver.close()'
输出是:
Traceback(最近一次调用最后一次): 文件“resgt.py”,第 15 行,在 评论 = driver.find_element_by_class_name('css-1jg2pb9 eanm77i0') 文件“/home/danish-khan/miniconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py”,第 564 行,在 find_element_by_class_name return self.find_element(by=By.CLASS_NAME, value=name) 文件“/home/danish-khan/miniconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py”,第 978 行,在 find_element '价值':价值})['价值'] 文件“/home/danish-khan/miniconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py”,第 321 行,在执行 self.error_handler.check_response(响应) 文件“/home/danish-khan/miniconda3/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py”,第 242 行,在 check_response 引发异常类(消息、屏幕、堆栈跟踪) selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素:{“method”:“css selector”,“selector”:“.css-1jg2pb9 eanm77i0”} (会话信息:chrome=85.0.4183.102)
【问题讨论】:
-
你首先在寻找你的 CSS 类,然后你在等待它出现。尝试颠倒顺序,看看是否有效。
标签: python selenium selenium-webdriver