2014-09-15 3 views
11

ChromePhantomJS 셀렌 드라이버 모두 브라우저 측면에서 진행되는 모든 것을 기록 할 수 있습니다. 드라이버를 초기화하는 동안 서비스 로그 경로를 지정하면 로그를 기록 할 위치를 제어 할 수 있습니다. 예 : (파이썬) 크롬 : 동일한 정보를 얻을 수있는 방법이 있나요하지만 사용Firefox 용 웹 드라이브 로그

[0.985][INFO]: Launching chrome: ... 
[2.620][INFO]: RESPONSE InitSession { 
    "acceptSslCerts": true, 
    "applicationCacheEnabled": false, 
    "browserConnectionEnabled": false, 
    "browserName": "chrome", 
    "chrome": { 
     "userDataDir": "/var/folders/yy/ppdg927x4zv8b0rbzg1f_jzh0000gn/T/.org.chromium.Chromium.ibsof9" 
    }, 
    "cssSelectorsEnabled": true, 
    "databaseEnabled": false, 
    "handlesAlerts": true, 
    "javascriptEnabled": true, 
    "locationContextEnabled": true, 
    "nativeEvents": true, 
    "platform": "Mac OS X", 
    "rotatable": false, 
    "takesHeapSnapshot": true, 
    "takesScreenshot": true, 
    "version": "37.0.2062.120", 
    "webStorageEnabled": true 
} 
[2.677][INFO]: Waiting for pending navigations... 
[2.696][INFO]: Done waiting for pending navigations 
[3.290][INFO]: Waiting for pending navigations... 
[4.338][INFO]: Done waiting for pending navigations 
[4.338][INFO]: RESPONSE Navigate 
[4.339][INFO]: COMMAND CloseWindow { 

} 
[4.451][INFO]: RESPONSE CloseWindow 

:

from selenium import webdriver 

driver = webdriver.Chrome(service_log_path="/tmp/log") 
driver.get("http://www.google.com") 
driver.close() 

코드를 실행 한 후, /tmp/log 파일은 디버깅에 도움이됩니다 서비스 로그를 포함 할 것 Firefox 웹 드라이버? 나는 소스 코드에서 보는 것과

모두 Chrome 최대 new services subprocess를 통해 PhantomJS 화재 및 그것에 --log-path 인수를 전달합니다. 그리고 이러한 서비스는 로깅을 담당합니다. Firefox driver은 구현이 매우 다르며 FirefoxBinary 클래스를 기반으로합니다.

제공되는 예제와 링크는 파이썬과 관련되어 있지만 질문은 꽤 일반적이며 언어에 구애받지 않습니다. 어떤 조언을 부탁해.

답변

9

는 링크 - https://code.google.com/p/selenium/wiki/DeveloperTips - 콘솔 사용한다 로그 :

FirefoxProfile p = new FirefoxProfile(); 
p.setPreference("webdriver.log.file", "/tmp/firefox_console"); 
WebDriver driver = new FirefoxDriver(p); 

브라우저 로그를 들어, (

webdriver.firefox.logfile 

를 사용한다 https://code.google.com/p/selenium/wiki/FirefoxDriver)

희망이 도움이됩니다.

+0

로그 파일은 Chrome 및 PhantomJS 서비스에서 제공하는 것만 큼 자세한 것은 아니지만 디버깅에 도움이되며 도움이됩니다. 고마워요! – alecxe

+0

너희들은 크롬에 대한 "브라우저 로그"에 대한 것을 알고 있니? 즉 webdriver.firefox.logfile이 아니라 Chrome 용입니다. –

1

프로필을 통해 FireFox에 대한 로깅을 사용하도록 설정해야한다고 생각합니다. Base64로 인코딩해야합니다.

그 라인을 따라 뭔가가 언급됩니다 in this bug raised against RemoteWebDriver.

어떤 도움이 필요합니까? 당신은 개발자 팁에서 파이어 폭스 프로필에 로깅 옵션을 설정해야합니다