Python Selenium WebDriver中Chrome自定义User-Agent不生效问题求助
问题根因
你配置User-Agent时没有使用Chrome启动参数的标准前缀,Chromium无法识别无标识的字符串,因此自动沿用了默认的HeadlessChrome UA,导致自定义配置不生效。
修复方法
- 修正User-Agent参数写法,添加
--user-agent=前缀
将你原代码中错误的UA配置行:
self.options.add_argument( 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36' )
替换为:
self.options.add_argument( '--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36' )
- 可选优化(避免兼容问题)
- 若你使用Chrome 96及以上版本,旧版headless模式存在UA自动篡改的问题,可将
--headless参数替换为--headless=new使用新版无头模式 - 若修改启动参数后仍不生效,可在driver初始化后通过CDP命令强制覆盖UA,代码如下:
self.driver.execute_cdp_cmd('Network.setUserAgentOverride', { "userAgent": "你需要的UA字符串" })
- 原代码中使用的
chrome_options参数已被Selenium弃用,建议替换为options参数,适配后续版本更新。
内容的提问来源于stack exchange,提问作者jay kishan
相关产品推荐
相关产品推荐

