简单问题:如何在使用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'文件。
答案 0 :(得分:7)
driver = webdriver.Chrome(service_log_path='/dev/null')
答案 1 :(得分:7)
您可以将options.add_argument("--log-level=3")
设置为与Selenuim一起运行的Chrome浏览器,也可以通过以下方式将日志记录级别设置为更高的级别:
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
。
如果添加了参数,则可以同时将某些运行时逐步数据保存到服务日志文件。
答案 2 :(得分:2)
Chrome的网络驱动程序source code显示存在名为service_log_path
的选项。
因此,如果您想要删除该文件,可以将此属性设置为
/dev/null
如果您在Linux / Unix下运行; NUL
希望有所帮助
答案 3 :(得分:2)
仅是Windows用户的例子:
webdriver.Firefox(log_path='NUL')
可接受的答案是正确的,但是如果您像我这样不熟悉Python / windows,则像这样的示例将为您节省数小时的Google时间。
答案 4 :(得分:1)
这对我有用:
chrome_options.add_experimental_option('excludeSwitches', ['enable-logging'])
感谢:
https://joshuatz.com/posts/2020/selenium-webdriver-disabling-chrome-logging-messages/