如何使用Selenium和Python绑定禁用日志记录

Rab*_*eih 6 python selenium-chromedriver

简单问题:如何在使用Python绑定的Selenium时完全禁用日志记录,ex代码如下:

browser = webdriver.Chrome()
Run Code Online (Sandbox Code Playgroud)

我尝试过这样的事情:

options = webdriver.ChromeOptions();
options.add_argument('--log-level 3') 
browser = webdriver.Chrome(chrome_options=options)
Run Code Online (Sandbox Code Playgroud)

甚至:

options = webdriver.ChromeOptions();
options.add_argument('--disable-logging') 
browser = webdriver.Chrome(chrome_options=options)
Run Code Online (Sandbox Code Playgroud)

但是仍然会在每次新的测试运行中出现'chromedriver.log'文件.

vmm*_*m86 11

您可以将options.add_argument("--log-level=3")Chrome 浏览器设置为使用 Selenuim 运行,或者您可以将日志记录级别设置为更高的级别:

logger = logging.getLogger('selenium.webdriver.remote.remote_connection')
logger.setLevel(logging.WARNING)  # or any variant from ERROR, CRITICAL or NOTSET
Run Code Online (Sandbox Code Playgroud)

但是在这种情况下无论如何都会出现一些消息,包括启动 DevTools 消息或 SSL 握手错误消息。

要以完全静默模式在控制台中使用 Selenium 运行 Chrome 浏览器,您应该使用以下代码段:

options = Options()
options.headless = True
options.add_experimental_option("excludeSwitches", ["enable-logging"])
Run Code Online (Sandbox Code Playgroud)

该技巧将抑制来自 Selenium 驱动程序或浏览器本身的任何控制台消息,包括一DevTools listening on ws://127.0.0.1开始的第一条消息。

同时,可以将一些运行时分步数据保存到服务日志文件中,以防已添加其参数。


Y__*_*Y__ 8

Chrome 的 webdriver 的源代码显示了一个名为 的选项的存在service_log_path

因此,如果您想删除该文件,可以将此属性设置为

  • /dev/null如果您在 Linux/Unix 下运行;
  • NUL在窗户下

希望能帮助到你


TON*_*y.W 8

driver = webdriver.Chrome(service_log_path='/dev/null')
Run Code Online (Sandbox Code Playgroud)


小智 7

对于 Windows 用户来说只是一个例子:

webdriver.Firefox(log_path='NUL')
Run Code Online (Sandbox Code Playgroud)

接受的答案是正确的,但如果你像我一样是Python/Windows新手,这样的例子会减少你几个小时的谷歌时间。


Deb*_*anB 6

要使用SeleniumPythonChromeOptions()禁用日志记录,您需要通过以下实例添加实验选项:

add_experimental_option('excludeSwitches', ['enable-logging'])
Run Code Online (Sandbox Code Playgroud)

执行

兼容代码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

options = Options()
options.add_experimental_option('excludeSwitches', ['enable-logging'])
s = Service('C:\\BrowserDrivers\\chromedriver.exe')
driver = webdriver.Chrome(service=s, options=options)
Run Code Online (Sandbox Code Playgroud)