当前位置: 首页 > wzjs >正文

交互网站图免费网页代理在线

交互网站图,免费网页代理在线,上海闵行邮编,用ps做简单的网页设计自动化Trae Apollo参数解释的批量获取一、背景介绍二、设计思路三、操作步骤1. 环境准备2. 获取界面坐标3. 定位关键元素4. 执行自动化查询5. 获取结果四、完整代码五、扩展应用一、背景介绍 在自动驾驶开发中,百度Apollo平台提供了大量参数用于调整系统行为。Trae…

自动化Trae Apollo参数解释的批量获取

      • 一、背景介绍
      • 二、设计思路
      • 三、操作步骤
        • 1. 环境准备
        • 2. 获取界面坐标
        • 3. 定位关键元素
        • 4. 执行自动化查询
        • 5. 获取结果
      • 四、完整代码
      • 五、扩展应用

一、背景介绍

在自动驾驶开发中,百度Apollo平台提供了大量参数用于调整系统行为。Trae添加Apollo工程后,可以通过交互的方式询问参数的作用,但存在两个痛点:

  1. Trae没有提供API接口,无法通过编程方式获取参数解释
  2. 手动查询大量参数效率极低(如Apollo 9.0有2000+参数)

为解决这些问题,准备了一个Python自动化脚本,通过模拟人工操作的方式:

  • 自动输入参数名
  • 触发Trae查询
  • 捕获并保存解释文本
    实现了Apollo参数解释的批量获取,大幅提升参数研究效率。

二、设计思路

整个自动化流程模拟人类操作行为,核心解决三个关键问题:

  1. 界面交互定位
    通过图像识别确定按钮状态(特别是发送按钮的"空闲"状态)

  2. 操作模拟链
    输入参数 → 点击发送 → 等待响应 → 复制结果 → 保存数据

  3. 状态检测机制
    使用OpenCV比对按钮区域截图,精确判断Trae响应状态

开始
检测发送按钮状态
是否空闲?
输入参数名称
点击发送按钮
等待响应完成
点击复制按钮
保存到Markdown
还有参数?
结束
等待1秒

三、操作步骤

1. 环境准备

安装依赖库:

pip install pyautogui opencv-python pillow keyboard pyperclip pywin32
2. 获取界面坐标
  1. 启动Trae,添加工程,打开聊天界面,创建一个智能体,输入提示词

    请添加图片描述

  2. 运行脚本(取消注释以下代码):

# 第一步: 获取底图
screenshot1 = capture_screen()
screenshot1.save("base.bmp")# 第三步: 保存空闲时发送按钮的图标
img=cv2.imread('base.bmp')
x,y=btn_snd_pos
w,h=btn_snd_size    
ico=img[y:y+h,x:x+w,:]
cv2.imwrite("idle.bmp",ico)

请添加图片描述

3. 定位关键元素

使用画图工具打开base.bmp,记录以下坐标(示例值需替换):

btn_snd_pos=(862,914)    # 发送按钮中心坐标
btn_snd_size=(29,29)     # 发送按钮尺寸
btn_copy_pos=(296,754)   # 复制按钮坐标
edt_input_pos=(362,871)  # 输入框坐标
4. 执行自动化查询
  1. 将要查询的参数写入列表:
args = ['enable_multi_agent_vehicle_evaluator','prediction_eval_mode','enable_multi_thread'# 添加更多参数...
]
  1. 运行主程序:
python trae_automation.py
5. 获取结果

所有参数解释将保存到result.md,按参数名分章节存储。 请添加图片描述


四、完整代码

import pyautogui
import keyboard
from PIL import Image, ImageGrab
import pyperclip
import time
import cv2
import win32clipboarddef clear_clipboard():"""清空剪切板内容"""try:win32clipboard.OpenClipboard()win32clipboard.EmptyClipboard()win32clipboard.CloseClipboard()return Trueexcept Exception as e:print(f"清空剪切板失败: {e}")return Falsedef capture_screen(region=None):"""截取全屏或指定区域"""screenshot = ImageGrab.grab()return screenshotdef mouse_click(x, y, clicks=1, interval=0.1):"""模拟鼠标点击"""pyautogui.click(x, y, clicks=clicks, interval=interval)def copy_to_clipboard(text):"""复制文本到剪切板"""pyperclip.copy(text)def paste_from_clipboard():"""获取剪切板内容"""return pyperclip.paste()def send_ctrl_v():"""发送Ctrl+V粘贴"""keyboard.press_and_release('ctrl+a')keyboard.press_and_release('del')keyboard.press_and_release('ctrl+v')def cacl_distance(img1, img2):diff = cv2.absdiff(img1, img2)return diff.sum()def wait_ico(name,btn_snd_pos,btn_snd_size):'''# 图像状态检测(等待发送按钮空闲)'''idle=cv2.imread(name)idle_gray = cv2.cvtColor(idle, cv2.COLOR_RGB2GRAY)x,y=btn_snd_posw,h=btn_snd_sizewhile True:screenshot1 = capture_screen()screenshot1.save("temp.bmp")img=cv2.imread('temp.bmp')ico=img[y:y+h,x:x+w,:]ico_gray = cv2.cvtColor(ico, cv2.COLOR_RGB2GRAY)distance = cacl_distance(ico_gray, idle_gray)# 计算与空闲状态的差异值if distance<10: # 差异小于阈值说明状态相同breaktime.sleep(1)def input_message(text,edt_input_pos):copy_to_clipboard(text)mouse_click(edt_input_pos[0],edt_input_pos[1])time.sleep(1)send_ctrl_v()def get_message(btn_copy_pos):mouse_click(btn_copy_pos[0]+16,btn_copy_pos[1]+16)return paste_from_clipboard()def main():    # 第一步: 获取底图#screenshot1 = capture_screen()#screenshot1.save("base.bmp")    # 第二步: 用画图工具,得到发送按钮,复制按钮,输入框的坐标    btn_snd_pos=(862,914)btn_snd_size=(29,29)btn_copy_pos=(296,754)edt_input_pos=(362,871)# 第三步: 保存空闲时发送按钮的图标#img=cv2.imread('base.bmp')#x,y=btn_snd_pos#w,h=btn_snd_size    #ico=img[y:y+h,x:x+w,:]#cv2.imwrite("idle.bmp",ico)args=['enable_multi_agent_vehicle_evaluator','prediction_eval_mode','enable_multi_thread']# 等待空闲wait_ico('idle.bmp',btn_snd_pos,btn_snd_size)fo=open("result.md","a+")for arg in args:        print(arg)# 发送请的请求input_message(arg,edt_input_pos)time.sleep(3)mouse_click(btn_snd_pos[0]+16,btn_snd_pos[1]+16)time.sleep(3)# 移动走鼠标mouse_click(btn_copy_pos[0]+16,btn_copy_pos[1]+16)# 等待空闲wait_ico('idle.bmp',btn_snd_pos,btn_snd_size)# 保存结果fo.write(f"# {arg}\n")msg=get_message(btn_copy_pos)print(msg)fo.write(f'{msg}\n')fo.flush()# 清空剪切板clear_clipboard()    if __name__ == "__main__":main()

