Package: a-pandas-ex-uiautomator-to-df
Use Pandas for a better ADB automationTested  with Windows 10 / Bluestacks 5 / Python 3.9.13$pipinstalla-pandas-ex-uiautomator-to-dffroma_pandas_ex_uiautomator_to_dfimportpd_add_uiautomator_to_dfimportpandasaspdpd_add_uiautomator_to_df()dumpstring=subprocess.run(r'adb shell uiautomator dump && adb shell cat /sdcard/window_dump.xml',shell=True,capture_output=True)#or dumpstring=subprocess.run(r'adb shell cat /sdcard/window_dump.xml',shell=True,capture_output=True)df=pd.Q_uiautomator_to_df(dumpstring.stdout)#string or bytesaa_center_xaa_center_yaa_end_xaa_end_yaa_heightaa_start_xaa_start_yaa_widthboundscheckablecheckedclassclickablecontent-descenabledfocusablefocusedindexkeys_hierarchylong-clickablepackagepasswordposition_0position_0_hposition_1position_1_hposition_2position_2_hposition_3position_3_hposition_4position_4_hposition_5position_5_hresource-idscrollableselectedtext04801869403533332020920(20,20,940,353)FalseFalsea.n.a.bFalseTrueTrueFalse0(node,node,node,node,node,node,node,1,node,0)Falsecom.bluestacks.launcherFalse7190<NA><NA><NA><NA><NA><NA><NA><NA>com.bluestacks.launcher:id/desktopFalseFalse1480470843540140118400725(118,400,843,540)FalseFalseandroid.widget.LinearLayoutFalseTrueFalseFalse3(node,node,node,node,node,node,node,1,node,1)Falsecom.bluestacks.launcherFalse7191<NA><NA><NA><NA><NA><NA><NA><NA>com.bluestacks.launcher:id/dockFalseFalse24801869403533332020920(20,20,940,353)FalseFalseandroid.view.ViewGroupFalseTrueFalseFalse0(node,node,node,node,node,node,node,1,node,0,node)Falsecom.bluestacks.launcherFalse7190<NA><NA><NA><NA><NA><NA><NA><NA>FalseFalse348041284341913118406725(118,406,843,419)FalseFalseandroid.widget.TextViewFalseTrueFalseFalse0(node,node,node,node,node,node,node,1,node,1,node,0)Falsecom.bluestacks.launcherFalse7191110<NA><NA><NA><NA><NA><NA>com.bluestacks.launcher:id/popular_gamFalseFalseBELIEBTEGAMESZUMSPIELEN4480479843540121118419725(118,419,843,540)FalseFalseandroid.widget.FrameLayoutFalseTrueFalseFalse1(node,node,node,node,node,node,node,1,node,1,node,1)Falsecom.bluestacks.launcherFalse7191111<NA><NA><NA><NA><NA><NA>com.bluestacks.launcher:id/frameLayoutFalseFalse5480479843540121118419725(118,419,843,540)FalseFalseandroid.widget.FrameLayoutFalseTrueFalseFalse0(node,node,node,node,node,node,node,1,node,1,node,1,node,0)Falsecom.bluestacks.launcherFalse7191111130<NA><NA><NA><NA>FalseFalse648050584354070118470725(118,470,843,540)FalseFalseandroid.view.ViewFalseTrueFalseFalse1(node,node,node,node,node,node,node,1,node,1,node,1,node,1)Falsecom.bluestacks.launcherFalse7191111131<NA><NA><NA><NA>com.bluestacks.launcher:id/viewBackgroundFalseFalse7480472806525106155419651(155,419,806,525)FalseFalseandroid.widget.LinearLayoutFalseTrueFalseFalse0(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node)Falsecom.bluestacks.launcherFalse7191111130<NA><NA><NA><NA>com.bluestacks.launcher:id/allappsLinearLayoutFalseFalse824347229152510619541996(195,419,291,525)FalseFalseandroid.widget.LinearLayoutTrueTrueFalseFalse0(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,0)Falsecom.bluestacks.launcherFalse7191111130160<NA><NA>com.bluestacks.launcher:id/appOneLinearLayoutFalseFalse933847238652510629141995(291,419,386,525)FalseFalseandroid.widget.LinearLayoutTrueTrueFalseFalse1(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,1)Falsecom.bluestacks.launcherFalse7191111130161<NA><NA>com.bluestacks.launcher:id/appTwoLinearLayoutFalseFalse1043347248152510638641995(386,419,481,525)FalseFalseandroid.widget.LinearLayoutTrueTrueFalseFalse2(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,2)Falsecom.bluestacks.launcherFalse7191111130162<NA><NA>com.bluestacks.launcher:id/appThreeLinearLayoutFalseFalse1152847257652510648141995(481,419,576,525)FalseFalseandroid.widget.LinearLayoutTrueTrueFalseFalse3(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,3)Falsecom.bluestacks.launcherFalse7191111130163<NA><NA>com.bluestacks.launcher:id/appFourLinearLayoutFalseFalse1262347267152510657641995(576,419,671,525)FalseFalseandroid.widget.LinearLayoutTrueTrueFalseFalse4(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,4)Falsecom.bluestacks.launcherFalse7191111130164<NA><NA>com.bluestacks.launcher:id/appFiveLinearLayoutFalseFalse1371847276652510667141995(671,419,766,525)FalseFalseandroid.widget.LinearLayoutTrueTrueFalseFalse5(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,5)Falsecom.bluestacks.launcherFalse7191111130165<NA><NA>com.bluestacks.launcher:id/appSixLinearLayoutFalseFalse142434612734916021343160(213,431,273,491)FalseFalseandroid.widget.FrameLayoutFalseTrueFalseFalse0(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,0,node,0)Falsecom.bluestacks.launcherFalse7191111130160180com.bluestacks.launcher:id/app_image_oneFalseFalse152435102915252919549696(195,496,291,525)FalseFalseandroid.widget.TextViewFalseTrueFalseFalse1(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,0,node,1)Falsecom.bluestacks.launcherFalse7191111130160181com.bluestacks.launcher:id/app_name_oneFalseFalseStateofSurvival:ZombieWar163385103865252929149695(291,496,386,525)FalseFalseandroid.widget.TextViewFalseTrueFalseFalse1(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,1,node,1)Falsecom.bluestacks.launcherFalse7191111130161181com.bluestacks.launcher:id/app_name_twoFalseFalseWorldWar3174334614634916040343160(403,431,463,491)FalseFalseandroid.widget.FrameLayoutFalseTrueFalseFalse0(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,2,node,0)Falsecom.bluestacks.launcherFalse7191111130162180com.bluestacks.launcher:id/app_image_threeFalseFalse184335104815252938649695(386,496,481,525)FalseFalseandroid.widget.TextViewFalseTrueFalseFalse1(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,2,node,1)Falsecom.bluestacks.launcherFalse7191111130162181com.bluestacks.launcher:id/app_name_threeFalseFalseIdleHeroes195284615584916049843160(498,431,558,491)FalseFalseandroid.widget.FrameLayoutFalseTrueFalseFalse0(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,3,node,0)Falsecom.bluestacks.launcherFalse7191111130163180com.bluestacks.launcher:id/app_image_fourFalseFalse205285105765252948149695(481,496,576,525)FalseFalseandroid.widget.TextViewFalseTrueFalseFalse1(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,3,node,1)Falsecom.bluestacks.launcherFalse7191111130163181com.bluestacks.launcher:id/app_name_fourFalseFalseBladeofChaos:ImmortalTitan216234616534916059343160(593,431,653,491)FalseFalseandroid.widget.FrameLayoutFalseTrueFalseFalse0(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,4,node,0)Falsecom.bluestacks.launcherFalse7191111130164180com.bluestacks.launcher:id/app_image_fiveFalseFalse226235106715252957649695(576,496,671,525)FalseFalseandroid.widget.TextViewFalseTrueFalseFalse1(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,4,node,1)Falsecom.bluestacks.launcherFalse7191111130164181com.bluestacks.launcher:id/app_name_fiveFalseFalseGuildofHeroes:Rollenspiele237185107665252967149695(671,496,766,525)FalseFalseandroid.widget.TextViewFalseTrueFalseFalse1(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,5,node,1)Falsecom.bluestacks.launcherFalse7191111130165181com.bluestacks.launcher:id/app_name_sixFalseFalseTibia243384613684916030843160(308,431,368,491)FalseFalseandroid.widget.FrameLayoutFalseTrueFalseFalse0(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,1,node,0)Falsecom.bluestacks.launcherFalse7191111130161180com.bluestacks.launcher:id/app_image_twoFalseFalse257184617484916068843160(688,431,748,491)FalseFalseandroid.widget.FrameLayoutFalseTrueFalseFalse0(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,5,node,0)Falsecom.bluestacks.launcherFalse7191111130165180com.bluestacks.launcher:id/app_image_sixFalseFalse263594403664471435243314(352,433,366,447)FalseFalseandroid.widget.ImageViewFalseTrueFalseFalse0(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,1,node,0,node)Falsecom.bluestacks.launcherFalse7191111130161180com.bluestacks.launcher:id/popup_image_twoFalseFalse277394407464471473243314(732,433,746,447)FalseFalseandroid.widget.ImageViewFalseTrueFalseFalse0(node,node,node,node,node,node,node,1,node,1,node,1,node,0,node,node,5,node,0,node)Falsecom.bluestacks.launcherFalse7191111130165180com.bluestacks.launcher:id/popup_image_sixFalseFalse