导入seleniumbase后Shell出现奇怪字符[0m的解决方法咨询
解决SeleniumBase导入后打印出现[0m等ANSI控制字符的问题
这些[0m类字符是ANSI终端颜色控制码,SeleniumBase默认会给控制台输出添加颜色美化,导入时会自动启用这个特性,导致你的普通打印也被带上了控制码。以下是几种解决方法:
方法1:全局禁用SeleniumBase的颜色输出
在导入SeleniumBase之前,设置环境变量关闭颜色功能:
import os os.environ['SELENIUMBASE_NO_COLOR'] = '1' # 必须在导入seleniumbase前设置 from seleniumbase import SB # 之后正常导入
这样整个SeleniumBase的输出都会去掉颜色控制码,你的普通print()也不会再出现奇怪字符。
方法2:过滤自定义打印内容的控制码
如果不想全局禁用颜色,只是想让自己的打印内容干净,可以写一个过滤函数处理输出:
import re def clean_print(text): # 匹配并移除所有ANSI控制码 ansi_pattern = re.compile(r'\x1b\[[0-9;]*m') cleaned_text = ansi_pattern.sub('', str(text)) print(cleaned_text) # 使用示例 clean_print("Hello World") # 不会输出[0m这类字符
方法3:初始化SeleniumBase实例时禁用颜色
如果你是用SB类创建实例,可以直接在初始化时指定禁用颜色:
from seleniumbase import SB with SB(disable_color=True) as sb: sb.open("https://example.com") print("操作完成") # 此时打印不会带控制码
内容的提问来源于stack exchange,提问作者DoctorEvil
相关产品推荐
相关产品推荐

