ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

影刀RPA新手教程:接单报价完全指南——RPA外包项目怎么定价与交付

影刀RPA新手教程:接单报价完全指南——RPA外包项目怎么定价与交付 影刀RPA新手教程接单报价完全指南——RPA外包项目怎么定价与交付一、RPA需求怎么挖——不问客户你要什么而是看他每天重复什么拿到一个外包需求99%的客户说不清楚自己要什么。他只会说我想自动化但你问他具体操作他得想半天。正确做法是远程看他的屏幕让他把一天的工作从头到尾做一遍。你一边录屏一边数开了几次浏览器、复制粘贴了多少次、Excel开了几个窗口、中间切了几个系统。这些重复动作就是你的报价依据。别问你要自动化什么问你今天打开的第一个页面是什么然后点了哪里。看操作的过程中同时判断技术可行性和踩坑点。网页后台系统用browser.find_by_xpath(//*[idsu])能搞定90%的场景。但如果客户用的是老旧的CS架构软件不是浏览器打开的就得看有没有窗口标题、控件能不能被捕获——捕获不到就得用图像识别兜底win32.image.click(确认按钮, anchor(middleCenter, 100, 100))。图像识别最大的坑是分辨率变化导致匹配失败客户电脑和你开发电脑分辨率不一样所有图像指令都要在客户环境重新录一遍。这个成本必须提前算进报价里。验证码也是报价的隐形炸弹。客户说登录很简单就一个验证码你问他什么类型他说就是那种四个字母的。你接单后才发现是滑块缺口验证码需要xbot.win32.image.wait_appear(缺口)做缺口识别win32.image.wait_appear(滑块)做滑块拖拽半小时的开发量直接变成半天。报价前让客户把所有涉及验证码的页面截图发你——看截图上验证码的形状、颜色、类型纯数字最简单基础指令直接识别数英混合要加字符集参数滑块缺口的开发时间是纯数字的3倍以上。二、报价模型——按流程步骤数异常分支数定价别按天数报价别按天报价。你说这项目3天做完客户心想3天凭什么收我3000一天1000“你说这项目有17个流程步骤每个涉及3类元素定位包含5个异常处理分支”客户听不懂但会觉得专业。实际报价公式基础价 流程步骤数 × 单位价格 异常分支数 × 异常单价 接口调用次数 × 接口单价。比如一个淘宝订单导出的单子登录3步搜索2步循环抓取15步写入Excel3步 23个流程步骤。异常分支登录失败重试、搜索无结果处理、翻页到底判断、Excel写入报错处理计4个分支。接口调用如果需要API上传文件POST https://api.yingdao.com/oapi/dispatch/v2/file/upload算1个接口。这就是你的报价底牌客户砍价的时候你知道底线在哪。单流程步骤单价从50到200不等取决于你用的是什么技术。纯XPath/CSS定位的步骤最便宜比如抓取网页列表数据涉及图像识别的步骤翻1.5倍比如点击非标软件里的按钮涉及网络监听browser.start_monitor_network()browser.get_responses(url, resource_typeXHR)抓API返回数据的步骤翻2倍技术门槛高大部分同行不会。ADB手机自动化session.find_by_xpath(//android.widget.TextView)session.swipe(0.5, 0.8, 0.5, 0.2)这种跨端控制另加500起步因为调试环境搭建就比纯PC多半天。报价的时候把不同类型步骤的单价混在一起报总价别分开列明细——分开列客户只挑便宜的让你做。报价单上要多写一行维护期与修改范围。RPA最坑的不是开发是交付后客户说这个按钮换了个位置帮我改一下、“新加了一个字段帮我也抓一下”。不给维护期定价后面全是免费劳动。标准做法报价含交付后7天免费维护只修Bug不改功能超过7天或涉及功能变更按步骤单价重新计价。写在合同里别口头说。三、淘宝订单导出实战拆解——一个真实单子的完整技术路径以最常见的淘宝订单导出需求为例拆解技术方案。第一步Cookie登录。别让客户给你账号密码让他登录后在浏览器F12→Application→Cookies把完整Cookie字符串发你。用web.set_cookie(cookie_str)直接把Cookie注入浏览器。如果客户的Chrome版本较新有PartitionKey机制用web.get_cookies_v2()代替web.get_cookies()。登录这个环节你已经避开了验证码的坑——Cookie有效期通常够你做完整轮测试。第二步进入已卖出的宝贝页面抓取订单列表。核心是翻页循环——淘宝已卖出宝贝每页15条订单但系统限制最多导出10000条。所以策略是600页×15条9000条留1000条余量防止系统波动。翻页用browser.scroll_to(0)滚到页面底部然后用browser.find_by_xpath(//a[contains(text(),下一页)])定位翻页按钮。翻页按钮经常不出来要加browser.wait_appear(//a[contains(text(),下一页)], timeout10)等待加载。每抓完一页随机延时1-3秒——延时太均匀会被反爬机制识别。第三步数据去重与Excel写入。订单号是唯一键每页抓到的新订单先和已有订单号列表比对重复的跳过。Excel写入用批量写入不要逐行写逐行写速度慢三倍以上。遇到报错-2147418111 被呼叫方拒绝接收呼叫是Excel进程冲突解决方案是操作前先关闭所有Excel进程或者在影刀打开Excel指令里勾选新建实例。写入完成后飞书群发通知告知抓取完成和总条数webhook机器人地址配置签名校验。四、网页自动化核心——XPath和CSS的实战用法不讲理论只给套路browser.find_by_xpath(//*[idsu])定位唯一元素browser.find_all_by_css(#su)返回匹配列表。什么时候用哪个只有一个目标元素用find_by_xpath需要遍历多个相似元素用find_all_by_css。抓取淘宝商品列表browser.find_all_by_css(.item.J_MouserOnver)拿到所有商品卡片然后循环里对每个元素取子节点的文本和属性。element.find_by_xpath(.//div[classprice]).get_text()取价格.//表示在当前元素下查找而非全页面——这个细节很多人搞错导致只能拿到第一个元素的数据。XPath写不出来的情况元素class是动态生成的拼多多常见或者页面用了Shadow DOM企业后台系统常见。动态class的解决方案是用contains()模糊匹配//div[contains(class,price)]只要class里包含price这几个字符就匹配。Shadow DOM绕过方案是用browser.execute_javascript(document.querySelector(元素选择器).shadowRoot.querySelector(内部选择器))直接穿透。JavaScript执行是XPath定位不到时的终极兜底方案但也最容易被网站更新搞坏维护性最差。弹窗处理是网页自动化最常见的异常场景。browser.handle_javascript_dialog(accept)处理alert弹窗browser.handle_javascript_dialog(dismiss)处理confirm弹窗点取消。更复杂的是页面内自定义弹窗比如淘宝登录弹窗这种弹窗不是浏览器原生弹窗而是一个div图层browser.wait_appear(//div[classlogin-dialog], timeout5)判断弹窗是否出现然后browser.find_by_xpath(//div[classlogin-dialog]//button[contains(text(),关闭)]).click()关闭它。一定加timeout限时等待别让程序在弹窗上永远卡死。五、图像识别兜底——非标软件和无法捕获元素的终极方案win32.image.wait_appear(图像名称)是最常用的图像识别指令但90%的新手不知道锚点怎么用。锚点控制点击位置在识别到的图片上的哪个位置anchor(middleCenter, 0, 0)点图片正中心anchor(topRight, 10, -5)点图片右上角再偏移10像素右、5像素上。位置有9种topLeft、topCenter、topRight、middleLeft、middleCenter、middleRight、bottomLeft、bottomCenter、bottomRight。遇到按钮上有文字但不是图片的情况截取按钮中固定图标部分做识别用锚点偏移把点击位置调到文字区域。这个技巧在企业内部老系统里用到的频率极高。图像识别指令从三个步骤合成一个wait_appear(图像1)等待图像出现click(图像1)点击中间不需要额外等待。但如果连续点击多个图像每两个之间必须加time.sleep(0.5)——图像识别本身有处理时间太快执行会识别失败。另一个坑是相似度阈值。影刀默认相似度0.8但有些界面背景复杂导致相似度降到0.7以下就匹配不上了。降低阈值到0.6可能误识别提高阈值到0.9可能识别不到。正确做法是截取图像时让截图尽可能小——只截按钮本身不截周围空白相似度自然就高。图像识别还有个致命的痛点分辨率依赖。你在1920×1080开发好的全部图像指令放到客户1366×768的屏幕上全部失效。唯一解法是交付前用TeamViewer或远程桌面连到客户电脑在客户分辨率下重新录制所有图像指令。这个工作量要单独在报价里列一项客户环境适配。如果客户有多台不同分辨率的电脑每台单独收适配费。六、数据写入与通知——Excel操作的真实踩坑和飞书群推送Excel批量写入选写入行指令而不是写入单元格。写入行一次性填一整行数据[‘订单号1’,‘商品名1’,‘金额1’]速度是逐格写入的5-8倍。多个值的筛选用筛选指令筛选类型选等于值那里传一个列表[‘已发货’,‘待发货’,‘退款中’]影刀会一次性筛选出所有匹配行。别再傻傻地用循环每次筛一个值了。Excel报错-2147418111 被呼叫方拒绝接收呼叫本质是Windows COM组件冲突。Excel在后台被多个进程包括你自己打开的Excel窗口同时调用时COM通道堵塞就报这个错。解决三步走第一步影刀Excel指令里勾选新建实例不和已有Excel进程冲突第二步代码开头检测并关闭所有Excel进程第三步操作间隔加time.sleep(1)给COM通道释放时间。文件上传到服务端用影刀内置指令POST https://api.yingdao.com/oapi/dispatch/v2/file/upload单次限制10M支持txt/csv/xlsx三种格式。超过10M的文件先分表再上传——在Excel里按行数切分每5000行一个文件分别上传。上传前验证文件编码CSV必须是UTF-8-BOM格式不然中文乱码。飞书群通知有四种格式文本简单快捷、图片适合截图报告、富文本排版好看、消息卡片可交互按钮。最常用的是文本格式webhook机器人地址在飞书群设置→群机器人→添加机器人获取。消息内容里带异常“错误”失败等关键词时加签名校验防止被拦截。通知内容三要素本次处理了多少条数据、成功/失败/跳过各多少条、如有异常具体是哪一步报了什么错。别发任务完成这种废话通知客户看不懂也问不了你。七、流程可靠性与调试——怎么让客户觉得你专业循环里每步都加异常捕获。try-except不是加分项而是基本项。影刀里每个可能出错的指令点击、等待、读取都包在如果异常指令块里异常分支里截图当前页面→写入错误日志→尝试重试1-2次→重试仍失败则跳过本条继续。这四步就是生产级RPA流程的最低标准。屏幕截图用影刀内置截图指令存到项目文件夹的screenshots目录交付后客户找你说出错了你能从截图里直接定位是哪个页面、什么原因。截图是RPA工程师的第二条命。调试时用print()打印关键变量值但不是最终交付时仍留着。交付前把所有print()换成写入日志文件日志格式时间步骤名操作结果数据条数。日志文件在客户电脑上持续记录出问题你远程登录就能看。别指望客户会帮你复现Bug——他能描述清楚就是那个页面没出来已经很不错了。交付包结构要标准化。每个项目一个文件夹文件夹内主流程业务流程文件、子流程可复用模块、配置文件Excel路径/网址/账号等变量集中管理、images图像识别截图、logs运行日志、screenshots异常截图。配置文件是关键——所有可变参数网址、文件路径、筛选条件都写在这里而不是硬编码在流程里。客户下次说网址换了你改配置文件一行就行不用动主流程。这个结构在home.linyan.cloud上有模板可以直接参考。八、接单渠道与定价策略——从猪八戒到私域成交的全链路猪八戒、一品威客上RPA需求数量稳定但单价低。一个淘宝数据采集的需求预算200-500的居多但你按上面的报价模型算一遍就知道成本都不止这个数。这些平台的正确用法是接1-2个小单建立评价然后把平台当引流渠道——交付时加客户微信说后续有任何流程问题直接找我响应更快。客户加微信后你的服务就脱离了平台抽成长期复购才是RPA外包的真正利润来源。一个做淘宝的客户每年至少需要3-5个不同的RPA流程订单导出、竞品监控、评价采集、自动回复、库存同步。一个客户一年的价值等于平台上的10个散单。企业客户的报价是个人客户的3-5倍。企业要发票、要合同、要验收、要培训——这些都要算进报价。企业最大的需求是ERP/OA系统的数据录入和报表导出这类项目技术难度不高基本都是网页操作但业务理解成本高——你得花时间搞清楚他的业务流程。报价里单独列一项需求调研与业务流程梳理这部分按工时计价每小时200-300。企业客户不在意单价在意服务——只要你响应快、问题不过夜、交付稳定单价翻倍他也愿意。交付不是结束是开始。交付后第一周每天主动问一次流程跑得怎么样有遇到什么问题吗。大部分Bug都在第一周暴露及时发现及时修客户体验完全不同。一个月后可以问一句最近有没有新的重复工作需要自动化处理的这句话就是你的二次成交机会。RPA外包 定价策略 接单技巧 影刀教程 淘宝自动化作者林焱
返回列表