Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取chrome性能和跟踪日志_Python_Google Chrome_Selenium_Selenium Webdriver_Selenium Chromedriver - Fatal编程技术网

Python 获取chrome性能和跟踪日志

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()

我正试图遵循google测试自动化会议talk和ChromeDriver中提出的想法,以获取跟踪数据,稍后提交给性能分析

如何使用python selenium绑定检索性能日志


我试图打印出驱动程序实例中可用的
日志类型

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字符串)