2022-03-22 08:55:19 DEBUG [Crawler.444.needBackToPage] urlStack=Stack( ) baseUrl=List() maxDepth=10
2022-03-22 08:55:19 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(@name, ‘XCUIElementTypeTable’)]/XCUIElementTypeCell[contains(@name, ‘Text’) and @value!=’’]
2022-03-22 08:55:19 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(@name, ‘XCUIElementTypeTable’)]/XCUIElementTypeCell[contains(@name, ‘Text’) and @value!=’’]
2022-03-22 08:55:19 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-03-22 08:55:19 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(name(), ‘StaticText’)]
2022-03-22 08:55:19 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 5 with //[contains(name(), ‘StaticText’)]
2022-03-22 08:55:19 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 5
2022-03-22 08:55:19 TRACE [Crawler.512.$anonfun$getAvailableElement$3] .tag=XCUIElementTypeStaticText.depth=12.id=No SIM.name=No SIM.text=No SIM
2022-03-22 08:55:19 TRACE [Crawler.512.$anonfun$getAvailableElement$3] .tag=XCUIElementTypeStaticText.depth=12.id=08:55.name=08:55.text=08:55
2022-03-22 08:55:19 TRACE [Crawler.512.$anonfun$getAvailableElement$3] .tag=XCUIElementTypeStaticText.depth=12.id=100%.name=100%.text=100%
2022-03-22 08:55:19 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(name(), ‘Image’)]
2022-03-22 08:55:19 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 3 with //[contains(name(), ‘Image’)]
2022-03-22 08:55:19 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 3
2022-03-22 08:55:19 TRACE [Crawler.512.$anonfun$getAvailableElement$3] .tag=XCUIElementTypeImage.depth=12.id=VPN on.name=VPN on
2022-03-22 08:55:19 TRACE [Crawler.512.$anonfun$getAvailableElement$3] .tag=XCUIElementTypeImage.depth=12.id=Do not disturb.name=Do not disturb
2022-03-22 08:55:19 TRACE [Crawler.512.$anonfun$getAvailableElement$3] .tag=XCUIElementTypeImage.depth=12.id=Orientation Locked.name=Orientation Locked
2022-03-22 08:55:19 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(name(), ‘Button’)]
2022-03-22 08:55:19 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 3 with //[contains(name(), ‘Button’)]
2022-03-22 08:55:19 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 3
2022-03-22 08:55:19 TRACE [Crawler.512.$anonfun$getAvailableElement$3] .tag=XCUIElementTypeButton.depth=12.id=Select Photos….name=Select Photos…
2022-03-22 08:55:19 TRACE [Crawler.512.$anonfun$getAvailableElement$3] .tag=XCUIElementTypeButton.depth=12.id=Allow Access to All Photos.name=Allow Access to All Photos
2022-03-22 08:55:19 TRACE [Crawler.512.$anonfun$getAvailableElement$3] .tag=XCUIElementTypeButton.depth=12.id=Don’t Allow.name=Don’t Allow
2022-03-22 08:55:19 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(name(), ‘Switch’)]
2022-03-22 08:55:19 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(name(), ‘Switch’)]
2022-03-22 08:55:19 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-03-22 08:55:19 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(name(), ‘Spinner’)]
2022-03-22 08:55:19 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(name(), ‘Spinner’)]
2022-03-22 08:55:19 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-03-22 08:55:19 INFO [Crawler.517.getAvailableElement] selected nodes size = 11
2022-03-22 08:55:19 ERROR [Crawler.221.crawlWithRetry] crawl not finish, return with exception
2022-03-22 08:55:19 ERROR [Crawler.222.crawlWithRetry] null
2022-03-22 08:55:19 ERROR [Crawler.223.crawlWithRetry] NullPointerException:
2022-03-22 08:55:19 ERROR [Crawler.224.crawlWithRetry] java.lang.NullPointerException
2022-03-22 08:55:19 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] java.lang.NullPointerException
2022-03-22 08:55:19 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.getAvailableElement(Crawler.scala:545)
2022-03-22 08:55:19 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.crawl(Crawler.scala:991)
2022-03-22 08:55:19 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.$anonfun$crawlWithRetry$1(Crawler.scala:214)
2022-03-22 08:55:19 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
2022-03-22 08:55:19 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at scala.util.Try$.apply(Try.scala:210)
2022-03-22 08:55:19 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.crawlWithRetry(Crawler.scala:214)
2022-03-22 08:55:19 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.start(Crawler.scala:171)
2022-03-22 08:55:19 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:319)
2022-03-22 08:55:19 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:286)
2022-03-22 08:55:19 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler$.main(AppCrawler.scala:73)
2022-03-22 08:55:19 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler.main(AppCrawler.scala)
2022-03-22 08:55:19 ERROR [Crawler.226.crawlWithRetry] create new session
Exception in thread “main” java.lang.NullPointerException
at com.ceshiren.appcrawler.core.Crawler.getAvailableElement(Crawler.scala:545)
at com.ceshiren.appcrawler.core.Crawler.crawl(Crawler.scala:991)
at com.ceshiren.appcrawler.core.Crawler.$anonfun$crawlWithRetry$1(Crawler.scala:214)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at scala.util.Try$.apply(Try.scala:210)
at com.ceshiren.appcrawler.core.Crawler.crawlWithRetry(Crawler.scala:214)
at com.ceshiren.appcrawler.core.Crawler.start(Crawler.scala:171)
at com.ceshiren.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:319)
at com.ceshiren.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:286)
at com.ceshiren.appcrawler.AppCrawler$.main(AppCrawler.scala:73)
at com.ceshiren.appcrawler.AppCrawler.main(AppCrawler.scala)
这个找到原因了