使用Selenium Python API绑定从Chrome获取console.log输出

发布于 2021-01-29 15:06:10

我正在使用Selenium通过Python
API绑定在Chrome中运行测试,并且在弄清楚如何配置Chrome以使console.log加载的测试的输出可用时遇到了麻烦。我看到WebDriver对象上有get_log()log_types()方法,并且已经看到Get
chrome的控制台日志
,该日志显示了如何使用Java进行操作。但是我LoggingPreferences在Python
API中看不到Java的等效类型。有什么办法可以满足我的需求?

关注者
0
被浏览
78
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    好了,终于明白了:

    from selenium import webdriver
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    
    # enable browser logging
    d = DesiredCapabilities.CHROME
    d['loggingPrefs'] = { 'browser':'ALL' }
    driver = webdriver.Chrome(desired_capabilities=d)
    
    # load the desired webpage
    driver.get('http://foo.com')
    
    # print messages
    for entry in driver.get_log('browser'):
        print(entry)
    

    source字段相等的条目'console-api'对应于控制台消息,消息本身存储在该message字段中。

    从chromedriver 75.0.3770.8开始,您必须使用goog:loggingPrefs而不是loggingPrefs:

    d['goog:loggingPrefs'] = { 'browser':'ALL' }
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看