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

Python数据爬取异常:返回“general”且出现节点连接描述符读取失败错误

Python爬取库存问题排查方案

1. 先解决“Failed to read descriptor from node connection”错误

这个错误基本是ChromeDriver和Chrome版本不兼容,或者启动参数的问题:

  • 核对Chrome浏览器版本,下载完全匹配的ChromeDriver,比如Chrome是119.0.6045.105,ChromeDriver也要用同版本
  • 启动Chrome时加--disable-dev-shm-usage参数,避免共享内存不足导致的连接问题,代码示例:
from selenium import webdriver

opts = webdriver.ChromeOptions()
opts.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome(options=opts)

2. 库存返回“general”的核心问题

这说明你定位库存元素的逻辑完全错了,和用列表还是单个字符串没关系:

  • 打开目标页面按F12,直接搜“in stock”找到对应的HTML元素,抄对它的XPath或CSS选择器,别瞎猜
  • 如果是动态加载的页面,必须等元素加载完再爬,加个显式等待:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 最多等10秒,直到包含库存文本的元素出现
stock_elem = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.XPATH, "//*[contains(text(), 'in stock')]"))
)
print(stock_elem.text)
  • 检查是不是选到了错误的元素,比如页面里有个带“general”的元素刚好被你的选择器命中了
  • 有些网站需要登录或者带特定Cookie才显示真实库存,先手动登录看看页面显示正常不

补充:如果用requests库爬的情况

别直接爬静态HTML,打开开发者工具的网络面板,找加载库存的AJAX请求,直接请求这个接口拿数据,静态页面里可能根本没有真实库存信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 03:40:35