python教程—使用Selenium Python API绑定从Chrome获得console.log输出-Python实用宝典

python教程—使用Selenium Python API绑定从Chrome获得console.log输出

我正在使用Selenium通过Python API绑定在Chrome中运行测试,而且我很难弄清楚如何配置Chrome以使加载测试的console.log输出可用。我看到WebDriver对象上有get_log()和log_types()方法,我还看到了Get chrome的控制台日志,它显示了如何在Java中执行操作。但是我在Python API中没有看到与Java的LoggingPreferences类型相同的类型。有没有什么方法可以完成我所需要的?

我正在使用Selenium通过Python API绑定在Chrome中运行测试,而且我很难弄清楚如何配置Chrome以使加载测试的console.log输出可用。我看到WebDriver对象上有get_log()和log_types()方法,我还看到

回答

好吧,最后算出来了:

    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)

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

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

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

​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

本文由 Python实用宝典 作者:Python实用宝典 发表,其版权均为 Python实用宝典 所有,文章内容系作者个人观点,不代表 Python实用宝典 对观点赞同或支持。如需转载,请注明文章来源。
3

发表评论