无法从远程Chrome浏览器获取浏览器控制台日志

时间:2015-04-26 18:12:11

标签: python selenium selenium-webdriver selenium-chromedriver selenium-grid

我正在使用selenium的python语言绑定。 正在测试的应用程序是WEBRTC应用程序,它将调试信息写入浏览器的控制台日志。运行测试时需要获取这些日志信息。当浏览器在同一系统上运行时,我能够获取日志,但是当我在远程浏览器上使用Grid运行相同的代码时,即使它们出现在浏览器中,也不会返回日志。在将节点配置到集线器时,我也尝试使用-browserConsoleLog选项,但即使这样也不起作用。

chrome_opts=webdriver.ChromeOptions()
desired_caps = chrome_opts.to_capabilities()
desired_caps.update({'loggingPrefs':{ 'browser':'ALL'}})

通过启用如上所示的日志记录首选项,我可以在本地运行时从浏览器获取console-api和网络日志:

driver=webdriver.Chrome(desired_caps)
driver.get(app_url)
logs = driver.get_log("browser") 
# returns all the console-api, network and browser logs as I read from one of the posts
for log in logs:
   if log.get('source')=='console-api':
       print log.get('message')

但是当我使用与远程浏览器相同的所需功能时,如下所示,get_logs不会返回控制台日志,尽管它出现在浏览器控制台中                 driver=webdriver.Remote(command_executor=hub_url,desired_capabilities=desired_caps)

任何帮助?

0 个答案:

没有答案