如何忽略chromedriver错误在日志中显示(selenium)

-2 投票
1 回答
62 浏览
提问于 2025-04-14 17:49

我正在使用selenium来写一个抓取脚本,并且在Windows上使用chromedriver服务,下面是我初始化它们的方式:

# Setting up the options
options = Options()
options.add_argument("--headless=new")
options.add_argument('--ignore-ssl-errors=yes')
options.add_argument('--ignore-certificate-errors=yes')

# Setting up service

service = Service(ChromeDriverManager().install(), log_output='nul')

driver = webdriver.Chrome(service=service,options=options)

# Rest of the code ...

我的脚本运行得很好,只是我想忽略那些每次运行时在控制台上出现的烦人的错误和警告。

DevTools listening on ws://127.0.0.1:57253/devtools/browser/10819d8d-19ce-4893-8632-7c841dc8f6f7
[12856:28660:0307/001815.740:ERROR:socket_manager.cc(141)] Failed to resolve address for stun.l.google.com., errorcode: -105
ERROR: Time is after notAfter
[12856:28660:0307/001818.072:ERROR:socket_manager.cc(141)] Failed to resolve address for stun.l.google.com., errorcode: -105

我在想有没有办法做到这一点……

我尝试在服务构造函数中添加这个参数,但没有解决问题:log_output='nul'

我也试过这个,但也没有用:

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

# Setting up the options

options = Options()
options.add_argument('--ignore-ssl-errors=yes')
options.add_argument('--ignore-certificate-errors')

# Instantiate the WebDriver with suppressed console errors

service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=options)

sys.stderr.close()
sys.stderr = sys.__stderr__

# Rest of the code

1 个回答

0

试着添加这一行:

options.add_argument("--log-level=3")
0: verbose
1: info
2: warning
3: error

撰写回答