k8s-browser

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Browser Automation for Kubernetes

面向Kubernetes的浏览器自动化

Automate Kubernetes web UIs using kubectl-mcp-server's browser tools (26 tools).
借助kubectl-mcp-server的浏览器工具(共26个)实现Kubernetes Web UI的自动化操作。

When to Apply

适用场景

Use this skill when:
  • User mentions: "dashboard", "Grafana", "ArgoCD UI", "web interface", "screenshot"
  • Operations: navigating K8s dashboards, capturing screenshots, automating web UIs
  • Keywords: "browser", "click", "screenshot", "web", "UI automation"
以下场景可使用本技能:
  • 用户提及:"dashboard"、"Grafana"、"ArgoCD UI"、"web interface"、"screenshot"
  • 操作需求:浏览K8s仪表盘、截取屏幕截图、Web UI自动化
  • 关键词:"browser"、"click"、"screenshot"、"web"、"UI automation"

Priority Rules

优先级规则

PriorityRuleImpactTools
1Enable MCP_BROWSER_ENABLED firstCRITICALEnvironment variable
2Open URL before interactionsHIGH
browser_open
3Wait for elements before clickingHIGH
browser_wait_for_selector
4Take screenshots for verificationMEDIUM
browser_screenshot
优先级规则影响级别工具
1首先启用MCP_BROWSER_ENABLED关键环境变量
2交互前先打开URL
browser_open
3点击前等待元素加载
browser_wait_for_selector
4截取截图用于验证
browser_screenshot

Quick Reference

速查表

TaskToolExample
Open URL
browser_open
browser_open(url)
Click element
browser_click
browser_click(selector)
Take screenshot
browser_screenshot
browser_screenshot(path)
Wait for element
browser_wait_for_selector
browser_wait_for_selector(selector)
任务工具示例
打开URL
browser_open
browser_open(url)
点击元素
browser_click
browser_click(selector)
截取截图
browser_screenshot
browser_screenshot(path)
等待元素加载
browser_wait_for_selector
browser_wait_for_selector(selector)

Prerequisites

前置条件

  • Browser Tools Enabled: Required
    bash
    export MCP_BROWSER_ENABLED=true
  • 启用浏览器工具:必填
    bash
    export MCP_BROWSER_ENABLED=true

Enable Browser Tools

启用浏览器工具

bash
export MCP_BROWSER_ENABLED=true
bash
export MCP_BROWSER_ENABLED=true

Optional: Cloud provider

可选:云服务商配置

export MCP_BROWSER_PROVIDER=browserbase # or browseruse export BROWSERBASE_API_KEY=bb_...
undefined
export MCP_BROWSER_PROVIDER=browserbase # 或browseruse export BROWSERBASE_API_KEY=bb_...
undefined

Basic Navigation

基础导航操作

python
undefined
python
undefined

Open URL

打开URL

Open with auth headers

带认证头打开URL

browser_open_with_headers( url="https://grafana.example.com", headers={"Authorization": "Bearer token123"} )
browser_open_with_headers( url="https://grafana.example.com", headers={"Authorization": "Bearer token123"} )

Navigate

跳转页面

Go back/forward

后退/前进

browser_back() browser_forward()
browser_back() browser_forward()

Refresh

刷新页面

browser_refresh()
undefined
browser_refresh()
undefined

Screenshots and Content

截图与页面内容获取

python
undefined
python
undefined

Take screenshot

截取截图

browser_screenshot(path="dashboard.png")
browser_screenshot(path="dashboard.png")

Full page screenshot

截取全页截图

browser_screenshot(path="full-page.png", full_page=True)
browser_screenshot(path="full-page.png", full_page=True)

Get page content

获取页面内容

browser_content()
browser_content()

Get page title

获取页面标题

browser_title()
browser_title()

Get current URL

获取当前URL

browser_url()
undefined
browser_url()
undefined

Interactions

页面交互操作

python
undefined
python
undefined

Click element

点击元素

browser_click(selector="button.submit") browser_click(selector="text=Deploy") browser_click(selector="#sync-button")
browser_click(selector="button.submit") browser_click(selector="text=Deploy") browser_click(selector="#sync-button")

Type text

输入文本

browser_type(selector="input[name=search]", text="my-deployment") browser_type(selector=".search-box", text="nginx")
browser_type(selector="input[name=search]", text="my-deployment") browser_type(selector=".search-box", text="nginx")

Fill form

填充表单

browser_fill(selector="#namespace", text="production")
browser_fill(selector="#namespace", text="production")

