You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Puppeteer自动化Salesforce Lightning界面的技术问询

Puppeteer自动化Salesforce Lightning界面的问题

我需要用Puppeteer自动化Salesforce Lightning网页界面,该界面没有固定元素ID,还包含Shadow DOM,目前看来只能通过图像识别或直接调用JavaScript API实现自动化。

我已经找到全局变量$A下的AuraInstance,也安装了Salesforce Lightning Inspector并能查看组件树,现在想知道如何通过JavaScript访问Lightning Data Service,还有以下两个具体疑问:

疑问1:获取Aura请求的唯一action ID

通过浏览器网络活动,我找到了可复用的接口URL:
https://***.lightning.force.com/aura?r=34&ui-force-components-controllers-recordGlobalValueProvider.RecordGvp.saveQuickActionRecords=1

请求负载如下:

{"actions":[{"id":"2320;a","descriptor":"serviceComponent://ui.force.components.controllers.recordGlobalValueProvider.RecordGvpController/ACTION$saveQuickActionRecords","callingDescriptor":"UNKNOWN","params":{"record":{"apiName":"Event","childRelationships":{},"eTag":"df51c121372ca57e0fbe094d4fba0d1c","fields":{"Activity_Type__c":{"displayValue":null,"value":"Call"},"CountsAgainstTarget__c":{"displayValue":null,"value":""},"Description":{"displayValue":null,"value":null},"EndDateTime":{"displayValue":null,"value":"2023-04-29T09:30:00.000Z"},"OwnerId":{"displayValue":null,"value":"005b0000006KeOSAA0"},"RecordTypeId":{"displayValue":null,"value":"012b0000000Dga3AAC"},"StartDateTime":{"displayValue":null,"value":"2023-04-29T09:00:00.000Z"},"Subject":{"displayValue":null,"value":null},"VisitType__c":{"displayValue":null,"value":"Customer Visit"},"What":{"displayValue":null,"value":{"apiName":"Account","fields":{"Name":{"value":""}},"recordTypeInfo":null}},"WhatId":{"displayValue":null,"value":""},"Who":{"displayValue":null,"value":{"apiName":"Contact","fields":{"Name":{"value":""}},"recordTypeInfo":null}},"WhoId":{"displayValue":null,"value":null},"WhoCount":{"value":null,"displayValue":null}},"id":null,"lastModifiedById":null,"lastModifiedDate":null,"recordTypeId":"012b0000000Dga3AAC","recordTypeInfo":{"available":true,"defaultRecordTypeMapping":true,"master":false,"name":"Event","recordTypeId":"012b0000000Dga3AAC"},"systemModstamp":null,"weakEtag":0},"quickActionName":"NewEvent","contextIds":["005b0000006KeOSAA0"],"fetchFeedItem":true,"recordSaveParams":{"bypassDedupeCheck":false,"triggerAutoResponseEmail":false,"triggerOtherEmail":false,"triggerUserEmail":false,"isAllOrNothing":false,"filterInvalidFields":true,"useDefaultRule":false,"publishEngagementEvent":true,"skipCurrencyConversion":true}}]}

其他参数可通过Cookie获取,但请求中的action ID(如示例中的"2320;a")每次请求都唯一且不同,请问如何获取下一个action ID?

疑问2:映射动态字段ID到Salesforce Classic的固定ID

例如事件主题的动态HTML ID为"combobox-input-144"(每次请求都会变化),如何将其映射到Salesforce Classic中事件主题的固定ID"evt5"?


内容的提问来源于stack exchange,提问作者Kodak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 20:53:11