关闭Selenium中的日志记录(来自Python)

时间:2012-02-10 10:46:11

标签: python selenium selenium-webdriver

我最近继承了一些用Python 2.7编写的Selenium Webdriver代码。它正在将大量数据记录到Ubuntu上的/ tmp中 - 以至于它正成为一个问题。我试图将其关闭(或者至少关闭)。

我一直在尝试使用RTFM,但这是Selenium(2.19.0)的新版本,手册尚未编写!

我可以看到有一个名为set_browser_log_level(logLevel)的方法听起来很有希望,但要实现它,我需要实例化一个selenium.selenium.selenium对象。我不需要实例化其中一个,它需要很多参数(主机?什么端口?),我不希望提供。

显然,我误解了一些事情。

有人可以解释一下(a)如何关闭日志记录,或者(b)selenium.selenium.selenium.selenium.selenium(我可能已经带走了那些服务,对不起!)想要谈谈到?

<小时/> 相关问题:In Selenium, how do I turn off logging? 这是Selenium的旧版本,我相信它是用脚本语言调用的。

4 个答案:

答案 0 :(得分:33)

这是帮助我克服这个问题的原因:

import logging
from selenium.webdriver.remote.remote_connection import LOGGER
LOGGER.setLevel(logging.WARNING)

注意:此代码应在webdriver初始化之前放置。

希望有所帮助。

答案 1 :(得分:10)

import logging
selenium_logger = logging.getLogger('selenium.webdriver.remote.remote_connection')
# Only display possible problems
selenium_logger.setLevel(logging.WARNING)

答案 2 :(得分:2)

你使用一些记录器吗?我有一个非常相似的问题? 我使用了一个简单的logging.basicConfig,但Selenium也是这样做的。 我的解决方案是定义我自己的记录器。

也许您打印一些代码示例。

答案 3 :(得分:1)

alecxe的回答对我有用。但是,日志中仍然存在一些调试消息,这些消息源自urllib3。它是通过硒导入的,不受上述解决方案的影响。这是我用过的,物有所值:

# Set the threshold for selenium to WARNING
from selenium.webdriver.remote.remote_connection import LOGGER as seleniumLogger
seleniumLogger.setLevel(logging.WARNING)
# Set the threshold for urllib3 to WARNING
from urllib3.connectionpool import log as urllibLogger
urllibLogger.setLevel(logging.WARNING)

如果有人知道实现相同目标的更多pythonic方法-我会很高兴听到它。