当前位置: 首页 > 知识库问答 >
问题:

如何获得浏览器控制台错误消息使用Selenium WebDriver python

易流觞
2023-03-14

控制台错误png我们一直试图通过使用以下代码打印特定网站的控制台错误。但是我们无法捕捉控制台错误。有人能给出快速响应吗

代码行:

driver.get_log('browser')

错误:

[{u'source': u'deprecation', u'message': u"https://xxxxx/static/vendor/vendor.bundle.js?v=16 902 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.", u'timestamp': 1515593047810, u'level': u'WARNING'}]

代码行:

driver.get_log('driver')

错误:

[{u'timestamp': 1515593061561, u'message': u'Unable to evaluate script: disconnected: not connected to DevTools\n', u'level': u'WARNING'}, {u'timestamp': 1515593071847, u'message': u'Unable to evaluate script: disconnected: not connected to DevTools\n', u'level': u'WARNING'}]

代码块:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

capabilities = DesiredCapabilities.CHROME
capabilities['loggingPrefs'] = { 'browser':'ALL' }
driver = webdriver.Chrome(desired_capabilities=capabilities)
driver.get('url')
elem = driver.find_element_by_id('username')
elem.send_keys('xxxx')
elem1 = driver.find_element_by_name('password')
elem1.send_keys('xxxx')
elem2 = driver.find_element_by_class_name('btn-info')
elem2.click()
driver.get('url')
for entry in driver.get_log('browser'):
    print entry

共有1个答案

乌俊健
2023-03-14

错误:看起来像是正在打印的JS错误:

[{u'source': u'deprecation', u'message': 
 u"https://xxxxx/static/vendor/vendor.bundle.js?v=16 902 Synchronous 
 XMLHttpRequest on the main thread is deprecated because of its detrimental 
 effects to the end user's experience. For more help, check 
 https://xhr.spec.whatwg.org/.", u'timestamp': 1515593047810, u'level': 
 u'WARNING'}]

我相信输出的就是你想要的。

这是我对登录驱动程序的输出。获取日志(“浏览器”):打印(日志):

{'level': 'SEVERE', 'message': 'https://secure.quantserve.com/quant.js - 
Failed to load resource: net::ERR_CONNECTION_RESET', 'source': 'network', 
'timestamp': 1515630280361}
{'level': 'SEVERE', 'message': 'https://js-sec.indexww.com/ht/p/185901-
159836282584097.js - Failed to load resource: net::ERR_TIMED_OUT', 'source': 
'network', 'timestamp': 1515630288646}
{'level': 'SEVERE', 'message': 
'https://www.googletagservices.com/tag/js/gpt.js - Failed to load resource: 
net::ERR_TIMED_OUT', 'source': 'network', 'timestamp': 1515630288785}
 类似资料:
  • 我想用Selenium WebDriver C#收集控制台中出现的所有控制台错误消息。我只想要像这样的控制台错误

  • 测试运行后,我想收集控制台中显示的所有控制台错误消息(打开Firebug)- 我尝试了这里提到的答案,但它只显示“警告”、“信息”的消息,而不显示“错误”的消息 我只想要控制台错误,比如- 谁能帮我弄到那些控制台日志吗?

  • 在Selenium Webdriver for Javascript/NodeJS中,如何获取

  • 问题内容: 为了进行快速验证,我在开发过程中已在浏览器控制台中测试了AngularJS服务。我注入到服务控制台的方法是在为说明这个问题,或 这与AngularJS 1.0.7完美配合。但是,升级到1.1.5之后,对于使用service的服务将不再起作用,不会发送xhr。 我已经测试过直接注射,它也不起作用。AngularJS changelog似乎没有关于此问题的记录。我可以知道这是什么问题吗?

  • 问题内容: 我正在使用量角器来测试AngularJS 我想检查在测试结束时是否未发生未捕获的异常,并将它们打印到浏览器控制台。 有没有简单的方法可以做到这一点? 问题答案: 如果您将量角器与Jasmine一起使用,请使用以下代码: 如果没有控制台错误,这将通过测试用例。如果有任何控制台错误,则测试将失败。 有关如何访问浏览器控制台内容的说明, 可以 在常见问题解答的“ 如何获取浏览器控制台” 部分

  • 问题内容: 我试图找出如何抑制应用程序中的http请求和响应错误,例如,当对服务器提出错误请求时,我不希望该 错误记录到浏览器控制台中。我尝试覆盖$exceptionHandler,但是该逻辑适用于除HTTP 错误以外的所有异常,这些异常仍记录在浏览器中。我还创建了HTTP拦截器,但是全局400 Bad Request错误出现在我放入我的逻辑之前 : 那也没有抑制错误,有什么想法吗? EDIT 问