我正在使用Selenium通过Python API绑定在Chrome中运行测试,而我无法确定如何配置Chrome以使console.log加载测试的输出可用.我看到WebDriver对象上有get_log()和log_types()方法,我看过Get chrome的控制台日志,它显示了如何用Java做事.但我没有LoggingPreferences在Python API中看到相当于Java的类型.有没有办法完成我需要的东西?
我试图console.log通过python Selenium API绑定从Firefox 获取网页的输出.根据Chrome的代码以及文档中的一些建议,我尝试了以下方法:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
d = DesiredCapabilities.FIREFOX
d['loggingPrefs'] = { 'browser':'ALL' }
fp = webdriver.FirefoxProfile()
fp.set_preference('webdriver.log.file', '/tmp/firefox_console')
driver = webdriver.Firefox(capabilities=d,firefox_profile=fp)
driver.set_window_size(1280,1024)
driver.get('http://foo.com')
try:
WebDriverWait(driver,10).until(lambda driver: driver.execute_script("return document.readyState") == "complete")
for entry in driver.get_log('browser'):
print entry
finally:
driver.quit()
Run Code Online (Sandbox Code Playgroud)
但是,即使是一个简单的调用示例页面console.log("foo"),我也看不到"foo"通过API或/tmp/firefox_console文件返回的日志条目.难道我做错了什么?或者这是Selenium限制?