2012-02-10 65 views
16

我最近繼承了一些用Python 2.7編寫的Selenium Webdriver代碼。它將大量的數據記錄到Ubuntu上的/ tmp上 - 太多了,以至於成爲一個問題。我試圖關閉它(或至少下降)。關閉Selenium中的日誌(來自Python)

我一直在試圖RTFM,但這是一個新版本的硒(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? 這是硒的舊版本,並從腳本語言調用它,我相信。

+0

我沒有提到:我使用的一個黑客解決方案是在臨時目錄中創建一個同名的空文件,並刪除權限。硒仍然有效,但沒有登錄。 – Oddthinking

回答

21

這裏就是幫助我克服的問題:

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

注:此代碼應webdriver的初始化之前付諸表決。

希望有所幫助。

+2

這是正確的答案。以上所接受的答案依賴於日誌中顯示的名稱空間,而不是記錄模塊的工作方式。 – uchuugaka

+1

我修改了我的'從selenium.webdriver.remote.remote_connection導入LOGGER作爲serverLogger',這樣我就可以根據需要單獨設置我的代碼級別。謝謝!!! – uchuugaka

+0

@uchuugaka很高興它幫助! – alecxe

1

你使用一些記錄器?我有一個非常類似的問題? 我使用了一個簡單的logging.basicConfig,但Selenium也是這樣。 我的解決方案是定義我自己的記錄器。

也許你打印一些代碼示例。

+1

我也使用logging.basicConfig,並有相同的問題,Selenium使用相同的,現在它的日誌消息找到他們的方式進入我的日誌(但僅限於調試或更高的記錄優先級)。你是什​​麼意思你定義了你自己的記錄器?如你所說,你沒有使用Python的日誌記錄模塊,並編寫了自己的日誌記錄解決方案?也許你也可以展示一些代碼示例? – Dennis

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

對我沒有幫助。 – Serge

+1

沒有爲我工作 –

+0

這裏沒有運氣:/ – gh0st