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

Getting console.log output from Chrome with Selenium Python API bindings

我使用Selenium通过python API绑定在chrome中运行测试,我很难弄清楚如何配置chrome以使加载测试的console.log输出可用。我看到WebDebug对象上有EDCOX1 1和EDCOX1 2个方法,我看到了Chrome的控制台日志,它显示了如何用Java做事情。但在Python API中,我看不到Java的EDCOX1×3类型的等价物。有什么方法可以达到我所需要的吗?


好吧,终于明白了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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字段中。