2012-02-10 3 views
16

최근에 Python 2.7로 작성된 Selenium Webdriver 코드를 상속 받았습니다. 그것은 우분투에서/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

나는 언급하지 않았다 : 내가 사용한 한 해킹 해결책은 임시 디렉토리에 같은 이름의 빈 파일을 만들고 권한을 제거하는 것이었다. Selenium은 여전히 ​​작동했지만 기록하지 않았습니다. – Oddthinking

답변

21

다음은 문제를 극복하기 위해 나를 도와거야.

희망이 있습니다.

+2

이것은 맞는 대답입니다. 위의 대답은 로깅 모듈이 작동하는 방식이 아닌 네임 스페이스로 로그에 나타나는 것에 의존합니다. – uchuugaka

+1

필요에 따라 내 코드와 별도로 레벨을 설정할 수 있도록 광산을'selenium.webdriver.remote.remote_connection import logger as serverLogger'로 수정했습니다. 감사!!! – uchuugaka

+0

@uchuugaka 기꺼이 도와 줬어! – alecxe

1

일부 로거를 사용합니까? 나는 비슷한 문제가 있었습니까? 간단한 logging.basicConfig를 사용했지만 Selenium도이 작업을 수행합니다. 내 솔루션은 내 자신의 로거를 정의하는 것이 었습니다.

일부 코드 샘플을 인쇄했을 수 있습니다.

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

참고 :이 코드 webdriver 초기화하기 전에 넣어해야

+1

또한 logging.basicConfig를 사용하고 있으며 Selenium도 동일한 문제를 겪고 있습니다. 이제는 로그 메시지가 내 로그에 기록됩니다 (디버그 이상의 로깅 우선 순위에만 해당). 자신의 로거를 정의한다는 것은 무엇을 의미합니까? 에서처럼, 당신은 파이썬의 로깅 모듈을 사용하지 않았고 자신의 로깅 솔루션을 작성 했습니까? 아마도 일부 코드 샘플을 보여줄 수도 있습니까? – 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