AI_UIAutomation/scripts/dump-relay-cat.ts

27 lines
1.0 KiB
TypeScript

import { createDriver } from '../drivers/factory';
import { navigateToAddPage } from '../utils/common/navigation.helper';
const sleep = (ms: number) => new Promise((r) => setTimeout(r, ms));
(async () => {
const d = createDriver();
await d.createSession();
await navigateToAddPage(d, 'Device');
await sleep(1500);
const found = new Set<string>();
for (let i = 0; i < 22; i++) {
const more = await d.findElementRaw('-android uiautomator', 'new UiSelector().text("Show More")').catch(() => null);
if (more) { await d.tapElement(more); await sleep(1200); }
const s = await d.getSource();
for (const x of s.match(/(?:text|content-desc)="([^"]+)"/g) || []) {
const v = x.replace(/^(?:text|content-desc)="/, '').replace(/"$/, '');
if (v && v.length < 45 && /relay|switch|plug/i.test(v)) found.add(v);
}
await d.scrollDown(500).catch(() => {});
await sleep(700);
}
console.log('=== 含 relay/switch/plug 的品类条目 ===');
console.log(JSON.stringify([...found].sort()));
await d.destroySession();
})();