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开始的第一条消息。
同时,可以将一些运行时分步数据保存到服务日志文件中,以防已添加其参数。
Chrome 的 webdriver 的源代码显示了一个名为 的选项的存在service_log_path。
因此,如果您想删除该文件,可以将此属性设置为
/dev/null如果您在 Linux/Unix 下运行;NUL在窗户下希望能帮助到你
小智 7
对于 Windows 用户来说只是一个例子:
webdriver.Firefox(log_path='NUL')
Run Code Online (Sandbox Code Playgroud)
接受的答案是正确的,但如果你像我一样是Python/Windows新手,这样的例子会减少你几个小时的谷歌时间。
要使用Selenium和PythonChromeOptions()禁用日志记录,您需要通过以下实例添加实验选项:
add_experimental_option('excludeSwitches', ['enable-logging'])
Run Code Online (Sandbox Code Playgroud)
selenium4兼容代码
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)