You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenoid:如何在browser.json中为chromium驱动配置自定义主机名

Selenoid browsers.json配置hosts不生效解决方案

问题根因

Selenoid官方browsers.json配置规范中不存在hosts配置字段,你自行添加的该属性不会被Selenoid识别加载,因此浏览器容器不会继承对应的host映射规则。

可行解决方案

  • 方案1:在docker-compose配置中全局添加host映射
    所有Selenoid启动的浏览器容器都会继承Selenoid服务本身的extra_hosts配置,直接修改你的docker-compose.yml文件:

    services:
      selenoid:
        image: aerokube/selenoid:latest-release
        volumes:
          - "/var/run/docker.sock:/var/run/docker.sock"
          - "./selenoid/config:/etc/selenoid"
        ports:
          - "4444:4444"
        # 新增以下配置
        extra_hosts:
          - "myfrontend:172.20.176.10"
    

    修改完成后重启Selenoid服务即可生效:
    docker-compose up -d --force-recreate selenoid

  • 方案2:测试会话维度指定host映射
    如果仅需要给特定测试用例配置host,可以在初始化WebDriver时通过selenoid:options能力参数传递hosts配置,Python示例代码如下:

    from selenium import webdriver
    
    capabilities = {
        "browserName": "chrome",
        "version": "94.0",
        "selenoid:options": {
            "hosts": ["myfrontend:172.20.176.10"]
        }
    }
    
    driver = webdriver.Remote(
        command_executor="http://你的Selenoid服务地址:4444/wd/hub",
        desired_capabilities=capabilities
    )
    
  • 方案3:同Docker网络内直接使用服务名访问
    如果你的myfrontend服务和Selenoid部署在同一个docker-compose集群下,只要确认两个服务加入了同一个Docker网络,直接用myfrontend作为主机名即可访问,无需额外配置hosts。

内容的提问来源于stack exchange,提问作者Dániel Kis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 04:24:05