You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python网页爬取:如何获取特定class元素后的段落内容

解决方案
  • 你之前的代码存在两个核心问题:

    1. By.CLASS_NAME不支持传入空格分隔的多个类名,Selenium会把整个字符串当作单个类名匹配,导致根本找不到分隔符元素。
    2. 仅等待分隔符加载完成,没有定位它之后的首个段落元素。
  • 修正后的实现步骤:

    1. 用XPath或CSS选择器正确匹配多类名的分隔符元素。
    2. 通过XPath的following-sibling轴定位分隔符后的第一个段落元素。
    3. 提取目标段落的文本内容。

完整代码示例:

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

# 等待多类名的分隔符元素加载(用XPath匹配更灵活)
WebDriverWait(browser, 10).until(
    EC.presence_of_element_located((By.XPATH, "//*[contains(@class, 'wp-block-separator') and contains(@class, 'is-style-dots')]"))
)

# 定位分隔符后的首个段落(假设段落是<p>标签,根据实际HTML调整标签名)
target_paragraph = WebDriverWait(browser, 10).until(
    EC.presence_of_element_located((By.XPATH, "//*[contains(@class, 'wp-block-separator') and contains(@class, 'is-style-dots')]/following-sibling::p[1]"))
)

# 输出目标文本
print(target_paragraph.text)
  • 注意事项:
    • 如果目标段落不是<p>标签,把XPath里的p替换成实际的标签名(比如div、article等)。
    • 若页面加载存在延迟,可适当延长等待时间,或改用EC.visibility_of_element_located确保元素可见后再操作。

内容的提问来源于stack exchange,提问作者econbuffin2019

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 00:18:24