import { createDriver } from '../drivers/factory'; const sleep=(ms:number)=>new Promise(r=>setTimeout(r,ms)); const dump=async(d:any):Promise=>[...new Set((Array.from((await d.getSource()).matchAll(/text="([^"]+)"/g)) as any[]).map(m=>m[1]).filter((t:string)=>t.trim()&&t.length<40))] as string[]; (async()=>{const d=createDriver();await d.createSession();try{ const eds=await d.findElementsRaw('-android uiautomator','new UiSelector().className("android.widget.EditText")'); if(eds.length){await d.typeText(eds[0],'123456');await sleep(1000);console.log('输码后: '+JSON.stringify(await dump(d)));} try{await d.goBack();}catch{} const n=await d.findElementRaw('-android uiautomator','new UiSelector().text("Next")').catch(()=>null); if(n){await d.tapElement(n);await sleep(2500);console.log('点Next后: '+JSON.stringify(await dump(d))); const e2=await d.findElementsRaw('-android uiautomator','new UiSelector().className("android.widget.EditText")');console.log('Next页EditText数='+e2.length);} }catch(e:any){console.error('FAIL:',e.message);}finally{await d.destroySession();}})();