如何用selenium webdriver 捕获js error

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用selenium webdriver 捕获js error相关的知识,希望对你有一定的参考价值。

### 问题

捕捉页面上js error

 

### 解决办法

从Selenium webdriver log 中解析

# -*- coding:utf8 -*-

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


class CaptureJSError(unittest.TestCase):

    @classmethod
    def setUp(self):
        self.driver = webdriver.Remote(http://yourseleniumgrid:4444/wd/hub,
                                       desired_capabilities=DesiredCapabilities.FIREFOX)
    def test_search_in_python_org(self):
        driver = self.driver
        driver.get("http://foopagewitherr:80")
        logs = driver.get_log(browser)
        for log in logs:
            if log[level] == SEVERE:
                print log
                # output is {u‘timestamp‘: 1474618002360, u‘message‘: u‘TypeError: $(...).ready_ is not a function‘, u‘level‘: u‘SEVERE‘}

    @classmethod
    def tearDown(self):
        self.driver.close()


if __name__ == "__main__":
    unittest.main()

 

Note:

这里的webdriver是由Selenium Grid提供的,本地webdriver 应该也是可以的

 

### 引用

https://www.3pillarglobal.com/insights/how-to-capture-javascript-errors-from-your-web-application

 

以上是关于如何用selenium webdriver 捕获js error的主要内容,如果未能解决你的问题,请参考以下文章

如何用selenium模拟鼠标操作

如何在 Python 上使用 selenium webdriver 和 browsermob 代理捕获网络流量?

在 selenium webdriver 中捕获屏幕截图 [重复]

使用 Java 使用 Selenium WebDriver 捕获浏览器日志

selenium操作浏览器的基本方法

如何使用Selenium Webdriver捕获特定元素而不是整个页面的屏幕截图?