selenium 如何阻止Selify打印WebDriver管理器启动日志?

6rvt4ljy  于 2022-11-10  发布在  其他
关注(0)|答案(5)|浏览(213)

当我启动一个新的Selify驱动程序时,我收到一条消息:

====== WebDriver manager ======
Current chromium version is 90.0.4430
Get LATEST chromedriver version for 90.0.4430 chromium
Driver [/root/.wdm/drivers/chromedriver/linux64/90.0.4430.24/chromedriver] found in cache

我试着使用:

chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"])
chrome_options.add_argument('log-level=2')

但都没有奏效。
有没有更好的办法?

vhipe2zx

vhipe2zx1#

您为chrome_options设置的log-level与您看到的使用外部库webdrivermanager for Python的日志完全不同。该库将有自己的方法来禁用日志消息(或者至少它应该这样做)。还有其他用于管理WebDriver安装的Python库,例如SeleniumBase。相关信息,您可以更改Python日志记录级别以隐藏该消息,有关详细信息,请参阅Dynamically changing log level without restarting the application

ubof19bj

ubof19bj2#

若要将webdrivermanager-python日志静默并从控制台移除,您可以在进行如下Selify测试之前,将环境变量WDM_LOG_LEVEL初始化为*0*值:

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

os.environ['WDM_LOG_LEVEL'] = '0'
options = Options()
options.add_argument("start-maximized")
options.add_experimental_option('excludeSwitches', ['enable-logging'])
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
driver.get("https://www.google.com")
ggazkfy8

ggazkfy83#

根据documents:只需将以下代码添加到您的文件中:

import os
os.environ['WDM_LOG'] = '0'

我自己也试过,效果很好

bqf10yzr

bqf10yzr4#

您是否在使用Web驱动程序管理器?看起来这就是为您提供日志的原因(PIP安装WebDRIVER-MANAGER)。我正在使用没有Web驱动程序管理器的Selify,或者添加任何Chrome选项来删除日志,并且不打印任何日志。
另请参阅:关闭Selenson的登录(从Python)

w46czmvw

w46czmvw5#

这对我的WebDRIVER_MANAGER v3.8.3有效:

from webdriver_manager.core.logger import __logger as wdm_logger
wdm_logger.setLevel(logging.WARNING)

相关问题