使用undetected-chromedriver无法修改浏览器指纹,修改User-Agent无效
问题分析与解决
- 核心问题:不是undetected-chromedriver阻止了User-Agent修改,而是你的代码顺序错了——你在创建Chrome驱动实例之后才给options添加user-agent参数,这时候参数根本没被应用到已初始化的驱动里,自然不会生效。
- 正确代码示例:
import undetected_chromedriver as uc import time options = uc.ChromeOptions() options.headless = False # 先配置所有参数(包括user-agent),再创建驱动实例 options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36") driver = uc.Chrome(options=options, version_main=118) driver.get('https://amiunique.org/fingerprint') time.sleep(40)
- 额外优化:部分网站会通过JS读取
navigator.userAgent,仅靠启动参数可能存在遗漏,可搭配CDP命令强制修改:
# 在driver.get之后添加以下代码 driver.execute_cdp_cmd('Network.setUserAgentOverride', { "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36" })
- 注意事项:undetected-chromedriver本身会做指纹隐藏处理,但所有自定义指纹参数必须在创建驱动实例前配置完毕,否则不会生效。
内容的提问来源于stack exchange,提问作者Bers Ahmad
相关产品推荐
相关产品推荐

