咨询大佬,2.7.1版本运行期间中途停止,后台日志报错ERROR [Crawler.195.crawlWithRetry] crawl not finish, return with exception ERROR [Crawler.200.crawlWithRetry] create new session Exception in thread "main" java.lang.NumberFormatException: For input string: ""

报错日志
2021-11-16 16:50:14 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@text=‘岗位自查’]
2021-11-16 16:50:14 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-16 16:50:14 INFO [Crawler.497.getAvailableElement] selected nodes size = 0
2021-11-16 16:50:14 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 3 with //*[contains(@class, ‘WebView’)]
2021-11-16 16:50:14 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 3
2021-11-16 16:50:14 ERROR [Crawler.195.crawlWithRetry] crawl not finish, return with exception
2021-11-16 16:50:14 ERROR [Crawler.196.crawlWithRetry] For input string: “”
2021-11-16 16:50:14 ERROR [Crawler.197.crawlWithRetry] NumberFormatException: For input string: “”
2021-11-16 16:50:14 ERROR [Crawler.198.crawlWithRetry] java.lang.NumberFormatException: For input string: “”
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] java.lang.NumberFormatException: For input string: “”
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at java.base/java.lang.Integer.parseInt(Integer.java:662)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at java.base/java.lang.Integer.parseInt(Integer.java:770)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.StringOps$.toInt$extension(StringOps.scala:910)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.$anonfun$getAvailableElement$5(Crawler.scala:502)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.$anonfun$getAvailableElement$5$adapted(Crawler.scala:502)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.math.Ordering$$anon$4.compare(Ordering.scala:314)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at java.base/java.util.TimSort.countRunAndMakeAscending(TimSort.java:355)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at java.base/java.util.TimSort.sort(TimSort.java:220)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at java.base/java.util.Arrays.sort(Arrays.java:1441)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.SeqOps.sorted(Seq.scala:700)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.SeqOps.sorted$(Seq.scala:692)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.immutable.List.scala$collection$immutable$StrictOptimizedSeqOps$$super$sorted(List.scala:79)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.immutable.StrictOptimizedSeqOps.sorted(StrictOptimizedSeqOps.scala:78)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.immutable.StrictOptimizedSeqOps.sorted$(StrictOptimizedSeqOps.scala:78)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.immutable.List.sorted(List.scala:79)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.SeqOps.sortWith(Seq.scala:727)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.SeqOps.sortWith$(Seq.scala:727)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.AbstractSeq.sortWith(Seq.scala:1149)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.getAvailableElement(Crawler.scala:502)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.crawl(Crawler.scala:987)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.$anonfun$crawlWithRetry$1(Crawler.scala:188)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.util.Try$.apply(Try.scala:210)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.crawlWithRetry(Crawler.scala:188)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.start(Crawler.scala:170)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:323)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler$.main(AppCrawler.scala:81)
2021-11-16 16:50:14 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler.main(AppCrawler.scala)
2021-11-16 16:50:14 ERROR [Crawler.200.crawlWithRetry] create new session
Exception in thread “main” java.lang.NumberFormatException: For input string: “”
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.Integer.parseInt(Integer.java:662)
at java.base/java.lang.Integer.parseInt(Integer.java:770)

  • 当输入空字符串的时候,出现数字转换异常,v2.7.1版本我这边也遇到了,App停止遍历,回退到2.7.0版本就正常了。。。
  • 异常可能是在类似action: ""的情况抛出的,但这种写法应该没问题的。。。
java.lang.NumberFormatException: For input string: ""
	at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)

我这边2.7.1版本结束遍历后,log文件为空。

应该是你某个本来应该是数字的地方,被你写成了string

思寒老师,我这边2.7.1版本运行的appcrawler.log日志一直为空。
问题1:appcrawler.log日志为空

问题2:我把action: ""的换成了非空, 数字 类型的参数 也没有 string。 2.7.1运行还是报错umberFormatException: For input string: “”:

