/** * diag-send-button.js — 校验发送按钮的两条定位路径都能命中同一个控件 * * 1. 结构化定位(默认):工具行同高、最右、不属于右侧竖排动作栏 * 2. 配置 id 覆盖(selectors.sendButtonId):TikTok 改版时的逃生舱 * 两条都应指向同一个 bounds,才算"逃生舱真的能用"。 */ var cfg = TikTokAuto.config.resolve({}); var t = TikTokAuto.tiktok; var l = TikTokAuto.layout; if (t.pageState() !== 'player') { var cards = t.videoCards(); console.log('DIAG 卡片数=' + cards.length); if (cards.length > 0) { TikTokAuto.ui.clickNode(cards[0].container, 'diag'); TikTokAuto.player.waitPlayerReady(cfg, 'diag'); } } console.log('DIAG state=' + t.pageState()); console.log('DIAG 打开评论面板=' + TikTokAuto.comment.openPanel(cfg, 'diag')); console.log('DIAG panelInput=' + (t.panelInput() !== null)); var override = cfg.selectors && cfg.selectors.sendButtonId; console.log('DIAG 配置里的 sendButtonId=' + override); if (override) { var byId = l.findOnce(id(override)); console.log('DIAG id() 查到节点=' + (byId !== null) + ' 可见=' + (byId ? l.isVisible(byId) : false) + ' bounds=' + (byId ? JSON.stringify(byId.bounds()) : 'null')); } var structural = t.sendButton({}); console.log('DIAG 结构化定位 bounds=' + (structural ? JSON.stringify(structural.bounds()) : 'null')); console.log('DIAG sendButton(带配置) bounds=' + (t.sendButton(cfg) ? JSON.stringify(t.sendButton(cfg).bounds()) : 'null')); TikTokAuto.comment.closePanel('diag'); console.log('DIAG 收尾 state=' + t.pageState());