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字段中。
- hm.在尝试之后,研究如何使用chrome_选项,得到:/usr/lib/python2.6/site-packages/selenium/webdriver/chrome/webdriver.py:54: DeprecationWarning: Desired Capabilities has been deprecated, please user chrome_options. warnings.warn("Desired Capabilities has been deprecated, please user chrome_options.", DeprecationWarning)。
- 我使用具有browserName="chrome"功能的webdriver.Remote来实例化我的驱动程序,它一直告诉我AttributeError: 'WebDriver' object has no attribute 'get_log'。当我找到源代码时,我正在努力寻找这个可爱的答案中使用的get_log实现。我怀疑我误入歧途了…在某个地方。希望我知道在哪里!selenium.googlecode.com/svn/trunk/docs/api/py/…
- @Kiminoa我和Selenium 2.33.0有这个问题,升级到2.45.0修复了它。
- 有类似的东西吗?我已经检查了code.google.com/p/selenium/wiki/desirecabilities。好像没有
- @B不知道,你可能想问一个单独的顶级问题。
- 看来我可以评论一下d['loggingPrefs'] = { 'browser':'ALL' },得到同样的结果。还有,控制台日志不只是'level':'SEVERE'吗?