python-3.x - 在测试运行期间从 Chrome 捕获日志。Python
问题描述
我正在尝试在自动测试运行期间从 chrome 捕获日志。代码如下:
binary_path = 'Chromium'
chromedriver_path = 'chromedriver'
opts = Options()
opts.binary_location = binary_path
d = DesiredCapabilities.CHROME
d['goog:loggingPrefs'] = { 'browser':'ALL',
'driver': 'ALL'}
driver = webdriver.Chrome(chromedriver_path, desired_capabilities=d, options=opts)
#EXAMPLE TO GET LOGS
driver.get('https://www.google.com/')
driver.find_element_by_name('q').send_keys('abc')
print('browser = ', driver.get_log('browser'))
print('driver = ', driver.get_log('driver'))
for entry in driver.get_log('browser'):
print('entry = ', entry)
driver.quit()
打印输出:
browser = []
driver = []
我的问题是,为什么不打印条目以及为什么 chrome 日志没有输出
解决方案
尝试使用ChromeOptions而不是 Options。
另外,不确定您为什么使用 Chromium,这可能会影响结果。我修改了您的代码,以下代码适用于 Chrome 浏览器:
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver import ChromeOptions
opts = ChromeOptions()
d = DesiredCapabilities.CHROME
d['goog:loggingPrefs'] = {'browser': 'ALL',
'driver': 'ALL'}
driver = webdriver.Chrome(desired_capabilities=d, options=opts)
#EXAMPLE TO GET LOGS
driver.get('https://www.google.com/')
driver.find_element_by_name('q').send_keys('abc')
print('browser = ', driver.get_log('browser'))
print('driver = ', driver.get_log('driver'))
for entry in driver.get_log('browser'):
print('entry = ', entry)
driver.quit()
它打印出来=>
browser = []
driver = [{'level': 'INFO', 'message': 'Populating Preferences file: {\n "alternate_error_pages": {\n "enabled": false\n },\n "autofill": {\n "enabled": false\n }, ... ]
我希望这会有所帮助,祝你好运!
推荐阅读
- javascript - Nextjs:删除cookie时组件不更新DOM,但添加cookie时更新
- python - 使用正则表达式删除单词中的空格 - 用于文本挖掘的预处理数据
- ios - UiTest 未在 Xcode 12、iOS 14.5 上录制
- javascript - 为什么 Visual Studio 中的 F12 会在 .d.ts 文件中显示 JavaScript 代码的结果
- javascript - 带有安全服务器 (SSL) 证书的 javascript 客户端 (Flutter)
- java - 我有一个 Circle 对象数组,如果单击它,我需要填充一个圆圈。我该如何为此编写事件处理?
- git - 如何在安装时使用终端重新定位自制软件?
- javascript - UseEffect 中的 SetInterval 无延迟
- javascript - React:使用 antd 将复选框设置为检查更新表单
- postgresql - docker 容器角色“postgres”中的 postgres 不存在