如何减少在Selenium下运行Chromedriver时的日志冗长性?

6 投票
1 回答
8210 浏览
提问于 2025-04-18 04:59

我的Jenkins功能测试失败报告里充满了这样的行:

selenium.webdriver.remote.remote_connection: DEBUG: Finished Request
selenium.webdriver.remote.remote_connection: DEBUG: POST http://127.0.0.1:52932/session/60d406aa8e55ac841cf4efb4a43e63be/element {"using": "css selector", "sessionId": "60d406aa8e55ac841cf4efb4a43e63be", "value": "#Login input[name=email]"}

我对这些内容不感兴趣,每一条我想看的堆栈跟踪信息旁边都有成百上千行这样的输出。我该怎么把它们关掉呢?

我到目前为止尝试过的办法都没用:

from selenium import webdriver
driver = webdriver.Chrome(
    service_args=['--silent'], 
    service_log_path='/tmp/throwaway.log')

还有...

from selenium import webdriver
driver = webdriver.Chrome(
    service_args=['2>/dev/null'])

还有...

from selenium import webdriver
driver = webdriver.Chrome(
    service_args=['>', '/dev/null', '2>&1'])

这些方法都没有减少任何输出。

1 个回答

14

你需要把 remote_connection日志级别 设置得比 DEBUG 高:

from selenium.webdriver.remote.remote_connection import LOGGER, logging
LOGGER.setLevel(logging.WARNING)

顺便提一下,这个内容是参考了 这个回答

撰写回答