下面是我截取的命令行里的日志: 能帮忙看一下是哪里的问题吗?
crawl next
2021-11-17 15:31:21 DEBUG [Crawler.966.crawl] refresh success
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),permission_allow_button,click,List(),3)
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 43 with //[not()]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 43
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger permission_allow_button
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),允许,click,List(),3)
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 允许
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),//android.widget.TextView[@resource-id='hik.business.ebg.sopphone:id/dialog_ok_btn’and @text=‘同意’],click,List(),3)
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@resource-id='hik.business.ebg.sopphone:id/dialog_ok_btn’and @text=‘同意’]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger //android.widget.TextView[@resource-id='hik.business.ebg.sopphone:id/dialog_ok_btn’and @text=‘同意’]
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),//android.widget.TextView[@resource-id=‘hik.ebg.infocomapp:id/dialog_ok_btn’and @text=‘同意’],click,List(),3)
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@resource-id=‘hik.ebg.infocomapp:id/dialog_ok_btn’and @text=‘同意’]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger //android.widget.TextView[@resource-id=‘hik.ebg.infocomapp:id/dialog_ok_btn’and @text=‘同意’]
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),//android.widget.TextView[@resource-id=‘hik.ebg.finance:id/dialog_ok_btn’and @text=‘同意’],click,List(),2)
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@resource-id=‘hik.ebg.finance:id/dialog_ok_btn’and @text=‘同意’]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger //android.widget.TextView[@resource-id=‘hik.ebg.finance:id/dialog_ok_btn’and @text=‘同意’]
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),忽略此版本,click,List(),2)
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 忽略此版本
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),立即开启,click,List(),2)
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 立即开启
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),请输入平台地址,10.19.189.149,List(),2)
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 请输入平台地址
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),端口,443,List(),2)
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 端口
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),确定,click,List(),2)
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 确定
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),请输入用户名,ys,List(),2)
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 请输入用户名
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),请输入密码,Abc123++,List(),2)
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 请输入密码
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),登录,click,List(),2)
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 登录
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),跳过,click,List(),3)
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 跳过
2021-11-17 15:31:21 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),//android.widget.TextView[@text=‘更多’],click,List(),2)
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@text=‘更多’]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:21 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger //android.widget.TextView[@text=‘更多’]
2021-11-17 15:31:21 DEBUG [Crawler.372.needBackToApp] ListBuffer(hik.ebg.finance, hik.ebg.finance)
2021-11-17 15:31:21 DEBUG [Crawler.373.needBackToApp] List(hik.ebg.finance, hik.ebg.finance, hik.ebg.finance, hik.ebg.finance, hik.ebg.finance, hik.ebg.finance, hik.ebg.finance, hik.ebg.finance, hik.ebg.finance, hik.ebg.finance)
2021-11-17 15:31:21 DEBUG [Crawler.424.needBackToPage] urlStack=Stack(hik.ebg.finance.FlutterProxyActivity, hik.ebg.finance.实时预览.所有功能, hik.ebg.finance.金融综合安防, hik.ebg.finance.ys.登录, hik.ebg.finance.请输入密码.登录, hik.ebg.finance.443, hik.ebg.finance.端口, hik.ebg.finance.立即开启, hik.ebg.finance.立即更新, hik.ebg.finance.不同意) baseUrl=List() maxDepth=10
2021-11-17 15:31:21 TRACE [Crawler.488.$anonfun$getAvailableElement$1] selectedList xpath = //android.widget.TextView[contains(@resource-id, ‘menu_name’)]
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[contains(@resource-id, ‘menu_name’)]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:21 TRACE [Crawler.488.$anonfun$getAvailableElement$1] selectedList xpath = //android.widget.TextView[@text=‘岗位自查’]
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@text=‘岗位自查’]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:21 INFO [Crawler.497.getAvailableElement] selected nodes size = 0
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 1 with //[contains(@class, ‘WebView’)]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 1
2021-11-17 15:31:21 TRACE [Crawler.503.$anonfun$getAvailableElement$6] hik.ebg.finance.FlutterProxyActivity.tag=android.webkit.WebView.depth=12
2021-11-17 15:31:21 INFO [Crawler.507.getAvailableElement] has webview with latest
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //
[contains(@class, ‘WebView’) and @latest=’’]//[not()]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:21 INFO [Crawler.512.getAvailableElement] selectedElements in top webview elements size = 0
2021-11-17 15:31:21 TRACE [Crawler.524.$anonfun$getAvailableElement$9] blackList xpath = //android.widget.TextView[@text=‘我的’]
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@text=‘我的’]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:21 TRACE [Crawler.524.$anonfun$getAvailableElement$9] blackList xpath = //android.widget.TextView[@text=‘消息’]
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@text=‘消息’]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:21 TRACE [Crawler.524.$anonfun$getAvailableElement$9] blackList xpath = //android.widget.TextView[@text=‘待办’]
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@text=‘待办’]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:21 TRACE [Crawler.524.$anonfun$getAvailableElement$9] blackList xpath = .[0-9]{2}.
2021-11-17 15:31:21 TRACE [Crawler.527.$anonfun$getAvailableElement$11] hik.ebg.finance.FlutterProxyActivity.tag=android.view.View.depth=11.text=14
2021-11-17 15:31:21 TRACE [Crawler.527.$anonfun$getAvailableElement$11] hik.ebg.finance.FlutterProxyActivity.tag=android.view.View.depth=11.text=14
2021-11-17 15:31:21 TRACE [Crawler.527.$anonfun$getAvailableElement$11] hik.ebg.finance.FlutterProxyActivity.tag=android.view.View.depth=11.text=正常(100%)
2021-11-17 15:31:21 TRACE [Crawler.527.$anonfun$getAvailableElement$11] hik.ebg.finance.FlutterProxyActivity.tag=android.view.View.depth=11.text=85.7%
2021-11-17 15:31:21 TRACE [Crawler.527.$anonfun$getAvailableElement$11] hik.ebg.finance.FlutterProxyActivity.tag=android.view.View.depth=11.text=90%
2021-11-17 15:31:21 TRACE [Crawler.527.$anonfun$getAvailableElement$11] hik.ebg.finance.FlutterProxyActivity.tag=android.view.View.depth=11.text=14%
2021-11-17 15:31:21 TRACE [Crawler.527.$anonfun$getAvailableElement$11] hik.ebg.finance.FlutterProxyActivity.tag=android.view.View.depth=11.text=65%
2021-11-17 15:31:21 TRACE [Crawler.524.$anonfun$getAvailableElement$9] blackList xpath = //[@resource-id=‘hik.ebg.finance:id/edit_btn’]
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //
[@resource-id=‘hik.ebg.finance:id/edit_btn’]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:21 TRACE [Crawler.524.$anonfun$getAvailableElement$9] blackList xpath = //[@resource-id=‘hik.ebg.finance:id/scan_qr_code’]
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //
[@resource-id=‘hik.ebg.finance:id/scan_qr_code’]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:21 INFO [Crawler.532.getAvailableElement] selectedElements - black elements size = 0
2021-11-17 15:31:21 INFO [Crawler.551.getAvailableElement] selectedElements - backButton size=0
2021-11-17 15:31:21 INFO [Crawler.559.getAvailableElement] selectedElements - clicked size=0
2021-11-17 15:31:21 INFO [Crawler.566.getAvailableElement] selectedElements - skiped fresh elements size=0
2021-11-17 15:31:21 TRACE [Crawler.587.$anonfun$getAvailableElement$24] lastList xpath = //android.widget.TextView[@text=‘岗位自查’]
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@text=‘岗位自查’]
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:21 TRACE [Crawler.661.$anonfun$sortByAttribute$1] sort by depth
2021-11-17 15:31:21 TRACE [Crawler.661.$anonfun$sortByAttribute$1] sort by list
2021-11-17 15:31:21 TRACE [Crawler.661.$anonfun$sortByAttribute$1] sort by selected
2021-11-17 15:31:21 TRACE [Crawler.661.$anonfun$sortByAttribute$1] sort by depth
2021-11-17 15:31:21 TRACE [Crawler.661.$anonfun$sortByAttribute$1] sort by list
2021-11-17 15:31:21 TRACE [Crawler.661.$anonfun$sortByAttribute$1] sort by selected
2021-11-17 15:31:21 TRACE [Crawler.661.$anonfun$sortByAttribute$1] sort by depth
2021-11-17 15:31:21 TRACE [Crawler.661.$anonfun$sortByAttribute$1] sort by list
2021-11-17 15:31:21 TRACE [Crawler.661.$anonfun$sortByAttribute$1] sort by selected
2021-11-17 15:31:21 TRACE [Crawler.608.getAvailableElement] sorted nodes length=0
2021-11-17 15:31:21 INFO [Crawler.616.getAvailableElement] next element None
2021-11-17 15:31:21 INFO [Crawler.991.crawl] hik.ebg.finance.FlutterProxyActivity all elements had be clicked
2021-11-17 15:31:21 INFO [Crawler.1000.crawl] match afterAll
2021-11-17 15:31:21 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 1 with //
2021-11-17 15:31:21 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 1
2021-11-17 15:31:21 INFO [Crawler.734.beforeElementAction] hik.ebg.finance.FlutterProxyActivity.tag=AfterAll.depth=2.id=AfterAll.name=AfterAll
2021-11-17 15:31:21 TRACE [Crawler.740.beforeElementAction] beforeElementAction
2021-11-17 15:31:21 INFO [Crawler.1039.doElementAction] current index = 47
2021-11-17 15:31:21 INFO [Crawler.1040.doElementAction] current xpath = //android.widget.FrameLayout[@class=‘android.widget.FrameLayout’]
2021-11-17 15:31:21 INFO [Crawler.1041.doElementAction] current action = _AfterAll
2021-11-17 15:31:21 INFO [Crawler.1042.doElementAction] current element = hik.ebg.finance.FlutterProxyActivity.tag=AfterAll.depth=2.id=AfterAll.name=AfterAll
2021-11-17 15:31:21 INFO [Crawler.1043.doElementAction] current url = hik.ebg.finance.FlutterProxyActivity
2021-11-17 15:31:21 INFO [Crawler.1044.doElementAction] current tag path = //android.widget.FrameLayout[@class=‘android.widget.FrameLayout’]
2021-11-17 15:31:21 INFO [Crawler.1045.doElementAction] current file name = hik.ebg.finance.FlutterProxyActivity.tag=AfterAll.depth=2.id=AfterAll.name=AfterAll
2021-11-17 15:31:21 INFO [URIElementStore.83.saveReqDom] save reqDom to 47
2021-11-17 15:31:21 INFO [Crawler.1171.saveElementScreenshot] draw element in F://zjyshare//CaeData//src//main//webapp//upload//report20211117/47_hik.ebg.finance.FlutterProxyActivity.tag=AfterAll.depth=2.id=AfterAll.name=AfterAll.click.png
2021-11-17 15:31:21 INFO [ScreenShot.45.clip] write png F://zjyshare//CaeData//src//main//webapp//upload//report20211117/47_hik.ebg.finance.FlutterProxyActivity.tag=AfterAll.depth=2.id=AfterAll.name=AfterAll.click.png
2021-11-17 15:31:21 INFO [ScreenShot.57.clip] ImageIO.write newImageName F://zjyshare//CaeData//src//main//webapp//upload//report20211117/47_hik.ebg.finance.FlutterProxyActivity.tag=AfterAll.depth=2.id=AfterAll.name=AfterAll.click.png
2021-11-17 15:31:21 INFO [Crawler.1073.doElementAction] afterAll=1
2021-11-17 15:31:21 INFO [Crawler.1080.$anonfun$doElementAction$1] match Step(List(),null,List(),//,driver.swipe(0.5, 0.9, 0.5, 0.5),List(),-1)
2021-11-17 15:31:21 INFO [DynamicEval$.72.dsl] eval driver.swipe(0.5, 0.9, 0.5, 0.5)
2021-11-17 15:31:21 INFO [DynamicEval$.106.eval] driver.swipe(0.5, 0.9, 0.5, 0.5)
2021-11-17 15:31:22 INFO [LogicUtils$.58.asyncTask] use time 0.972 seconds name=swipe result=success
2021-11-17 15:31:22 INFO [DynamicEval$.107.eval] Success
2021-11-17 15:31:22 INFO [DynamicEval$.108.eval] eval finish
2021-11-17 15:31:22 INFO [DynamicEval$.74.dsl] ()
2021-11-17 15:31:22 INFO [Crawler.1158.doElementAction] sleep 2000 ms
2021-11-17 15:31:24 INFO [Crawler.759.afterElementAction] mark image exist
2021-11-17 15:31:24 INFO [Crawler.1212.saveScreen] start screenshot
2021-11-17 15:31:24 INFO [Crawler.1217.$anonfun$saveScreen$2] ui change screenshot again
2021-11-17 15:31:24 INFO [Crawler.1223.saveScreen] screenshot success
2021-11-17 15:31:24 INFO [Crawler.671.refreshPage] refresh page
2021-11-17 15:31:24 INFO [ReactWebDriver.91.getPageSourceWithRetry] start to get page source from appium
2021-11-17 15:31:24 TRACE [ReactWebDriver.98.$anonfun$getPageSourceWithRetry$1] get raw page source success
2021-11-17 15:31:24 INFO [ReactWebDriver.113.$anonfun$getPageSourceWithRetry$1] xml format
2021-11-17 15:31:24 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 1 with (//
[@package!=’’])[1]
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 1
2021-11-17 15:31:24 INFO [Crawler.689.parsePageContext] appName = hik.ebg.finance
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 1
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 1
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 1
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 1
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 1
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 1
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 1
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 1
2021-11-17 15:31:24 INFO [Crawler.349.getUri] defineUrl=
2021-11-17 15:31:24 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 1 with (//*[@package!=’’])[1]
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 1
2021-11-17 15:31:24 INFO [Crawler.693.parsePageContext] url=hik.ebg.finance.FlutterProxyActivity
2021-11-17 15:31:24 TRACE [Crawler.709.parsePageContext] urlStack=Stack(hik.ebg.finance.FlutterProxyActivity, hik.ebg.finance.实时预览.所有功能, hik.ebg.finance.金融综合安防, hik.ebg.finance.ys.登录, hik.ebg.finance.请输入密码.登录, hik.ebg.finance.443, hik.ebg.finance.端口, hik.ebg.finance.立即开启, hik.ebg.finance.立即更新, hik.ebg.finance.不同意)
2021-11-17 15:31:24 INFO [Crawler.720.parsePageContext] currentContentHash=24c38afb2e1f6ca81c54cb3cc42cf3b8 lastContentHash=dfd80379ad4620e01f557f0e4b96934e
2021-11-17 15:31:24 INFO [Crawler.722.parsePageContext] ui change
2021-11-17 15:31:24 INFO [Crawler.1198.saveDom] save to F://zjyshare//CaeData//src//main//webapp//upload//report20211117/47_hik.ebg.finance.FlutterProxyActivity.tag=AfterAll.depth=2.id=AfterAll.name=AfterAll.clicked.xml
2021-11-17 15:31:24 INFO [URIElementStore.90.saveResDom] save resDom to 47
2021-11-17 15:31:24 INFO [Crawler.797.afterElementAction] backRetry=0
2021-11-17 15:31:24 INFO [Crawler.941.crawl] crawl use 3837 ms
2021-11-17 15:31:24 INFO [Crawler.949.crawl]

crawl next
2021-11-17 15:31:24 DEBUG [Crawler.966.crawl] refresh success
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),permission_allow_button,click,List(),3)
2021-11-17 15:31:24 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 48 with //[not()]
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 48
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger permission_allow_button
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),允许,click,List(),3)
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 允许
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),//android.widget.TextView[@resource-id='hik.business.ebg.sopphone:id/dialog_ok_btn’and @text=‘同意’],click,List(),3)
2021-11-17 15:31:24 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@resource-id='hik.business.ebg.sopphone:id/dialog_ok_btn’and @text=‘同意’]
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger //android.widget.TextView[@resource-id='hik.business.ebg.sopphone:id/dialog_ok_btn’and @text=‘同意’]
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),//android.widget.TextView[@resource-id='hik.ebg.infocomapp:id/dialog_ok_btn’and @text=‘同意’],click,List(),3)
2021-11-17 15:31:24 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@resource-id='hik.ebg.infocomapp:id/dialog_ok_btn’and @text=‘同意’]
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger //android.widget.TextView[@resource-id='hik.ebg.infocomapp:id/dialog_ok_btn’and @text=‘同意’]
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),//android.widget.TextView[@resource-id='hik.ebg.finance:id/dialog_ok_btn’and @text=‘同意’],click,List(),2)
2021-11-17 15:31:24 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@resource-id='hik.ebg.finance:id/dialog_ok_btn’and @text=‘同意’]
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger //android.widget.TextView[@resource-id='hik.ebg.finance:id/dialog_ok_btn’and @text=‘同意’]
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),忽略此版本,click,List(),2)
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 忽略此版本
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),立即开启,click,List(),2)
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 立即开启
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),请输入平台地址,10.19.189.149,List(),2)
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 请输入平台地址
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),端口,443,List(),2)
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 端口
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),确定,click,List(),2)
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 确定
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),请输入用户名,ys,List(),2)
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 请输入用户名
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),请输入密码,Abc123++,List(),2)
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 请输入密码
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),登录,click,List(),2)
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 登录
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),跳过,click,List(),3)
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger 跳过
2021-11-17 15:31:24 DEBUG [Crawler.1263.$anonfun$getElementByTriggerActions$2] finding Step(List(),null,List(),//android.widget.TextView[@text=‘更多’],click,List(),2)
2021-11-17 15:31:24 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@text=‘更多’]
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:24 TRACE [Crawler.1272.$anonfun$getElementByTriggerActions$2] not found trigger //android.widget.TextView[@text=‘更多’]
2021-11-17 15:31:24 DEBUG [Crawler.372.needBackToApp] ListBuffer(hik.ebg.finance, hik.ebg.finance)
2021-11-17 15:31:24 DEBUG [Crawler.373.needBackToApp] List(hik.ebg.finance, hik.ebg.finance, hik.ebg.finance, hik.ebg.finance, hik.ebg.finance, hik.ebg.finance, hik.ebg.finance, hik.ebg.finance, hik.ebg.finance, hik.ebg.finance)
2021-11-17 15:31:24 DEBUG [Crawler.424.needBackToPage] urlStack=Stack(hik.ebg.finance.FlutterProxyActivity, hik.ebg.finance.实时预览.所有功能, hik.ebg.finance.金融综合安防, hik.ebg.finance.ys.登录, hik.ebg.finance.请输入密码.登录, hik.ebg.finance.443, hik.ebg.finance.端口, hik.ebg.finance.立即开启, hik.ebg.finance.立即更新, hik.ebg.finance.不同意) baseUrl=List() maxDepth=10
2021-11-17 15:31:24 TRACE [Crawler.488.$anonfun$getAvailableElement$1] selectedList xpath = //android.widget.TextView[contains(@resource-id, ‘menu_name’)]
2021-11-17 15:31:24 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[contains(@resource-id, ‘menu_name’)]
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:24 TRACE [Crawler.488.$anonfun$getAvailableElement$1] selectedList xpath = //android.widget.TextView[@text=‘岗位自查’]
2021-11-17 15:31:24 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 0 with //android.widget.TextView[@text=‘岗位自查’]
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 0
2021-11-17 15:31:24 INFO [Crawler.497.getAvailableElement] selected nodes size = 0
2021-11-17 15:31:24 TRACE [XPathUtil$.236.getNodeListByXPath] nodeList length 3 with //*[contains(@class, ‘WebView’)]
2021-11-17 15:31:24 TRACE [XPathUtil$.339.getNodeListByXPath] filted node list length 3
2021-11-17 15:31:24 ERROR [Crawler.195.crawlWithRetry] crawl not finish, return with exception
2021-11-17 15:31:24 ERROR [Crawler.196.crawlWithRetry] For input string: “”
2021-11-17 15:31:24 ERROR [Crawler.197.crawlWithRetry] NumberFormatException: For input string: “”
2021-11-17 15:31:24 ERROR [Crawler.198.crawlWithRetry] java.lang.NumberFormatException: For input string: “”
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] java.lang.NumberFormatException: For input string: “”
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at java.base/java.lang.Integer.parseInt(Integer.java:662)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at java.base/java.lang.Integer.parseInt(Integer.java:770)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.StringOps$.toInt$extension(StringOps.scala:910)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.$anonfun$getAvailableElement$5(Crawler.scala:502)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.$anonfun$getAvailableElement$5$adapted(Crawler.scala:502)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.math.Ordering$$anon$4.compare(Ordering.scala:314)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at java.base/java.util.TimSort.countRunAndMakeAscending(TimSort.java:355)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at java.base/java.util.TimSort.sort(TimSort.java:220)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at java.base/java.util.Arrays.sort(Arrays.java:1441)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.SeqOps.sorted(Seq.scala:700)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.SeqOps.sorted$(Seq.scala:692)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.immutable.List.scala$collection$immutable$StrictOptimizedSeqOps$$super$sorted(List.scala:79)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.immutable.StrictOptimizedSeqOps.sorted(StrictOptimizedSeqOps.scala:78)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.immutable.StrictOptimizedSeqOps.sorted$(StrictOptimizedSeqOps.scala:78)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.immutable.List.sorted(List.scala:79)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.SeqOps.sortWith(Seq.scala:727)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.SeqOps.sortWith$(Seq.scala:727)
2021-11-17 15:31:24 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.collection.AbstractSeq.sortWith(Seq.scala:1149)
2021-11-17 15:31:25 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.getAvailableElement(Crawler.scala:502)
2021-11-17 15:31:25 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.crawl(Crawler.scala:987)
2021-11-17 15:31:25 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.$anonfun$crawlWithRetry$1(Crawler.scala:188)
2021-11-17 15:31:25 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
2021-11-17 15:31:25 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at scala.util.Try$.apply(Try.scala:210)
2021-11-17 15:31:25 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.crawlWithRetry(Crawler.scala:188)
2021-11-17 15:31:25 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.start(Crawler.scala:170)
2021-11-17 15:31:25 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:323)
2021-11-17 15:31:25 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290)
2021-11-17 15:31:25 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler$.main(AppCrawler.scala:81)
2021-11-17 15:31:25 ERROR [Crawler.199.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler.main(AppCrawler.scala)
2021-11-17 15:31:25 ERROR [Crawler.200.crawlWithRetry] create new session
Exception in thread “main” java.lang.NumberFormatException: For input string: “”
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.Integer.parseInt(Integer.java:662)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at scala.collection.StringOps$.toInt$extension(StringOps.scala:910)
at com.ceshiren.appcrawler.core.Crawler.$anonfun$getAvailableElement$5(Crawler.scala:502)
at com.ceshiren.appcrawler.core.Crawler.$anonfun$getAvailableElement$5$adapted(Crawler.scala:502)
at scala.math.Ordering$$anon$4.compare(Ordering.scala:314)
at java.base/java.util.TimSort.countRunAndMakeAscending(TimSort.java:355)
at java.base/java.util.TimSort.sort(TimSort.java:220)
at java.base/java.util.Arrays.sort(Arrays.java:1441)
at scala.collection.SeqOps.sorted(Seq.scala:700)
at scala.collection.SeqOps.sorted$(Seq.scala:692)
at scala.collection.immutable.List.scala$collection$immutable$StrictOptimizedSeqOps$$super$sorted(List.scala:79)
at scala.collection.immutable.StrictOptimizedSeqOps.sorted(StrictOptimizedSeqOps.scala:78)
at scala.collection.immutable.StrictOptimizedSeqOps.sorted$(StrictOptimizedSeqOps.scala:78)
at scala.collection.immutable.List.sorted(List.scala:79)
at scala.collection.SeqOps.sortWith(Seq.scala:727)
at scala.collection.SeqOps.sortWith$(Seq.scala:727)
at scala.collection.AbstractSeq.sortWith(Seq.scala:1149)
at com.ceshiren.appcrawler.core.Crawler.getAvailableElement(Crawler.scala:502)
at com.ceshiren.appcrawler.core.Crawler.crawl(Crawler.scala:987)
at com.ceshiren.appcrawler.core.Crawler.$anonfun$crawlWithRetry$1(Crawler.scala:188)
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:188)
at com.ceshiren.appcrawler.core.Crawler.start(Crawler.scala:170)
at com.ceshiren.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:323)
at com.ceshiren.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290)
at com.ceshiren.appcrawler.AppCrawler$.main(AppCrawler.scala:81)
at com.ceshiren.appcrawler.AppCrawler.main(AppCrawler.scala)
[googleanalyticsjava-thread-1] WARN com.brsanthu.googleanalytics.httpclient.ApacheHttpClientImpl - Exception while sending the Google Analytics tracker request com.brsanthu.googleanalytics.httpclient.HttpRequest@49bebf10
javax.net.ssl.SSLProtocolException: Connection reset
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:126)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:137)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1152)
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1063)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:384)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
at com.brsanthu.googleanalytics.httpclient.ApacheHttpClientImpl.execute(ApacheHttpClientImpl.java:86)
at com.brsanthu.googleanalytics.httpclient.ApacheHttpClientImpl.post(ApacheHttpClientImpl.java:102)
at com.brsanthu.googleanalytics.internal.GoogleAnalyticsImpl.postSingle(GoogleAnalyticsImpl.java:165)
at com.brsanthu.googleanalytics.internal.GoogleAnalyticsImpl.post(GoogleAnalyticsImpl.java:105)
at com.brsanthu.googleanalytics.internal.GoogleAnalyticsImpl.lambda$postAsync$0(GoogleAnalyticsImpl.java:91)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.net.SocketException: Connection reset
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:186)
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:448)
at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:165)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:108)
… 24 more
[googleanalyticsjava-thread-1] WARN com.brsanthu.googleanalytics.internal.GoogleAnalyticsImpl - Exception while sending the Google Analytics tracker request Request [parms={PROTOCOL_VERSION=1, TRACKING_ID=UA-74406102-1, DOCUMENT_TITLE=test, USER_LANGUAGE=zh-CN, DOCUMENT_URL=http://appcrawler.io/default/hik.ebg.finance, DOCUMENT_ENCODING=UTF-8, HIT_TYPE=pageview, CLIENT_ID=5f7252cf-cbe5-434c-91bf-56ffd53b452b}, customDimensions={}, customMetrics={}]
java.lang.NullPointerException
at com.brsanthu.googleanalytics.httpclient.ApacheHttpClientImpl.post(ApacheHttpClientImpl.java:113)
at com.brsanthu.googleanalytics.internal.GoogleAnalyticsImpl.postSingle(GoogleAnalyticsImpl.java:165)
at com.brsanthu.googleanalytics.internal.GoogleAnalyticsImpl.post(GoogleAnalyticsImpl.java:105)
at com.brsanthu.googleanalytics.internal.GoogleAnalyticsImpl.lambda$postAsync$0(GoogleAnalyticsImpl.java:91)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
2021-11-17 15:35:00 INFO [Crawler.1283.stop] ctrl c interval = 0
2021-11-17 15:35:00 INFO [Crawler.1183.saveLog] save log to F://zjyshare//CaeData//src//main//webapp//upload//report20211117/elements.yml

F:\appium>

我知道什么原因了,我给你更新个版本,因为新版本新增了特殊的分层判断导致的。

我更新了2.7.2预览版本的代码,你可以重新下载试用下。

思寒老师,你说的是运行报错umberFormatException: For input string: “”: 这个问题吗??

运行中的日志报错的问题我单独开贴了,麻烦老师也帮忙看一下
Screen shot has been taken和An unknown server-side error occurred while processing the command. Original error: socket hang up
[/quote]

是这个问题

截图的问题,你独立发帖吧,不然时间线都是乱的

思寒老师,GitHub上我看着还是16小时前更新的,16小时前的版本我试过了, 是不是上传时间还没更新我再下载试试看。

你再刷新下,我是几分钟之前更新上去的