Hogwarts测试开发
07-03·北京测吧员工
搭一个更稳的浏览器自动化 Agent 三
2. 超时和重试不能省Playwright 默认的操作超时是 30 秒,但网络慢的时候经常不够。我的做法是把超时设到 60 秒,然后封装一层带重试的调用:def robust_click(selector: str, retries: int = 3): for i in range(retries): try: _page.click(selector, timeout=60000) return f"已点击 {selector}" except Exception as e: if i == retries - 1: return f"点击失败: {str(e)}" # 等待一下再试 time.sleep(2 ** i) # 指数退避重试的时候用指数退避(1s、2s、4s),别一失败就立刻重试,那样大概率还是失败。3. 状态管理要清晰多轮对话场景下,浏览器状态容易乱。我遇到过 Agent 以为浏览器还开着,实际上早就关了的尴尬情况。解决办法是在 State 里记录浏览器状态:class BrowserState(TypedDict): user_input: str browser_running: bool # 新增 steps: list result: str每次执行工具前先检查状态,该启动的启动,该关闭的关闭。4. 日志要能救命Agent 跑起来像个黑盒,出错了根本不知道是哪一步的问题。我加了个简单的日志装饰器:每个工具函数都加上 @log_tool,出问题了看日志就知道卡在哪。
发布于 北京
分享
评论
赞
未登录
友善发言
评论
加载中
下载脉脉APP,成就职业梦想
违法不良信息&未成年人有害信息举报电话/客服电话:400 065 0808
违法不良信息&未成年人有害信息举报邮箱/客服邮箱:maimai@taou.com
清朗系列专项行动相关违规信息举报电话:400 065 0808,举报邮箱:maimai@taou.com
个人/企业等被诽谤侮辱、人身权或知识产权等被侵犯、网络谣言的举报地址:maimai.cn/tousu | 涉企虚假不实信息举报投诉专区
京ICP备12005786号-1copyright©maimai.cn