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

LangChain中UnstructuredURLLoader/SeleniumURLLoader加载JS网站失败排查

问题描述

尝试用LangChain的文档加载器加载网站URL时,UnstructuredURLLoader对部分JS渲染的网站返回如下结果:

(Document(page_content='Please enable JS and disable any ad blocker',
 metadata={'source': 'https://wellfound.com/company/chorus-one'}) 

于是改用文档推荐的SeleniumURLLoader解决JS渲染问题,执行pip install selenium webdriver_manager安装了selenium 4.10.0和webdriver-manager 3.8.6后,运行以下代码:

from langchain.document_loaders import UnstructuredURLLoader, SeleniumURLLoader

loaders = SeleniumURLLoader(urls=urls)
data = loaders.load()

却持续报错:

The version of chrome cannot be detected. Trying with latest driver version

WebDriverException: Message: unknown error: cannot find Chrome binary
Stacktrace:
#0 0x55c7d5ee44e3
#1 0x55c7d5c13c76
#2 0x55c7d5c3a757
#3 0x55c7d5c39029
#4 0x55c7d5c77ccc
#5 0x55c7d5c7747f
#6 0x55c7d5c6ede3
#7 0x55c7d5c442dd
#8 0x55c7d5c4534e
#9 0x55c7d5ea43e4
#10 0x55c7d5ea83d7
#11 0x55c7d5eb2b20
#12 0x55c7d5ea9023
#13 0x55c7d5e771aa
#14 0x55c7d5ecd6b8
#15 0x55c7d5ecd847
#16 0x55c7d5edd243
#17 0x7fbddad0d609 start_thread

解决方法

报错核心是系统找不到Chrome浏览器的二进制文件,或webdriver-manager无法自动检测Chrome版本,按以下步骤排查:

  • 确认Chrome已安装
    检查系统是否安装了Google Chrome浏览器,未安装的话直接下载对应系统版本的Chrome完成安装。

  • 手动指定Chrome二进制文件路径
    如果Chrome安装在非默认路径(自定义安装位置、Linux下的非标准目录),需在代码中明确指定路径:

    from langchain.document_loaders import SeleniumURLLoader
    from selenium.webdriver.chrome.options import Options
    
    chrome_options = Options()
    # Windows示例路径
    chrome_options.binary_location = r"C:\Program Files\Google\Chrome\Application\chrome.exe"
    # Linux示例路径
    # chrome_options.binary_location = "/usr/bin/google-chrome"
    # macOS示例路径
    # chrome_options.binary_location = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
    
    loaders = SeleniumURLLoader(
        urls=urls,
        chrome_options=chrome_options
    )
    data = loaders.load()
    
  • 匹配Chrome与ChromeDriver版本

    1. 打开Chrome,在地址栏输入chrome://version/查看浏览器版本号
    2. 手动下载对应版本的ChromeDriver,然后在代码中指定驱动路径:
      from langchain.document_loaders import SeleniumURLLoader
      from selenium.webdriver.chrome.options import Options
      from selenium.webdriver.chrome.service import Service
      
      chrome_options = Options()
      service = Service(executable_path="/path/to/chromedriver") # 替换为你的chromedriver实际路径
      
      loaders = SeleniumURLLoader(
          urls=urls,
          chrome_options=chrome_options,
          service=service
      )
      data = loaders.load()
      
  • 配置环境变量(Linux/macOS)
    若Chrome二进制文件不在系统PATH中,可通过软链接将其添加到标准目录:

    sudo ln -s /实际的chrome安装路径/chrome /usr/bin/google-chrome
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 19:55:31