You need to enable JavaScript to run this app. 如何在运行时修改远程Selenium驱动的User-Agent且无需新建驱动?
优惠活动
大模型
产品
解决方案
定价
更多

如何在运行时修改远程Selenium驱动的User-Agent且无需新建驱动?

远程Selenium动态修改User-Agent方案(无需新建驱动)

首先澄清一个常见认知误区:

execute_cdp_cmd 并非只能在本地Chrome驱动上运行。从Selenium 4.x版本开始,只要你的远程Selenium Hub后端挂载的是Chrome内核的浏览器节点,这个方法是可以跨远程链路正常透传执行的,之前远程调用失效基本都是版本不匹配、参数格式不对的问题,不是功能本身不支持。


推荐方案:直接通过已有驱动透传CDP命令实现全局UA修改

这个方案的效果和启动时通过Chrome Options配置UA完全一致,设置后对当前驱动会话的所有后续请求、新标签页、页面跳转全局生效,不需要重启或者新建驱动实例。
操作代码直接在你已经初始化完成的driver实例上追加执行即可:

# 替换为你需要设置的新User-Agent值
my_new_ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36"

# 1. 先启用网络域(必须执行,否则后续CDP命令会静默失败)
driver.execute_cdp_cmd("Network.enable", {})
# 2. 覆盖全局User-Agent
driver.execute_cdp_cmd("Network.setUserAgentOverride", {
    "userAgent": my_new_ua,
    # 可选补充:同步设置UA对应的客户端元信息,避免被反爬识别UA和客户端提示信息不匹配
    "userAgentMetadata": {
        "brands": [
            {"brand": "Not/A)Brand", "version": "99"},
            {"brand": "Google Chrome", "version": "127"},
            {"brand": "Chromium", "version": "127"}
        ],
        "fullVersion": "127.0.6533.100",
        "platform": "Windows",
        "platformVersion": "10.0.0",
        "architecture": "x86",
        "model": "",
        "mobile": False
    }
})

远程调用失效的常见排查点

  • 确保本地Selenium版本升级到4.15以上的稳定版,Selenium 3.x时代的Remote驱动没有CDP透传能力,自然会报错
  • 确保Selenium Hub、节点端的ChromeDriver、本地Selenium库三者的大版本匹配,版本差超过2个大版本很容易出现命令路由失败
  • 不需要在初始化驱动时额外添加任何experimental选项,只要后端节点是Chrome浏览器,就可以正常透传CDP命令

兜底方案:JS临时覆盖UA(仅当前页生效)

如果你的远程Selenium节点没有开放CDP命令透传的权限,可以用JS临时覆盖当前页面的Navigator对象UA,但这个方案有明显局限性:

该修改仅对当前已经加载的页面生效,一旦发生页面跳转、新开标签页,UA就会恢复为初始值;且很多反爬系统会检测到对Navigator对象的主动篡改,识别率较高,仅作为临时兜底使用。
对应的代码如下:

my_new_ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36"
# 在当前页面上下文执行JS覆盖
driver.execute_script(f"""
Object.defineProperty(navigator, 'userAgent', {{
    get: () => '{my_new_ua}'
}});
""")

内容的提问来源于stack exchange,提问作者crissal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.25 19:24:00