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

Python Selenium中DevTools listening日志无法消除的解决请求

解决DevTools日志干扰问题及扩展多数据抓取

问题原因

你看到的DevTools listening on ws://...日志是Chrome在headless模式下默认输出的调试连接信息,现有配置未完全覆盖这部分日志的屏蔽规则。

具体修改步骤

  • 在ChromeOptions中添加--silent参数,彻底抑制Chrome的非必要日志输出
  • 调整Service配置,通过log_output=os.devnull完全禁用ChromeDriver的日志
  • 添加--remote-debugging-port=0,避免自动分配调试端口并输出连接地址
  • 改用新版headless模式--headless=new,稳定性更强且日志更少

修改后的完整代码(包含三个目标数据抓取)

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
from bs4 import BeautifulSoup
import os

def get_finance_data():
    # 配置Chrome服务,禁用所有日志
    service = Service(
        executable_path=ChromeDriverManager().install(),
        log_output=os.devnull
    )
    
    # 配置Chrome选项
    options = Options()
    options.add_experimental_option('excludeSwitches', ['enable-logging'])
    options.add_argument('--headless=new')
    options.add_argument('--log-level=3')
    options.add_argument('--disable-logging')
    options.add_argument('--disable-dev-shm-usage')
    options.add_argument('--silent')
    options.add_argument('--remote-debugging-port=0')
    
    driver = webdriver.Chrome(service=service, options=options)
    
    # 抓取美元兑韩元汇率
    driver.get('https://www.google.com/search?q=usd+to+krw')
    soup = BeautifulSoup(driver.page_source, 'html.parser')
    usd_krw = soup.select_one('#knowledge-currency__updatable-data-column > div.b1hJbf > div.dDoNo.ikb4Bb.gsrt > span.DFlfde.SwHCTb').get_text()
    
    # 抓取KOSPI指数
    driver.get('https://www.google.com/search?q=kospi+index')
    soup = BeautifulSoup(driver.page_source, 'html.parser')
    kospi = soup.select_one('.IsqQVc.NprOob.wT3VGc').get_text()
    
    # 抓取纳斯达克指数
    driver.get('https://www.google.com/search?q=nasdaq+index')
    soup = BeautifulSoup(driver.page_source, 'html.parser')
    nasdaq = soup.select_one('.IsqQVc.NprOob.wT3VGc').get_text()
    
    # 关闭驱动,避免残留进程
    driver.quit()
    
    # 输出目标结果
    print(f"美元兑韩元: {usd_krw}")
    print(f"KOSPI指数: {kospi}")
    print(f"纳斯达克指数: {nasdaq}")

get_finance_data()

额外补充

如果是Windows系统仍有零星日志,可在代码开头添加以下代码重定向标准错误输出:

import sys
sys.stderr = open(os.devnull, 'w')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 02:42:44