已解决selenium模块利用performance获取network日志请求,抛出异常selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: log type ‘performance’ not found

报错问题

一个小伙伴遇到问题跑来私信我,想用selenium模块利用performance获取network日志请求,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下所示:

chrome_options = webdriver.ChromeOptions()
# chrome_options.add_argument("--disable-blink-features=AutomationControlled")
# chrome_options.add_experimental_option('excludeSwitches', ['enable-logging'])
chrome_options.add_experimental_option('w3c', True)
caps = DesiredCapabilities.CHROME
caps['loggingPrefs'] = {'performance': 'ALL'}
driver = webdriver.Chrome(desired_capabilities=caps, options=chrome_options)  #
driver.implicitly_wait(8)
driver.maximize_window()
driver.get(goods_url)  #
# 获取network请求
logs = [json.loads(log['message'])['message'] for log in driver.get_log('performance')]
for log in logs:
	print(log)
	print('------------')

报错信息截图如下所示

selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: log type 'performance' not found

报错翻译

报错信息内容翻译如下所示

selenium.mon.解释.无效参数异常:消息:无效参数:找不到日志类型“performance”

报错原因

报错原因如下

使用caps['loggingPrefs'] = {'performance': 'ALL'}监控network请求日志记录,但是新版selenium模块,改名了所以会提示找不到performance

小伙伴们按下面的方法修改代码即可解决!!!

解决方法

新版selenium模块将caps['loggingPrefs'] = {'performance': 'ALL'}修改为下方代码即可:

caps["goog:loggingPrefs"] = {"performance": "ALL"}

再次运行代码成功了:

以上是此问题报错原因的解决方法,欢迎评论区留言讨论是否能解决,博主看到会给出回复和你所遇到的报错问题解决方法!!!