agentscope-ai / agentscope-ai/QwenPaw

[Bug] dingtalk_channel 技能无法自动化创建钉钉通道 - UI 弹窗遮挡导致点击失败

Aberta
#2,490 2 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
34.9k
Forks
3.1k
Merge médio
1d 15h
PRs com merge (30d)
225

Descrição

## 问题描述

使用 `dingtalk_channel_connect` 技能自动化配置钉钉通道时,在提交应用创建步骤遇到 UI 弹窗遮挡问题,导致自动化流程无法继续。

## 复现步骤

1. 运行 `dingtalk_channel_connect` 技能
2. 浏览器打开钉钉开发者后台并登录
3. 脚本尝试导航到应用创建页面
4. 填写应用名称和描述成功
5. **点击「创建/确定」按钮时失败**

## 错误日志

```
Locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for locator("button:has-text(\"确定\"), button:has-text(\"创建\"), button:has-text(\"提交\"), button[type=\"submit\"]").last
- locator resolved to …
- attempting click action
2 × waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
-

from
subtree intercepts pointer events
- retrying click action
```

## 问题分析

1. **弹窗遮挡**:钉钉开发者后台在创建应用时可能会弹出二次确认对话框(ant-modal-wrap),该对话框遮挡了提交按钮
2. **选择器不够精确**:当前脚本使用 `button:has-text("确定")...last` 可能匹配到错误的按钮
3. **缺少弹窗处理**:脚本未处理可能出现的二次确认弹窗

## 环境信息

- **CoPaw 版本**: 0.2.0.post1
- **Python 版本**: 3.12.9
- **操作系统**: Darwin 24.3.0 (arm64)
- **Playwright**: 最新
- **浏览器**: Chromium (headed 模式)

## 期望行为

1. 脚本应能正确处理二次确认弹窗
2. 点击正确的提交按钮完成应用创建
3. 自动获取 Client ID 和 Client Secret 并写入配置文件

## 临时解决方案

目前用户需要手动完成以下步骤:
1. 在钉钉开发者后台手动创建应用
2. 手动配置机器人和 Stream 模式
3. 手动复制 Client ID 和 Client Secret 到 `~/.copaw/config.json`

## 建议修复

1. 增加弹窗检测和自动关闭/确认逻辑
2. 使用更精确的按钮选择器(如通过 CSS 类名或 data 属性)
3. 增加重试机制和更详细的错误提示
4. 考虑使用钉钉开放平台 API 直接创建应用(如果有)

---

**相关代码位置**: `copaw/agents/skills/dingtalk_channel/SKILL.md`

Guia de contribuição

Abrir o guia de contribuição

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.