我这边生成的log是空的,我把运行时候的日志复制了一下:
2022-02-20 17:24:27 INFO [Crawler.185.$anonfun$waitAppLoaded$1] wait for app loaded
2022-02-20 17:24:27 INFO [Crawler.693.refreshPage] refresh page
2022-02-20 17:24:27 INFO [ReactWebDriver.88.getPageSourceWithRetry] start to get page source from appium
2022-02-20 17:24:27 TRACE [ReactWebDriver.95.$anonfun$getPageSourceWithRetry$1] get raw page source success
2022-02-20 17:24:27 DEBUG [ReactWebDriver.98.$anonfun$getPageSourceWithRetry$1] <?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<android.widget.FrameLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.FrameLayout” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,0][1440,2678]" displayed=“true”>
<android.widget.LinearLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.LinearLayout” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,0][1440,2678]" displayed=“true”>
<android.widget.FrameLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.FrameLayout” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,96][1440,2678]" displayed=“true”>
<android.widget.LinearLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.LinearLayout” text="" resource-id=“com.teinproductions.tein.pitrainer:id/action_bar_root” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,96][1440,2678]" displayed=“true”>
<android.widget.FrameLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.FrameLayout” text="" resource-id=“android:id/content” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,96][1440,2678]" displayed=“true”>
<android.support.v4.widget.DrawerLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.support.v4.widget.DrawerLayout” text="" resource-id=“com.teinproductions.tein.pitrainer:id/drawer_layout” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,96][1440,2678]" displayed=“true”>
<android.widget.LinearLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.LinearLayout” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,96][1440,2678]" displayed=“true”>
<android.view.ViewGroup index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.view.ViewGroup” text="" resource-id=“com.teinproductions.tein.pitrainer:id/toolbar” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,96][1440,320]" displayed=“true”>
<android.widget.ImageButton index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.ImageButton” text="" content-desc=“Open navigation drawer” checkable=“false” checked=“false” clickable=“true” enabled=“true” focusable=“true” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,96][224,320]" displayed=“true” />
<android.widget.TextView index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=“Pi” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[240,154][311,261]" displayed=“true” />
<android.support.v7.widget.LinearLayoutCompat index=“2” package=“com.teinproductions.tein.pitrainer” class=“android.support.v7.widget.LinearLayoutCompat” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[1280,96][1440,320]" displayed=“true”>
<android.widget.ImageView index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.ImageView” text="" content-desc=“More options” checkable=“false” checked=“false” clickable=“true” enabled=“true” focusable=“true” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[1280,112][1440,304]" displayed=“true” />
</android.support.v7.widget.LinearLayoutCompat>
</android.view.ViewGroup>
<android.widget.FrameLayout index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.FrameLayout” text="" resource-id=“com.teinproductions.tein.pitrainer:id/content” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,320][1440,2678]" displayed=“true”>
<android.widget.RelativeLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.RelativeLayout” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,320][1440,2678]" displayed=“true”>
<android.widget.LinearLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.LinearLayout” text="" resource-id=“com.teinproductions.tein.pitrainer:id/headerLayout” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,384][1376,640]" displayed=“true”>
<android.widget.TextView index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=“3.” resource-id=“com.teinproductions.tein.pitrainer:id/integerPart_textView” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,384][1152,640]" displayed=“true” />
<android.widget.ImageButton index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.ImageButton” text="" content-desc=“restart” resource-id=“com.teinproductions.tein.pitrainer:id/refresh_button” checkable=“false” checked=“false” clickable=“true” enabled=“true” focusable=“true” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[1152,400][1376,624]" displayed=“true” />
</android.widget.LinearLayout>
<android.widget.EditText index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.EditText” text=“Let’s see what you can do!” resource-id=“com.teinproductions.tein.pitrainer:id/input_editText” checkable=“false” checked=“false” clickable=“true” enabled=“true” focusable=“true” focused=“true” long-clickable=“true” password=“false” scrollable=“false” selected=“false” bounds="[64,640][1376,853]" displayed=“true” />
<android.widget.TableLayout index=“2” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TableLayout” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,885][667,1268]" displayed=“true”>
<android.widget.TableRow index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TableRow” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,885][667,1002]" displayed=“true”>
<android.widget.TextView index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=“Digits:” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,885][532,1002]" displayed=“true” />
<android.widget.TextView index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=" 0" resource-id=“com.teinproductions.tein.pitrainer:id/digits_textView” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[532,885][667,1002]" displayed=“true” />
</android.widget.TableRow>
<android.widget.TableRow index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TableRow” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,1018][667,1135]" displayed=“true”>
<android.widget.TextView index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=“Errors:” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,1018][532,1135]" displayed=“true” />
<android.widget.TextView index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=" 0" resource-id=“com.teinproductions.tein.pitrainer:id/errors_textView” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[532,1018][667,1135]" displayed=“true” />
</android.widget.TableRow>
<android.widget.TableRow index=“2” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TableRow” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,1151][667,1268]" displayed=“true”>
<android.widget.TextView index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=“Percentage:” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,1151][532,1268]" displayed=“true” />
<android.widget.TextView index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=" 0%" resource-id=“com.teinproductions.tein.pitrainer:id/percentage_textView” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[532,1151][667,1268]" displayed=“true” />
</android.widget.TableRow>
</android.widget.TableLayout>
</android.widget.RelativeLayout>
</android.widget.FrameLayout>
</android.widget.LinearLayout>
</android.support.v4.widget.DrawerLayout>
</android.widget.FrameLayout>
</android.widget.LinearLayout>
</android.widget.FrameLayout>
</android.widget.LinearLayout>
</android.widget.FrameLayout>
2022-02-20 17:24:27 INFO [ReactWebDriver.111.$anonfun$getPageSourceWithRetry$1] xml format
2022-02-20 17:24:27 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 1 with (//[@package!=’’])[1]
2022-02-20 17:24:27 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 1
2022-02-20 17:24:27 INFO [Crawler.711.parsePageContext] appName = com.teinproductions.tein.pitrainer
2022-02-20 17:24:27 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 1
2022-02-20 17:24:27 INFO [Crawler.373.getUri] defineUrl=
2022-02-20 17:24:27 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 1 with (//[@package!=’’])[1]
2022-02-20 17:24:27 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 1
2022-02-20 17:24:27 INFO [Crawler.715.parsePageContext] url=com.teinproductions.tein.pitrainer.MainActivity
2022-02-20 17:24:27 TRACE [Crawler.731.parsePageContext] urlStack=Stack(com.teinproductions.tein.pitrainer.MainActivity)
2022-02-20 17:24:27 INFO [Crawler.742.parsePageContext] currentContentHash=07c1c2e8fca64936e3c59ed80a0c60e2 lastContentHash=07c1c2e8fca64936e3c59ed80a0c60e2
2022-02-20 17:24:27 INFO [Crawler.746.parsePageContext] ui not change
2022-02-20 17:24:27 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(@text, ‘App’)]
2022-02-20 17:24:27 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-20 17:24:28 INFO [Crawler.185.$anonfun$waitAppLoaded$1] wait for app loaded
2022-02-20 17:24:28 INFO [Crawler.693.refreshPage] refresh page
2022-02-20 17:24:28 INFO [ReactWebDriver.88.getPageSourceWithRetry] start to get page source from appium
2022-02-20 17:24:28 TRACE [ReactWebDriver.95.$anonfun$getPageSourceWithRetry$1] get raw page source success
2022-02-20 17:24:28 DEBUG [ReactWebDriver.98.$anonfun$getPageSourceWithRetry$1] <?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<android.widget.FrameLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.FrameLayout” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,0][1440,2678]" displayed=“true”>
<android.widget.LinearLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.LinearLayout” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,0][1440,2678]" displayed=“true”>
<android.widget.FrameLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.FrameLayout” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,96][1440,2678]" displayed=“true”>
<android.widget.LinearLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.LinearLayout” text="" resource-id=“com.teinproductions.tein.pitrainer:id/action_bar_root” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,96][1440,2678]" displayed=“true”>
<android.widget.FrameLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.FrameLayout” text="" resource-id=“android:id/content” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,96][1440,2678]" displayed=“true”>
<android.support.v4.widget.DrawerLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.support.v4.widget.DrawerLayout” text="" resource-id=“com.teinproductions.tein.pitrainer:id/drawer_layout” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,96][1440,2678]" displayed=“true”>
<android.widget.LinearLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.LinearLayout” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,96][1440,2678]" displayed=“true”>
<android.view.ViewGroup index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.view.ViewGroup” text="" resource-id=“com.teinproductions.tein.pitrainer:id/toolbar” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,96][1440,320]" displayed=“true”>
<android.widget.ImageButton index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.ImageButton” text="" content-desc=“Open navigation drawer” checkable=“false” checked=“false” clickable=“true” enabled=“true” focusable=“true” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,96][224,320]" displayed=“true” />
<android.widget.TextView index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=“Pi” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[240,154][311,261]" displayed=“true” />
<android.support.v7.widget.LinearLayoutCompat index=“2” package=“com.teinproductions.tein.pitrainer” class=“android.support.v7.widget.LinearLayoutCompat” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[1280,96][1440,320]" displayed=“true”>
<android.widget.ImageView index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.ImageView” text="" content-desc=“More options” checkable=“false” checked=“false” clickable=“true” enabled=“true” focusable=“true” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[1280,112][1440,304]" displayed=“true” />
</android.support.v7.widget.LinearLayoutCompat>
</android.view.ViewGroup>
<android.widget.FrameLayout index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.FrameLayout” text="" resource-id=“com.teinproductions.tein.pitrainer:id/content” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,320][1440,2678]" displayed=“true”>
<android.widget.RelativeLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.RelativeLayout” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[0,320][1440,2678]" displayed=“true”>
<android.widget.LinearLayout index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.LinearLayout” text="" resource-id=“com.teinproductions.tein.pitrainer:id/headerLayout” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,384][1376,640]" displayed=“true”>
<android.widget.TextView index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=“3.” resource-id=“com.teinproductions.tein.pitrainer:id/integerPart_textView” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,384][1152,640]" displayed=“true” />
<android.widget.ImageButton index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.ImageButton” text="" content-desc=“restart” resource-id=“com.teinproductions.tein.pitrainer:id/refresh_button” checkable=“false” checked=“false” clickable=“true” enabled=“true” focusable=“true” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[1152,400][1376,624]" displayed=“true” />
</android.widget.LinearLayout>
<android.widget.EditText index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.EditText” text=“Let’s see what you can do!” resource-id=“com.teinproductions.tein.pitrainer:id/input_editText” checkable=“false” checked=“false” clickable=“true” enabled=“true” focusable=“true” focused=“true” long-clickable=“true” password=“false” scrollable=“false” selected=“false” bounds="[64,640][1376,853]" displayed=“true” />
<android.widget.TableLayout index=“2” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TableLayout” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,885][667,1268]" displayed=“true”>
<android.widget.TableRow index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TableRow” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,885][667,1002]" displayed=“true”>
<android.widget.TextView index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=“Digits:” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,885][532,1002]" displayed=“true” />
<android.widget.TextView index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=" 0" resource-id=“com.teinproductions.tein.pitrainer:id/digits_textView” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[532,885][667,1002]" displayed=“true” />
</android.widget.TableRow>
<android.widget.TableRow index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TableRow” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,1018][667,1135]" displayed=“true”>
<android.widget.TextView index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=“Errors:” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,1018][532,1135]" displayed=“true” />
<android.widget.TextView index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=" 0" resource-id=“com.teinproductions.tein.pitrainer:id/errors_textView” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[532,1018][667,1135]" displayed=“true” />
</android.widget.TableRow>
<android.widget.TableRow index=“2” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TableRow” text="" checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,1151][667,1268]" displayed=“true”>
<android.widget.TextView index=“0” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=“Percentage:” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[64,1151][532,1268]" displayed=“true” />
<android.widget.TextView index=“1” package=“com.teinproductions.tein.pitrainer” class=“android.widget.TextView” text=" 0%" resource-id=“com.teinproductions.tein.pitrainer:id/percentage_textView” checkable=“false” checked=“false” clickable=“false” enabled=“true” focusable=“false” focused=“false” long-clickable=“false” password=“false” scrollable=“false” selected=“false” bounds="[532,1151][667,1268]" displayed=“true” />
</android.widget.TableRow>
</android.widget.TableLayout>
</android.widget.RelativeLayout>
</android.widget.FrameLayout>
</android.widget.LinearLayout>
</android.support.v4.widget.DrawerLayout>
</android.widget.FrameLayout>
</android.widget.LinearLayout>
</android.widget.FrameLayout>
</android.widget.LinearLayout>
</android.widget.FrameLayout>
2022-02-20 17:24:28 INFO [ReactWebDriver.111.$anonfun$getPageSourceWithRetry$1] xml format
2022-02-20 17:24:28 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 1 with (//[@package!=’’])[1]
2022-02-20 17:24:28 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 1
2022-02-20 17:24:28 INFO [Crawler.711.parsePageContext] appName = com.teinproductions.tein.pitrainer
2022-02-20 17:24:28 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 1
2022-02-20 17:24:28 INFO [Crawler.373.getUri] defineUrl=
2022-02-20 17:24:28 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 1 with (//[@package!=’’])[1]
2022-02-20 17:24:28 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 1
2022-02-20 17:24:28 INFO [Crawler.715.parsePageContext] url=com.teinproductions.tein.pitrainer.MainActivity
2022-02-20 17:24:28 TRACE [Crawler.731.parsePageContext] urlStack=Stack(com.teinproductions.tein.pitrainer.MainActivity)
2022-02-20 17:24:28 INFO [Crawler.742.parsePageContext] currentContentHash=07c1c2e8fca64936e3c59ed80a0c60e2 lastContentHash=07c1c2e8fca64936e3c59ed80a0c60e2
2022-02-20 17:24:28 INFO [Crawler.746.parsePageContext] ui not change
2022-02-20 17:24:28 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(@text, ‘App’)]
2022-02-20 17:24:28 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
它一直在重复运行