【发布时间】:2020-03-02 06:24:35
【问题描述】:
我是爬行的初学者,在学习的过程中遇到了一个难题。
无论如何,我尝试在 web-NEWS 中抓取评论但失败了。
这是我在 python 中使用 selenium 编写的代码。
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver = webdriver.Chrome('./chromedriver')
url = 'https://www.etnews.com/20200228000119?mc=em_101_00001'
driver.get(url)
try:
element = WebDriverWait(driver, 100).until(EC.presence_of_element_located((By.CSS_SELECTOR, '#list > div:nth-child(3) > div.reply-bottom > div.reply-content-wrapper > div.reply-content > p')))
comment_list = driver.find_element_by_css_selector('#list > div:nth-child(3) > div.reply-bottom > div.reply-content-wrapper > div.reply-content > p')
except:
print('Timeout')
print(comment_list.text)
driver.quit()
我认为 chromedriver 似乎没有检测到 css_selector,因为输出消息始终是“超时”。
我不知道为什么普通网站之一的网站 (https://www.etnews.com/) 中的 cmets 不能被 selenium 压缩。
我想知道原因。请给我一个很大的帮助。
(ps. 我懂 HTML、CSS,但不太懂 Javascript)
【问题讨论】:
-
你在看哪些cmets?
-
在哪个元素中出现异常,
element或comment_list?
标签: python selenium selenium-chromedriver webdriverwait