Select dropdown

选择下拉框

browser_select(selector="select#cluster", value="prod-cluster")
browser_select(selector="select#cluster", value="prod-cluster")

Press key

按键操作

browser_press(key="Enter") browser_press(key="Escape")
undefined
browser_press(key="Enter") browser_press(key="Escape")
undefined

Waiting

等待操作

python
undefined
python
undefined

Wait for element

等待元素状态

browser_wait_for_selector(selector=".loading", state="hidden") browser_wait_for_selector(selector=".data-table", state="visible")
browser_wait_for_selector(selector=".loading", state="hidden") browser_wait_for_selector(selector=".data-table", state="visible")

Wait for navigation

等待页面跳转完成

browser_wait_for_navigation()
browser_wait_for_navigation()

Wait for network idle

等待网络空闲

browser_wait_for_load_state(state="networkidle")
undefined
browser_wait_for_load_state(state="networkidle")
undefined

Session Management

会话管理

python
undefined
python
undefined

List sessions

列出会话

browser_session_list()
browser_session_list()

Switch session

切换会话

browser_session_switch(session_id="my-session")
browser_session_switch(session_id="my-session")

Close browser

关闭浏览器

browser_close()
undefined
browser_close()
undefined

Viewport and Device

视口与设备模拟

python
undefined
python
undefined

Set viewport size

设置视口尺寸

browser_set_viewport(width=1920, height=1080)
browser_set_viewport(width=1920, height=1080)

Emulate device

模拟设备

browser_set_viewport(device="iPhone 12")
undefined
browser_set_viewport(device="iPhone 12")
undefined

Kubernetes Dashboard Workflow

Kubernetes Dashboard操作流程

python
undefined
python
undefined

1. Start kubectl proxy

1. 启动kubectl代理

kubectl proxy &

kubectl proxy &

2. Open dashboard

2. 打开仪表盘

3. Navigate to workloads

3. 跳转到工作负载页面

browser_click(selector="text=Workloads")
browser_click(selector="text=Workloads")

4. Take screenshot

4. 截取截图

browser_screenshot(path="workloads.png")
browser_screenshot(path="workloads.png")

5. Search for deployment

5. 搜索部署资源

browser_type(selector="input[placeholder*=search]", text="nginx") browser_press(key="Enter")
undefined
browser_type(selector="input[placeholder*=search]", text="nginx") browser_press(key="Enter")
undefined

Grafana Dashboard Workflow

Grafana仪表盘操作流程

python
undefined
python
undefined

1. Open Grafana

1. 打开Grafana

browser_open_with_headers( url="https://grafana.example.com/d/k8s-cluster", headers={"Authorization": "Bearer admin-token"} )
browser_open_with_headers( url="https://grafana.example.com/d/k8s-cluster", headers={"Authorization": "Bearer admin-token"} )

2. Set time range

2. 设置时间范围

browser_click(selector="button[aria-label='Time picker']") browser_click(selector="text=Last 1 hour")
browser_click(selector="button[aria-label='Time picker']") browser_click(selector="text=Last 1 hour")

3. Screenshot dashboard

3. 截取全页仪表盘截图

browser_screenshot(path="grafana-cluster.png", full_page=True)
undefined
browser_screenshot(path="grafana-cluster.png", full_page=True)
undefined

ArgoCD UI Workflow

ArgoCD UI操作流程

python
undefined
python
undefined

1. Open ArgoCD

1. 打开ArgoCD

browser_open(url="https://argocd.example.com")
browser_open(url="https://argocd.example.com")

2. Login

2. 登录

browser_fill(selector="input[name=username]", text="admin") browser_fill(selector="input[name=password]", text="password") browser_click(selector="button[type=submit]")
browser_fill(selector="input[name=username]", text="admin") browser_fill(selector="input[name=password]", text="password") browser_click(selector="button[type=submit]")

3. Navigate to app

3. 跳转到应用页面

browser_wait_for_selector(selector=".applications-list") browser_click(selector="text=my-application")
browser_wait_for_selector(selector=".applications-list") browser_click(selector="text=my-application")

4. Sync application

4. 同步应用

browser_click(selector="button.sync-button") browser_click(selector="text=Synchronize")
undefined
browser_click(selector="button.sync-button") browser_click(selector="text=Synchronize")
undefined

Related Skills

相关技能

  • k8s-gitops - ArgoCD CLI tools
  • k8s-diagnostics - Cluster analysis
  • k8s-gitops - ArgoCD CLI工具
  • k8s-diagnostics - 集群分析工具