Python中chromedriver headless模式如何屏蔽日志
import selenium
from selenium import webdriver
from fake_useragent import UserAgent
ua = UserAgent()
option = webdriver.ChromeOptions()
option.add_argument(’–headless’)
option.add_argument(“window-size=1024,768”)
option.add_argument(’–start-maximized’)
option.add_argument(‘user-agent="%s"’%ua.random)
browser = webdriver.Chrome(executable_path=r’E:\selenium\chromedriver.exe’, chrome_options=option)
browser.get(‘https://www.baidu.com’)
browser.save_screenshot(r’D:\ok.png’)
chromedriver 在 headless 模式下运行会产生大量的日志信息, 请问如何屏蔽, 日志信息如下:
λ python demo.py
[0708/210859.241:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context.
DevTools listening on ws://127.0.0.1:54382/devtools/browser/b6ca42e1-ad48-4392-b028-f4a38efa0f82
[0708/210900.895:INFO:CONSOLE(715)] “A parser-blocking, cross site (i.e. different eTLD+1) script, https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/js/all_async_search_117a605.js, is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See https://www.chromestatus.com/feature/5718547946799104 for more details.”, source: https://www.baidu.com/ (715)
[0708/210900.897:INFO:CONSOLE(715)] “A parser-blocking, cross site (i.e. different eTLD+1) script, https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/js/all_async_search_117a605.js, is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See https://www.chromestatus.com/feature/5718547946799104 for more details.”, source: https://www.baidu.com/ (715)
[0708/210900.949:INFO:CONSOLE(4)] “Uncaught ReferenceError: c is not defined”, source: https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/plugins/every_cookie_4644b13.js (4)
Python中chromedriver headless模式如何屏蔽日志
尝试指定日志文件(路径)
options.addArguments(“log-path=chromedriver.log”);
或
options.addArguments(“log-path=/dev/null”);
用 ChromeOptions 加 add_experimental_option 就能搞定。关键是把 excludeSwitches 设成 ['enable-logging'],再把日志级别调高。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
# 关键在这两行,屏蔽控制台日志
chrome_options.add_experimental_option('excludeSwitches', ['enable-logging'])
chrome_options.add_argument('--log-level=3')
driver = webdriver.Chrome(options=chrome_options)
driver.get("https://www.example.com")
# ... 你的操作
driver.quit()
--log-level=3 把 Chromium 的日志级别设到 FATAL,基本就清净了。如果还有少量 DevTools 日志,可以再加个 --disable-dev-shm-usage 和 --no-sandbox(某些 Linux 环境需要),但主要就靠上面那两行。
总结:加两个选项就能清静。
你好 刚刚试过了 还是会产生日志信息
将日志等级设定为 3 即可
chrome_options.add_argument(‘log-level=3’)
#info(default) = 0
#warning = 1
#LOG_ERROR = 2
#LOG_FATAL = 3

