Python 获取chrome性能和跟踪日志
我正试图遵循google测试自动化会议talk和ChromeDriver中提出的想法,以获取跟踪数据,稍后提交给性能分析 如何使用python selenium绑定检索性能日志Python 获取chrome性能和跟踪日志,python,google-chrome,selenium,selenium-webdriver,selenium-chromedriver,Python,Google Chrome,Selenium,Selenium Webdriver,Selenium Chromedriver,我正试图遵循google测试自动化会议talk和ChromeDriver中提出的想法,以获取跟踪数据,稍后提交给性能分析 如何使用python selenium绑定检索性能日志 我试图打印出驱动程序实例中可用的日志类型 from selenium import webdriver driver = webdriver.Chrome() driver.get('https://stackoverflow.com') print driver.log_types driver.close()
我试图打印出驱动程序实例中可用的
日志类型
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://stackoverflow.com')
print driver.log_types
driver.close()
但是只有
[u'browser', u'driver']
我没有看到相关的。默认情况下,性能日志被禁用 要启用它,请使用并配置
loggingPrefs
:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
caps = DesiredCapabilities.CHROME
#as per latest docs
caps['goog:loggingPrefs'] = {'performance': 'ALL'}
driver = webdriver.Chrome(desired_capabilities=caps)
driver.get('https://stackoverflow.com')
for entry in driver.get_log('performance'):
print(entry)
driver.quit()
这将导致控制台上打印一组跟踪日志条目:
{u'timestamp': 1419487459178, u'message': u'{"message":{"method":"Network.responseReceived","params":{"frameId":"2105.1","loaderId":"2105.2","requestId":"2105.1","response":{"connectionId":0,"connectionReused":false,"encodedDataLength":-1,"fromDiskCache":false,"fromServiceWorker":false,"headers":{"Access-Control-Allow-Origin":"*","Content-Type":"text/plain;charset=US-ASCII"},"mimeType":"text/plain","status":200,"statusText":"OK","url":"data:,"},"timestamp":1419487458.92934,"type":"Document"}},"webview":"2C66E956-A48B-456B-8A4E-1022F699AA92"}', u'level': u'INFO'}
{u'timestamp': 1419487459178, u'message': u'{"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"2105.1","timestamp":1419487458.92936}},"webview":"2C66E956-A48B-456B-8A4E-1022F699AA92"}', u'level': u'INFO'}
{u'timestamp': 1419487459178, u'message': u'{"message":{"method":"Page.frameNavigated","params":{"frame":{"id":"2105.1","loaderId":"2105.2","mimeType":"text/plain","securityOrigin":"://","url":"data:,"}}},"webview":"2C66E956-A48B-456B-8A4E-1022F699AA92"}', u'level': u'INFO'}
...
我知道这个答案非常古老,但你知道是否有办法只获取“网络”事件(即当你进入Chrome开发者工具的“网络”选项卡时会看到什么)。我可以从日志中解析我需要的内容,但我认为有一种更有效的方法,我在理解文档时遇到了一些困难。谢谢我一直在寻找这个答案。谢谢对于较新版本的Chrome,您必须使用
caps[“goog:loggingpresfs”]={“performance”:“ALL”}
。日志中的消息条目是字符串日志,需要序列化为JSON。例如,导入json s=log['message']json\u可接受的\u字符串=s.replace(“'”,“\”)d=json.loads(json\u可接受的\u字符串)