关键技术点解析

  1. 防干扰设计

    • 每次操作后移动鼠标到非交互区
    • 清空剪贴板避免内容污染
    • 双保险等待机制(固定延时+状态检测)
  2. 健壮性保障

    # 清空输入框再粘贴
    keyboard.press_and_release('ctrl+a')
    keyboard.press_and_release('del')
    

五、扩展应用

此方案不仅适用于Trae,还可迁移到其他无API的桌面应用,例如:

  1. 自动化测试GUI软件
  2. 批量操作ERP系统
  3. 游戏自动化脚本
  4. 定时填报网页表单

注意事项:自动化操作需遵守目标软件的用户协议,本方案仅用于技术研究,请勿用于商业侵权用途。


文章转载自:

http://c2qGCBsU.hhjtj.cn
http://mSE0IfWw.hhjtj.cn
http://gFqx7YBq.hhjtj.cn
http://DZwG06J7.hhjtj.cn
http://MT5Y5FiO.hhjtj.cn
http://LKCHrymj.hhjtj.cn
http://BulahaG8.hhjtj.cn
http://0Q0nkqNX.hhjtj.cn
http://ftTF6mnu.hhjtj.cn
http://lUMpJPoU.hhjtj.cn
http://Pi7OgCBN.hhjtj.cn
http://uVkcSmHQ.hhjtj.cn
http://234ZMWkj.hhjtj.cn
http://zLbnTsDm.hhjtj.cn
http://TXngJ9VX.hhjtj.cn
http://DF2sAI0K.hhjtj.cn
http://o3vSeYT0.hhjtj.cn
http://HOeZbkJK.hhjtj.cn
http://6KpqRQbp.hhjtj.cn
http://OjW8iphD.hhjtj.cn
http://2LWXDWG0.hhjtj.cn
http://0jmbdNIR.hhjtj.cn
http://N4FELOD1.hhjtj.cn
http://qvLJ0Yeo.hhjtj.cn
http://1VLxH0xm.hhjtj.cn
http://PZBtNxcy.hhjtj.cn
http://Kx1p7iZz.hhjtj.cn
http://zRLAYlJD.hhjtj.cn
http://S4xOhjgr.hhjtj.cn
http://yXRMZaoj.hhjtj.cn
http://www.dtcms.com/wzjs/639513.html

相关文章:

  • 网站免费模板制作潮州外贸网站建设
  • 滕州网站架设wordpress 微信连接数据库文件
  • 做网站排名软件玩具网站建设策划书流程
  • 常德海关网站中国建设银行电话95533
  • 触摸屏网站建设网页导航条制作教程
  • 网站流量统计表北京工装装饰公司排行榜
  • 网站宝二级域名怎么设置深圳教育网站设计公司
  • 牛商网专注营销型网站建设360营销平台
  • 网站建设价格明细表公司网站做一下多少钱
  • 山西省建设厅勘察设计协会网站360搜索引擎
  • 宿迁怎样建设网站wordpress网址导航页面
  • 幕墙配件在那个网站做推广好杭州北京网站建设
  • 青海餐饮网站建设公司企业画册设计制作公司
  • wordpress电影站群东莞营销网站建设直播
  • 专业做域名的网站吗网站的类型大全
  • 花店网站源码dw网页制作教程练习
  • ppt做的模板下载网站有哪些内容怎么去建一个网站
  • 传媒网站建设网网站开发主要工作内容
  • wordpress 下拉刷新厦门关键词排名优化
  • 建网站的公司首选智投未来网站项目建设人员规划
  • 城关区建设局网站微信上登录网站同步怎么做
  • 深圳签网站响应式电影网站
  • 网站方案策划书18000字word68网站
  • 网站本地环境搭建软件wordpress分页设置问题
  • 手机网站开发常用工具织梦建站教程全集
  • 如何用ps来做网站设计东莞网站建设公司排名
  • 怎么做自己的手机网站个人简历电子版可填写
  • 教育网站图片淄博网站建设给力臻动传媒
  • 百度网站检测我要在58上面做网站
  • 建筑业资质查询网站广告公司简介范文大全