【问题标题】:selenium remotewebdriver with python - performance logging?带有 python 的 selenium remotewebdriver - 性能日志记录?
【发布时间】:2014-08-29 17:59:41
【问题描述】:

我正在尝试从远程 webdriver 实例取回一些性能日志信息。我正在使用 Python Selenium 绑定。

据我所知,这是我应该能够取回的信息。认为它可能仅适用于 ChromeDriver。我目前正在使用 FireFox,但如果它得到我想要的信息,可以轻松切换。

但是,我是 Python 新手(但正在学习!),围绕 Python 功能字典(用于性能日志记录时)的文档似乎有点有限(或者我的 google-fu 今天早上很弱)。

我发现了以下内容:

DesiredCapabilities caps = DesiredCapabilities.chrome();
LoggingPreferences logPrefs = new LoggingPreferences();
logPrefs.enable("performance", Level.INFO);
caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
driver = new RemoteWebDriver("http://localhost:9515", caps);

看起来应该可以满足我的需要。但它是Java。我不太确定如何将其转换为 Python。假设这是可能的。

有什么想法吗?

【问题讨论】:

标签: python logging selenium selenium-chromedriver remotewebdriver


【解决方案1】:

如果有人想知道,这似乎对我有用:

(假设您使用的是 selenium 遥控器)

url = 'http://remote instance IP:PORT/wd/hub'
descaps = {'browserName': 'chrome', 'loggingPrefs': {'performance': 'INFO'}}

driver = webdriver.Remote(command_executor=url, desired_capabilities=descaps)

driver.command_executor._commands.update({'getAvailableLogTypes': 
                        ('GET', '/session/sessionId/log/types'), 
                        {'getLog': ('POST', '/session/$sessionId/log')})

getlog = driver.execute('getLog', {'type': 'performance'})['value']

(在添加的两个命令“getAvailableLogTypes”和“getLog”中,您只能在上面的代码 sn-p 中看到前者。后者只是返回远程会话上可用日志类型的列表。)

现在我需要做的就是解释它......

【讨论】:

  • 您可以使用caps = webdriver.DesiredCapabilities.CHROME.copy(); caps['loggingPrefs'] = {'performance': 'INFO'}; driver = webdriver.Remote(command_executor=url, desired_capabilities=capabilities)定义功能
  • @JorgeOrpinel 我认为您的评论有错字:desired_capabilities=caps)
【解决方案2】:

在玩了一段时间的 Chromedriver 日志后,我发现了一个更紧凑的解决方案,可以在 Chrome 以外的浏览器上运行。

这个:https://pypi.python.org/pypi/seleniumwrapper

它为 Navigation Timing API (https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html) 添加了一个很好的包装器。提供更紧凑的数据集,更易于解释和使用。

它围绕标准 Selenium 放置的其他包装器实际上也相当不错!

【讨论】:

  • 请详细说明。我实际上并没有看到这对计时 API 有任何帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-28
  • 2014-07-16
  • 2013-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多