如何消除Selenium运行时终端错误信息,避免干扰用户输入?
解决Selenium Chrome驱动SSL证书错误日志淹没终端的问题
可以通过两种方式屏蔽这些干扰性的日志输出:
方法一:通过ChromeOptions设置日志级别
直接给Chrome驱动配置日志级别参数,只保留严重错误输出:
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.options import Options # 配置Chrome选项,过滤低级别日志 chrome_options = Options() # log-level=3 对应只输出SEVERE级别的错误,屏蔽INFO、WARNING等SSL相关日志 chrome_options.add_argument('--log-level=3') url = 'https://ytmp3.nu/CNtD/' browser = webdriver.Chrome(options=chrome_options) browser.get(url) #val = input("Enter the Youtube URL of the Video ") browser.find_element('xpath', "/html/body/form/div[2]/input[1]").send_keys("https://www.youtube.com/watch?v=VbJeNEwDOJg") browser.find_element('xpath','/html/body/form/div[2]/input[2]').click() input('Press ENTER to exit')
方法二:调整Python日志系统级别
Selenium底层依赖的urllib3会输出大量SSL相关日志,通过调高对应日志器的级别来屏蔽:
import logging from selenium import webdriver from selenium.webdriver.common.keys import Keys # 将selenium和urllib3的日志级别设置为WARNING,只输出警告及以上信息 logging.getLogger('selenium').setLevel(logging.WARNING) logging.getLogger('urllib3').setLevel(logging.WARNING) url = 'https://ytmp3.nu/CNtD/' browser = webdriver.Chrome() browser.get(url) #val = input("Enter the Youtube URL of the Video ") browser.find_element('xpath', "/html/body/form/div[2]/input[1]").send_keys("https://www.youtube.com/watch?v=VbJeNEwDOJg") browser.find_element('xpath','/html/body/form/div[2]/input[2]').click() input('Press ENTER to exit')
如果单一种方法效果不佳,可以同时使用两种方案,彻底清理终端输出,让用户输入提示清晰可见。
内容的提问来源于stack exchange,提问作者hiitslight
相关产品推荐
相关产品推荐

