如何使用带有 Python 绑定的 Selenium 禁用日志记录

新手上路,请多包涵

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

 browser = webdriver.Chrome()

我试过这样的事情:

 options = webdriver.ChromeOptions();
options.add_argument('--log-level 3')
browser = webdriver.Chrome(chrome_options=options)

甚至:

 options = webdriver.ChromeOptions();
options.add_argument('--disable-logging')
browser = webdriver.Chrome(chrome_options=options)

但文件“chromedriver.log”仍然出现在每次新的测试运行中。

原文由 Rabih Kodeih 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

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

所以如果你想删除文件,你可以将这个属性设置为

  • /dev/null 如果你在 Linux/Unix 下运行;
  • NUL windows下

希望能帮助到你

原文由 Y__ 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

 import logging
logger = logging.getLogger('selenium.webdriver.remote.remote_connection')
logger.setLevel(logging.WARNING)  # or any variant from ERROR, CRITICAL or NOTSET

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

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

 options = Options()
options.headless = True
options.add_experimental_option("excludeSwitches", ["enable-logging"])

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

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

原文由 architux 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题