2021-10-29 09:28:48 INFO [Crawler.130.start] set xpath attribute with List(name, label, value, resource-id, content-desc, instance, text) 2021-10-29 09:28:48 INFO [Crawler.135.start] set xpath 2021-10-29 09:28:48 INFO [Crawler.89.$anonfun$loadPlugins$2] com.testerhome.appcrawler.plugin.TagLimitPlugin@70730db 2021-10-29 09:28:48 INFO [Crawler.89.$anonfun$loadPlugins$2] com.testerhome.appcrawler.plugin.ReportPlugin@512575e9 2021-10-29 09:28:48 INFO [Crawler.89.$anonfun$loadPlugins$2] com.testerhome.appcrawler.plugin.FreeMind@2373ad99 2021-10-29 09:28:48 INFO [TagLimitPlugin.19.init] com.testerhome.appcrawler.plugin.TagLimitPlugin init 2021-10-29 09:28:48 INFO [ReportPlugin.19.init] com.testerhome.appcrawler.plugin.ReportPlugin init 2021-10-29 09:28:48 INFO [FreeMind.19.init] com.testerhome.appcrawler.plugin.FreeMind init 2021-10-29 09:28:48 INFO [ReportPlugin.21.start] reportPath=/Users/kongdexi/AndroidStudioProjects/自动化测试/AppCrawler/20211027095159 2021-10-29 09:28:48 INFO [Crawler.138.start] prepare setup Appium 2021-10-29 09:28:48 INFO [Crawler.250.setupAppium] afterPageMax=2 2021-10-29 09:28:49 INFO [Crawler.273.setupAppium] use AppiumClient 2021-10-29 09:28:49 INFO [Crawler.274.setupAppium] Map(deviceName -> oppo, appActivity -> .ui.start.SplashActivity, platformVersion -> 11.0, platformName -> Android, appium -> http://127.0.0.1:4723/wd/hub, autoLaunch -> true, noReset -> true, app -> , appPackage -> com.jlpay.merch, fullReset -> false) 2021-10-29 09:28:56 INFO [AppiumClient.120.getDeviceInfo] screenWidth=1080 screenHeight=2288 2021-10-29 09:28:56 INFO [AppiumClient.112.appium] capture dir = /Users/kongdexi/AndroidStudioProjects/自动化测试/AppCrawler/. 2021-10-29 09:28:56 INFO [Crawler.278.setupAppium] com.testerhome.appcrawler.driver.AppiumClient@61b65d54 2021-10-29 09:28:56 INFO [Crawler.145.start] platformName= driver=com.testerhome.appcrawler.driver.AppiumClient@61b65d54 2021-10-29 09:28:56 INFO [Crawler.146.start] ---------------- AppCrawler 2.4.0 [霍格沃兹测试学院特别纪念版] Appium 1.8.1 Java8 tested app爬虫, 用于自动遍历测试. 支持Android和iOS, 支持真机和模拟器 项目地址: https://github.com/seveniruby/AppCrawler 移动测试技术交流: https://testerhome.com 联络作者: seveniruby@testerhome.com (思寒) 致谢: 晓光 泉龙 杨榕 恒温 mikezhou yaming116 沐木 -------------------------------- 2021-10-29 09:28:56 INFO [Crawler.147.start] waiting for app load 2021-10-29 09:29:02 INFO [Crawler.149.start] driver=null 2021-10-29 09:29:02 INFO [Crawler.150.start] get screen info 2021-10-29 09:29:02 INFO [AppiumClient.120.getDeviceInfo] screenWidth=1080 screenHeight=2288 2021-10-29 09:29:02 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:02 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:03 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:03 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:03 INFO [Crawler.649.parsePageContext] url=SplashActivity 2021-10-29 09:29:03 INFO [Crawler.673.parsePageContext] currentContentHash=7b7a294dd28031cdbc057070ce216608 lastContentHash=7b7a294dd28031cdbc057070ce216608 2021-10-29 09:29:03 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:29:03 INFO [Crawler.230.firstRefresh] first refresh 2021-10-29 09:29:03 INFO [Crawler.996.doElementAction] current element = SplashActivity.tag=start.id=start 2021-10-29 09:29:03 INFO [Crawler.997.doElementAction] current index = 0 2021-10-29 09:29:03 INFO [Crawler.998.doElementAction] current action = 2021-10-29 09:29:03 INFO [Crawler.999.doElementAction] current xpath = Start-Start-0 2021-10-29 09:29:03 INFO [Crawler.1000.doElementAction] current url = SplashActivity 2021-10-29 09:29:03 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:29:03 INFO [Crawler.1002.doElementAction] current file name = SplashActivity.tag=start.id=start 2021-10-29 09:29:03 INFO [Crawler.1014.doElementAction] just log 2021-10-29 09:29:03 INFO [Crawler.1015.doElementAction] { "url" : "SplashActivity", "tag" : "start", "id" : "start", "name" : "", "text" : "", "instance" : "", "depth" : "", "valid" : "true", "selected" : "false", "xpath" : "Start-Start-0", "ancestor" : "", "x" : 0, "y" : 0, "width" : 0, "height" : 0 } 2021-10-29 09:29:03 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:03 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:03 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:03 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:04 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:04 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:04 INFO [Crawler.649.parsePageContext] url=SplashActivity 2021-10-29 09:29:04 INFO [Crawler.673.parsePageContext] currentContentHash=7b7a294dd28031cdbc057070ce216608 lastContentHash=7b7a294dd28031cdbc057070ce216608 2021-10-29 09:29:04 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:29:04 INFO [Crawler.931.saveDom] save to 20211027095159/0_SplashActivity.tag=start.id=start.dom 2021-10-29 09:29:04 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:04 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:05 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:05 INFO [Crawler.159.start] append current app name to appWhiteList 2021-10-29 09:29:05 INFO [Crawler.163.start] run steps 2021-10-29 09:29:05 INFO [Crawler.237.runSteps] run testcases 2021-10-29 09:29:05 INFO [Crawler.996.doElementAction] current element = Steps.tag=Button.depth=8.id=positive_button.text=同意 2021-10-29 09:29:05 INFO [Crawler.997.doElementAction] current index = 1 2021-10-29 09:29:05 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:05 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="同意" and @resource-id="com.jlpay.merch:id/positive_button"] 2021-10-29 09:29:05 INFO [Crawler.1000.doElementAction] current url = Steps 2021-10-29 09:29:05 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:29:05 INFO [Crawler.1002.doElementAction] current file name = Steps.tag=Button.depth=8.id=positive_button.text=同意 2021-10-29 09:29:05 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:05 INFO [AppiumClient.53.findElementByURI] find by uri element= Steps.tag=Button.depth=8.id=positive_button.text=同意 2021-10-29 09:29:05 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="同意" and @resource-id="com.jlpay.merch:id/positive_button"] 2021-10-29 09:29:05 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:05 INFO [Crawler.1080.doElementAction] mark 20211027095159/0_SplashActivity.tag=start.id=start.clicked.png to 20211027095159/1_Steps.tag=Button.depth=8.id=positive_button.text=同意.click.png 2021-10-29 09:29:05 INFO [AppiumClient.141.mark] read from 20211027095159/0_SplashActivity.tag=start.id=start.clicked.png 2021-10-29 09:29:06 INFO [AppiumClient.154.mark] write png 20211027095159/0_SplashActivity.tag=start.id=start.clicked.png 2021-10-29 09:29:06 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/1_Steps.tag=Button.depth=8.id=positive_button.text=同意.click.png 2021-10-29 09:29:06 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:06 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="同意" and @resource-id="com.jlpay.merch:id/positive_button"]] 2021-10-29 09:29:06 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:06 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:06 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:06 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:06 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:06 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:06 INFO [Crawler.649.parsePageContext] url=SplashActivity 2021-10-29 09:29:06 INFO [Crawler.673.parsePageContext] currentContentHash=4a24df7e74300e5bd78abd2818956d8e lastContentHash=7b7a294dd28031cdbc057070ce216608 2021-10-29 09:29:06 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:06 INFO [Crawler.931.saveDom] save to 20211027095159/1_Steps.tag=Button.depth=8.id=positive_button.text=同意.dom 2021-10-29 09:29:07 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:07 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:07 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:07 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:07 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:07 INFO [Crawler.996.doElementAction] current element = Steps.tag=EditText.depth=11.id=et_login_account.text=商户号+手机号+登录名 2021-10-29 09:29:07 INFO [Crawler.997.doElementAction] current index = 2 2021-10-29 09:29:07 INFO [Crawler.998.doElementAction] current action = 18210126090 2021-10-29 09:29:07 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_login"]//*[@resource-id="com.jlpay.merch:id/ll_account"]//*[@resource-id="com.jlpay.merch:id/et_login_account"] 2021-10-29 09:29:07 INFO [Crawler.1000.doElementAction] current url = Steps 2021-10-29 09:29:07 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:29:07 INFO [Crawler.1002.doElementAction] current file name = Steps.tag=EditText.depth=11.id=et_login_account.text=商户号+手机号+登录名 2021-10-29 09:29:07 INFO [Crawler.1071.doElementAction] need input 18210126090 2021-10-29 09:29:07 INFO [AppiumClient.53.findElementByURI] find by uri element= Steps.tag=EditText.depth=11.id=et_login_account.text=商户号+手机号+登录名 2021-10-29 09:29:07 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_login"]//*[@resource-id="com.jlpay.merch:id/ll_account"]//*[@resource-id="com.jlpay.merch:id/et_login_account"] 2021-10-29 09:29:08 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:08 INFO [Crawler.1080.doElementAction] mark 20211027095159/1_Steps.tag=Button.depth=8.id=positive_button.text=同意.clicked.png to 20211027095159/2_Steps.tag=EditText.depth=11.id=et_login_account.text=商户号+手机号+登录名.click.png 2021-10-29 09:29:08 INFO [AppiumClient.141.mark] read from 20211027095159/1_Steps.tag=Button.depth=8.id=positive_button.text=同意.clicked.png 2021-10-29 09:29:08 INFO [AppiumClient.154.mark] write png 20211027095159/1_Steps.tag=Button.depth=8.id=positive_button.text=同意.clicked.png 2021-10-29 09:29:08 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/2_Steps.tag=EditText.depth=11.id=et_login_account.text=商户号+手机号+登录名.click.png 2021-10-29 09:29:08 INFO [Crawler.1106.$anonfun$doElementAction$5] input 18210126090 2021-10-29 09:29:09 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:09 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:09 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:09 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:09 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:09 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:10 INFO [Crawler.649.parsePageContext] url=LoginActivity 2021-10-29 09:29:10 INFO [Crawler.673.parsePageContext] currentContentHash=f68c297357c74128b53d86c69cfa2f7e lastContentHash=4a24df7e74300e5bd78abd2818956d8e 2021-10-29 09:29:10 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:10 INFO [Crawler.931.saveDom] save to 20211027095159/2_Steps.tag=EditText.depth=11.id=et_login_account.text=商户号+手机号+登录名.dom 2021-10-29 09:29:10 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:10 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:10 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:29:10 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:29:10 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$2(AutomationSuite.scala:37) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$2$adapted(AutomationSuite.scala:27) scala.collection.immutable.List.foreach(List.scala:389) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$1(AutomationSuite.scala:27) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85) org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83) org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104) org.scalatest.Transformer.apply(Transformer.scala:22) org.scalatest.Transformer.apply(Transformer.scala:20) org.scalatest.FunSuiteLike$$anon$1.apply(FunSuiteLike.scala:186) org.scalatest.TestSuite.withFixture(TestSuite.scala:196) org.scalatest.TestSuite.withFixture$(TestSuite.scala:195) org.scalatest.FunSuite.withFixture(FunSuite.scala:1560) org.scalatest.FunSuiteLike.invokeWithFixture$1(FunSuiteLike.scala:184) org.scalatest.FunSuiteLike.$anonfun$runTest$1(FunSuiteLike.scala:196) org.scalatest.SuperEngine.runTestImpl(Engine.scala:289) org.scalatest.FunSuiteLike.runTest(FunSuiteLike.scala:196) org.scalatest.FunSuiteLike.runTest$(FunSuiteLike.scala:178) org.scalatest.FunSuite.runTest(FunSuite.scala:1560) org.scalatest.FunSuiteLike.$anonfun$runTests$1(FunSuiteLike.scala:229) org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:396) scala.collection.immutable.List.foreach(List.scala:389) org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384) org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:379) org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461) org.scalatest.FunSuiteLike.runTests(FunSuiteLike.scala:229) org.scalatest.FunSuiteLike.runTests$(FunSuiteLike.scala:228) org.scalatest.FunSuite.runTests(FunSuite.scala:1560) org.scalatest.Suite.run(Suite.scala:1147) org.scalatest.Suite.run$(Suite.scala:1129) org.scalatest.FunSuite.org$scalatest$FunSuiteLike$$super$run(FunSuite.scala:1560) org.scalatest.FunSuiteLike.$anonfun$run$1(FunSuiteLike.scala:233) org.scalatest.SuperEngine.runImpl(Engine.scala:521) org.scalatest.FunSuiteLike.run(FunSuiteLike.scala:233) org.scalatest.FunSuiteLike.run$(FunSuiteLike.scala:232) com.testerhome.appcrawler.AutomationSuite.org$scalatest$BeforeAndAfterAllConfigMap$$super$run(AutomationSuite.scala:9) org.scalatest.BeforeAndAfterAllConfigMap.liftedTree1$1(BeforeAndAfterAllConfigMap.scala:248) org.scalatest.BeforeAndAfterAllConfigMap.run(BeforeAndAfterAllConfigMap.scala:245) org.scalatest.BeforeAndAfterAllConfigMap.run$(BeforeAndAfterAllConfigMap.scala:242) com.testerhome.appcrawler.AutomationSuite.run(AutomationSuite.scala:9) org.scalatest.Suite.execute(Suite.scala:787) org.scalatest.Suite.execute$(Suite.scala:728) org.scalatest.FunSuite.execute(FunSuite.scala:1560) com.testerhome.appcrawler.Crawler.runSteps(Crawler.scala:238) com.testerhome.appcrawler.Crawler.start(Crawler.scala:164) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:29:10 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:29:10 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:29:10 INFO [Crawler.996.doElementAction] current element = Steps.tag=EditText.depth=11.id=et_login_password.text=登录密码 2021-10-29 09:29:10 INFO [Crawler.997.doElementAction] current index = 3 2021-10-29 09:29:10 INFO [Crawler.998.doElementAction] current action = jlzf@123456 2021-10-29 09:29:10 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_login"]//*[@resource-id="com.jlpay.merch:id/ll_password"]//*[@text="登录密码" and @resource-id="com.jlpay.merch:id/et_login_password"] 2021-10-29 09:29:10 INFO [Crawler.1000.doElementAction] current url = Steps 2021-10-29 09:29:10 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:29:10 INFO [Crawler.1002.doElementAction] current file name = Steps.tag=EditText.depth=11.id=et_login_password.text=登录密码 2021-10-29 09:29:10 INFO [Crawler.1071.doElementAction] need input jlzf@123456 2021-10-29 09:29:10 INFO [AppiumClient.53.findElementByURI] find by uri element= Steps.tag=EditText.depth=11.id=et_login_password.text=登录密码 2021-10-29 09:29:10 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_login"]//*[@resource-id="com.jlpay.merch:id/ll_password"]//*[@text="登录密码" and @resource-id="com.jlpay.merch:id/et_login_password"] 2021-10-29 09:29:10 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:10 INFO [Crawler.1080.doElementAction] mark 20211027095159/2_Steps.tag=EditText.depth=11.id=et_login_account.text=商户号+手机号+登录名.clicked.png to 20211027095159/3_Steps.tag=EditText.depth=11.id=et_login_password.text=登录密码.click.png 2021-10-29 09:29:10 INFO [AppiumClient.141.mark] read from 20211027095159/2_Steps.tag=EditText.depth=11.id=et_login_account.text=商户号+手机号+登录名.clicked.png 2021-10-29 09:29:10 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:29:10 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:29:10 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$2(AutomationSuite.scala:37) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$2$adapted(AutomationSuite.scala:27) scala.collection.immutable.List.foreach(List.scala:389) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$1(AutomationSuite.scala:27) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85) org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83) org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104) org.scalatest.Transformer.apply(Transformer.scala:22) org.scalatest.Transformer.apply(Transformer.scala:20) org.scalatest.FunSuiteLike$$anon$1.apply(FunSuiteLike.scala:186) org.scalatest.TestSuite.withFixture(TestSuite.scala:196) org.scalatest.TestSuite.withFixture$(TestSuite.scala:195) org.scalatest.FunSuite.withFixture(FunSuite.scala:1560) org.scalatest.FunSuiteLike.invokeWithFixture$1(FunSuiteLike.scala:184) org.scalatest.FunSuiteLike.$anonfun$runTest$1(FunSuiteLike.scala:196) org.scalatest.SuperEngine.runTestImpl(Engine.scala:289) org.scalatest.FunSuiteLike.runTest(FunSuiteLike.scala:196) org.scalatest.FunSuiteLike.runTest$(FunSuiteLike.scala:178) org.scalatest.FunSuite.runTest(FunSuite.scala:1560) org.scalatest.FunSuiteLike.$anonfun$runTests$1(FunSuiteLike.scala:229) org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:396) scala.collection.immutable.List.foreach(List.scala:389) org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384) org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:379) org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461) org.scalatest.FunSuiteLike.runTests(FunSuiteLike.scala:229) org.scalatest.FunSuiteLike.runTests$(FunSuiteLike.scala:228) org.scalatest.FunSuite.runTests(FunSuite.scala:1560) org.scalatest.Suite.run(Suite.scala:1147) org.scalatest.Suite.run$(Suite.scala:1129) org.scalatest.FunSuite.org$scalatest$FunSuiteLike$$super$run(FunSuite.scala:1560) org.scalatest.FunSuiteLike.$anonfun$run$1(FunSuiteLike.scala:233) org.scalatest.SuperEngine.runImpl(Engine.scala:521) org.scalatest.FunSuiteLike.run(FunSuiteLike.scala:233) org.scalatest.FunSuiteLike.run$(FunSuiteLike.scala:232) com.testerhome.appcrawler.AutomationSuite.org$scalatest$BeforeAndAfterAllConfigMap$$super$run(AutomationSuite.scala:9) org.scalatest.BeforeAndAfterAllConfigMap.liftedTree1$1(BeforeAndAfterAllConfigMap.scala:248) org.scalatest.BeforeAndAfterAllConfigMap.run(BeforeAndAfterAllConfigMap.scala:245) org.scalatest.BeforeAndAfterAllConfigMap.run$(BeforeAndAfterAllConfigMap.scala:242) com.testerhome.appcrawler.AutomationSuite.run(AutomationSuite.scala:9) org.scalatest.Suite.execute(Suite.scala:787) org.scalatest.Suite.execute$(Suite.scala:728) org.scalatest.FunSuite.execute(FunSuite.scala:1560) com.testerhome.appcrawler.Crawler.runSteps(Crawler.scala:238) com.testerhome.appcrawler.Crawler.start(Crawler.scala:164) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:29:10 INFO [Crawler.1106.$anonfun$doElementAction$5] input jlzf@123456 2021-10-29 09:29:11 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:11 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:12 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:12 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:12 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:12 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:12 INFO [Crawler.649.parsePageContext] url=LoginActivity 2021-10-29 09:29:12 INFO [Crawler.673.parsePageContext] currentContentHash=8b916c0447aa1a8c7401714e4a7517a4 lastContentHash=f68c297357c74128b53d86c69cfa2f7e 2021-10-29 09:29:12 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:12 INFO [Crawler.931.saveDom] save to 20211027095159/3_Steps.tag=EditText.depth=11.id=et_login_password.text=登录密码.dom 2021-10-29 09:29:12 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:12 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:12 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:29:12 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:29:12 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$2(AutomationSuite.scala:37) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$2$adapted(AutomationSuite.scala:27) scala.collection.immutable.List.foreach(List.scala:389) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$1(AutomationSuite.scala:27) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85) org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83) org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104) org.scalatest.Transformer.apply(Transformer.scala:22) org.scalatest.Transformer.apply(Transformer.scala:20) org.scalatest.FunSuiteLike$$anon$1.apply(FunSuiteLike.scala:186) org.scalatest.TestSuite.withFixture(TestSuite.scala:196) org.scalatest.TestSuite.withFixture$(TestSuite.scala:195) org.scalatest.FunSuite.withFixture(FunSuite.scala:1560) org.scalatest.FunSuiteLike.invokeWithFixture$1(FunSuiteLike.scala:184) org.scalatest.FunSuiteLike.$anonfun$runTest$1(FunSuiteLike.scala:196) org.scalatest.SuperEngine.runTestImpl(Engine.scala:289) org.scalatest.FunSuiteLike.runTest(FunSuiteLike.scala:196) org.scalatest.FunSuiteLike.runTest$(FunSuiteLike.scala:178) org.scalatest.FunSuite.runTest(FunSuite.scala:1560) org.scalatest.FunSuiteLike.$anonfun$runTests$1(FunSuiteLike.scala:229) org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:396) scala.collection.immutable.List.foreach(List.scala:389) org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384) org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:379) org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461) org.scalatest.FunSuiteLike.runTests(FunSuiteLike.scala:229) org.scalatest.FunSuiteLike.runTests$(FunSuiteLike.scala:228) org.scalatest.FunSuite.runTests(FunSuite.scala:1560) org.scalatest.Suite.run(Suite.scala:1147) org.scalatest.Suite.run$(Suite.scala:1129) org.scalatest.FunSuite.org$scalatest$FunSuiteLike$$super$run(FunSuite.scala:1560) org.scalatest.FunSuiteLike.$anonfun$run$1(FunSuiteLike.scala:233) org.scalatest.SuperEngine.runImpl(Engine.scala:521) org.scalatest.FunSuiteLike.run(FunSuiteLike.scala:233) org.scalatest.FunSuiteLike.run$(FunSuiteLike.scala:232) com.testerhome.appcrawler.AutomationSuite.org$scalatest$BeforeAndAfterAllConfigMap$$super$run(AutomationSuite.scala:9) org.scalatest.BeforeAndAfterAllConfigMap.liftedTree1$1(BeforeAndAfterAllConfigMap.scala:248) org.scalatest.BeforeAndAfterAllConfigMap.run(BeforeAndAfterAllConfigMap.scala:245) org.scalatest.BeforeAndAfterAllConfigMap.run$(BeforeAndAfterAllConfigMap.scala:242) com.testerhome.appcrawler.AutomationSuite.run(AutomationSuite.scala:9) org.scalatest.Suite.execute(Suite.scala:787) org.scalatest.Suite.execute$(Suite.scala:728) org.scalatest.FunSuite.execute(FunSuite.scala:1560) com.testerhome.appcrawler.Crawler.runSteps(Crawler.scala:238) com.testerhome.appcrawler.Crawler.start(Crawler.scala:164) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:29:12 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:29:12 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:29:12 INFO [Crawler.996.doElementAction] current element = Steps.tag=Button.depth=9.id=btn_login.text=登录 2021-10-29 09:29:12 INFO [Crawler.997.doElementAction] current index = 4 2021-10-29 09:29:12 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:12 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="登录" and @resource-id="com.jlpay.merch:id/btn_login"] 2021-10-29 09:29:12 INFO [Crawler.1000.doElementAction] current url = Steps 2021-10-29 09:29:12 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:29:12 INFO [Crawler.1002.doElementAction] current file name = Steps.tag=Button.depth=9.id=btn_login.text=登录 2021-10-29 09:29:12 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:12 INFO [AppiumClient.53.findElementByURI] find by uri element= Steps.tag=Button.depth=9.id=btn_login.text=登录 2021-10-29 09:29:12 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="登录" and @resource-id="com.jlpay.merch:id/btn_login"] 2021-10-29 09:29:13 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:13 INFO [Crawler.1080.doElementAction] mark 20211027095159/3_Steps.tag=EditText.depth=11.id=et_login_password.text=登录密码.clicked.png to 20211027095159/4_Steps.tag=Button.depth=9.id=btn_login.text=登录.click.png 2021-10-29 09:29:13 INFO [AppiumClient.141.mark] read from 20211027095159/3_Steps.tag=EditText.depth=11.id=et_login_password.text=登录密码.clicked.png 2021-10-29 09:29:13 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:29:13 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:29:13 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$2(AutomationSuite.scala:37) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$2$adapted(AutomationSuite.scala:27) scala.collection.immutable.List.foreach(List.scala:389) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$1(AutomationSuite.scala:27) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85) org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83) org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104) org.scalatest.Transformer.apply(Transformer.scala:22) org.scalatest.Transformer.apply(Transformer.scala:20) org.scalatest.FunSuiteLike$$anon$1.apply(FunSuiteLike.scala:186) org.scalatest.TestSuite.withFixture(TestSuite.scala:196) org.scalatest.TestSuite.withFixture$(TestSuite.scala:195) org.scalatest.FunSuite.withFixture(FunSuite.scala:1560) org.scalatest.FunSuiteLike.invokeWithFixture$1(FunSuiteLike.scala:184) org.scalatest.FunSuiteLike.$anonfun$runTest$1(FunSuiteLike.scala:196) org.scalatest.SuperEngine.runTestImpl(Engine.scala:289) org.scalatest.FunSuiteLike.runTest(FunSuiteLike.scala:196) org.scalatest.FunSuiteLike.runTest$(FunSuiteLike.scala:178) org.scalatest.FunSuite.runTest(FunSuite.scala:1560) org.scalatest.FunSuiteLike.$anonfun$runTests$1(FunSuiteLike.scala:229) org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:396) scala.collection.immutable.List.foreach(List.scala:389) org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384) org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:379) org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461) org.scalatest.FunSuiteLike.runTests(FunSuiteLike.scala:229) org.scalatest.FunSuiteLike.runTests$(FunSuiteLike.scala:228) org.scalatest.FunSuite.runTests(FunSuite.scala:1560) org.scalatest.Suite.run(Suite.scala:1147) org.scalatest.Suite.run$(Suite.scala:1129) org.scalatest.FunSuite.org$scalatest$FunSuiteLike$$super$run(FunSuite.scala:1560) org.scalatest.FunSuiteLike.$anonfun$run$1(FunSuiteLike.scala:233) org.scalatest.SuperEngine.runImpl(Engine.scala:521) org.scalatest.FunSuiteLike.run(FunSuiteLike.scala:233) org.scalatest.FunSuiteLike.run$(FunSuiteLike.scala:232) com.testerhome.appcrawler.AutomationSuite.org$scalatest$BeforeAndAfterAllConfigMap$$super$run(AutomationSuite.scala:9) org.scalatest.BeforeAndAfterAllConfigMap.liftedTree1$1(BeforeAndAfterAllConfigMap.scala:248) org.scalatest.BeforeAndAfterAllConfigMap.run(BeforeAndAfterAllConfigMap.scala:245) org.scalatest.BeforeAndAfterAllConfigMap.run$(BeforeAndAfterAllConfigMap.scala:242) com.testerhome.appcrawler.AutomationSuite.run(AutomationSuite.scala:9) org.scalatest.Suite.execute(Suite.scala:787) org.scalatest.Suite.execute$(Suite.scala:728) org.scalatest.FunSuite.execute(FunSuite.scala:1560) com.testerhome.appcrawler.Crawler.runSteps(Crawler.scala:238) com.testerhome.appcrawler.Crawler.start(Crawler.scala:164) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:29:13 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:13 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="登录" and @resource-id="com.jlpay.merch:id/btn_login"]] 2021-10-29 09:29:13 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:13 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:13 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:13 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:13 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:13 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:13 INFO [Crawler.649.parsePageContext] url=LoginActivity 2021-10-29 09:29:13 INFO [Crawler.673.parsePageContext] currentContentHash=c7dc592d02adf5b260e2ea14342d30a4 lastContentHash=8b916c0447aa1a8c7401714e4a7517a4 2021-10-29 09:29:13 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:13 INFO [Crawler.931.saveDom] save to 20211027095159/4_Steps.tag=Button.depth=9.id=btn_login.text=登录.dom 2021-10-29 09:29:13 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:13 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:14 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:29:14 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:29:14 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$2(AutomationSuite.scala:37) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$2$adapted(AutomationSuite.scala:27) scala.collection.immutable.List.foreach(List.scala:389) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$1(AutomationSuite.scala:27) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85) org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83) org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104) org.scalatest.Transformer.apply(Transformer.scala:22) org.scalatest.Transformer.apply(Transformer.scala:20) org.scalatest.FunSuiteLike$$anon$1.apply(FunSuiteLike.scala:186) org.scalatest.TestSuite.withFixture(TestSuite.scala:196) org.scalatest.TestSuite.withFixture$(TestSuite.scala:195) org.scalatest.FunSuite.withFixture(FunSuite.scala:1560) org.scalatest.FunSuiteLike.invokeWithFixture$1(FunSuiteLike.scala:184) org.scalatest.FunSuiteLike.$anonfun$runTest$1(FunSuiteLike.scala:196) org.scalatest.SuperEngine.runTestImpl(Engine.scala:289) org.scalatest.FunSuiteLike.runTest(FunSuiteLike.scala:196) org.scalatest.FunSuiteLike.runTest$(FunSuiteLike.scala:178) org.scalatest.FunSuite.runTest(FunSuite.scala:1560) org.scalatest.FunSuiteLike.$anonfun$runTests$1(FunSuiteLike.scala:229) org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:396) scala.collection.immutable.List.foreach(List.scala:389) org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384) org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:379) org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461) org.scalatest.FunSuiteLike.runTests(FunSuiteLike.scala:229) org.scalatest.FunSuiteLike.runTests$(FunSuiteLike.scala:228) org.scalatest.FunSuite.runTests(FunSuite.scala:1560) org.scalatest.Suite.run(Suite.scala:1147) org.scalatest.Suite.run$(Suite.scala:1129) org.scalatest.FunSuite.org$scalatest$FunSuiteLike$$super$run(FunSuite.scala:1560) org.scalatest.FunSuiteLike.$anonfun$run$1(FunSuiteLike.scala:233) org.scalatest.SuperEngine.runImpl(Engine.scala:521) org.scalatest.FunSuiteLike.run(FunSuiteLike.scala:233) org.scalatest.FunSuiteLike.run$(FunSuiteLike.scala:232) com.testerhome.appcrawler.AutomationSuite.org$scalatest$BeforeAndAfterAllConfigMap$$super$run(AutomationSuite.scala:9) org.scalatest.BeforeAndAfterAllConfigMap.liftedTree1$1(BeforeAndAfterAllConfigMap.scala:248) org.scalatest.BeforeAndAfterAllConfigMap.run(BeforeAndAfterAllConfigMap.scala:245) org.scalatest.BeforeAndAfterAllConfigMap.run$(BeforeAndAfterAllConfigMap.scala:242) com.testerhome.appcrawler.AutomationSuite.run(AutomationSuite.scala:9) org.scalatest.Suite.execute(Suite.scala:787) org.scalatest.Suite.execute$(Suite.scala:728) org.scalatest.FunSuite.execute(FunSuite.scala:1560) com.testerhome.appcrawler.Crawler.runSteps(Crawler.scala:238) com.testerhome.appcrawler.Crawler.start(Crawler.scala:164) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:29:14 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:29:14 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:29:14 INFO [Crawler.996.doElementAction] current element = Steps.tag=Button.depth=8.id=btn_confirm.text=同意并继续 2021-10-29 09:29:14 INFO [Crawler.997.doElementAction] current index = 5 2021-10-29 09:29:14 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:14 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@text="同意并继续" and @resource-id="com.jlpay.merch:id/btn_confirm"] 2021-10-29 09:29:14 INFO [Crawler.1000.doElementAction] current url = Steps 2021-10-29 09:29:14 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:29:14 INFO [Crawler.1002.doElementAction] current file name = Steps.tag=Button.depth=8.id=btn_confirm.text=同意并继续 2021-10-29 09:29:14 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:14 INFO [AppiumClient.53.findElementByURI] find by uri element= Steps.tag=Button.depth=8.id=btn_confirm.text=同意并继续 2021-10-29 09:29:14 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@text="同意并继续" and @resource-id="com.jlpay.merch:id/btn_confirm"] 2021-10-29 09:29:14 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:14 INFO [Crawler.1080.doElementAction] mark 20211027095159/4_Steps.tag=Button.depth=9.id=btn_login.text=登录.clicked.png to 20211027095159/5_Steps.tag=Button.depth=8.id=btn_confirm.text=同意并继续.click.png 2021-10-29 09:29:14 INFO [AppiumClient.141.mark] read from 20211027095159/4_Steps.tag=Button.depth=9.id=btn_login.text=登录.clicked.png 2021-10-29 09:29:14 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:29:14 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:29:14 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$2(AutomationSuite.scala:37) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$2$adapted(AutomationSuite.scala:27) scala.collection.immutable.List.foreach(List.scala:389) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$1(AutomationSuite.scala:27) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85) org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83) org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104) org.scalatest.Transformer.apply(Transformer.scala:22) org.scalatest.Transformer.apply(Transformer.scala:20) org.scalatest.FunSuiteLike$$anon$1.apply(FunSuiteLike.scala:186) org.scalatest.TestSuite.withFixture(TestSuite.scala:196) org.scalatest.TestSuite.withFixture$(TestSuite.scala:195) org.scalatest.FunSuite.withFixture(FunSuite.scala:1560) org.scalatest.FunSuiteLike.invokeWithFixture$1(FunSuiteLike.scala:184) org.scalatest.FunSuiteLike.$anonfun$runTest$1(FunSuiteLike.scala:196) org.scalatest.SuperEngine.runTestImpl(Engine.scala:289) org.scalatest.FunSuiteLike.runTest(FunSuiteLike.scala:196) org.scalatest.FunSuiteLike.runTest$(FunSuiteLike.scala:178) org.scalatest.FunSuite.runTest(FunSuite.scala:1560) org.scalatest.FunSuiteLike.$anonfun$runTests$1(FunSuiteLike.scala:229) org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:396) scala.collection.immutable.List.foreach(List.scala:389) org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384) org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:379) org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461) org.scalatest.FunSuiteLike.runTests(FunSuiteLike.scala:229) org.scalatest.FunSuiteLike.runTests$(FunSuiteLike.scala:228) org.scalatest.FunSuite.runTests(FunSuite.scala:1560) org.scalatest.Suite.run(Suite.scala:1147) org.scalatest.Suite.run$(Suite.scala:1129) org.scalatest.FunSuite.org$scalatest$FunSuiteLike$$super$run(FunSuite.scala:1560) org.scalatest.FunSuiteLike.$anonfun$run$1(FunSuiteLike.scala:233) org.scalatest.SuperEngine.runImpl(Engine.scala:521) org.scalatest.FunSuiteLike.run(FunSuiteLike.scala:233) org.scalatest.FunSuiteLike.run$(FunSuiteLike.scala:232) com.testerhome.appcrawler.AutomationSuite.org$scalatest$BeforeAndAfterAllConfigMap$$super$run(AutomationSuite.scala:9) org.scalatest.BeforeAndAfterAllConfigMap.liftedTree1$1(BeforeAndAfterAllConfigMap.scala:248) org.scalatest.BeforeAndAfterAllConfigMap.run(BeforeAndAfterAllConfigMap.scala:245) org.scalatest.BeforeAndAfterAllConfigMap.run$(BeforeAndAfterAllConfigMap.scala:242) com.testerhome.appcrawler.AutomationSuite.run(AutomationSuite.scala:9) org.scalatest.Suite.execute(Suite.scala:787) org.scalatest.Suite.execute$(Suite.scala:728) org.scalatest.FunSuite.execute(FunSuite.scala:1560) com.testerhome.appcrawler.Crawler.runSteps(Crawler.scala:238) com.testerhome.appcrawler.Crawler.start(Crawler.scala:164) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:29:14 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:14 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@text="同意并继续" and @resource-id="com.jlpay.merch:id/btn_confirm"]] 2021-10-29 09:29:14 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:14 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:14 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:14 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:15 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:15 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:15 INFO [Crawler.649.parsePageContext] url=LoginActivity 2021-10-29 09:29:15 INFO [Crawler.673.parsePageContext] currentContentHash=01088e55581470b370258b6695a453c7 lastContentHash=c7dc592d02adf5b260e2ea14342d30a4 2021-10-29 09:29:15 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:15 INFO [Crawler.931.saveDom] save to 20211027095159/5_Steps.tag=Button.depth=8.id=btn_confirm.text=同意并继续.dom 2021-10-29 09:29:15 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:15 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:15 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:29:15 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:29:15 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$2(AutomationSuite.scala:37) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$2$adapted(AutomationSuite.scala:27) scala.collection.immutable.List.foreach(List.scala:389) com.testerhome.appcrawler.AutomationSuite.$anonfun$new$1(AutomationSuite.scala:27) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85) org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83) org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104) org.scalatest.Transformer.apply(Transformer.scala:22) org.scalatest.Transformer.apply(Transformer.scala:20) org.scalatest.FunSuiteLike$$anon$1.apply(FunSuiteLike.scala:186) org.scalatest.TestSuite.withFixture(TestSuite.scala:196) org.scalatest.TestSuite.withFixture$(TestSuite.scala:195) org.scalatest.FunSuite.withFixture(FunSuite.scala:1560) org.scalatest.FunSuiteLike.invokeWithFixture$1(FunSuiteLike.scala:184) org.scalatest.FunSuiteLike.$anonfun$runTest$1(FunSuiteLike.scala:196) org.scalatest.SuperEngine.runTestImpl(Engine.scala:289) org.scalatest.FunSuiteLike.runTest(FunSuiteLike.scala:196) org.scalatest.FunSuiteLike.runTest$(FunSuiteLike.scala:178) org.scalatest.FunSuite.runTest(FunSuite.scala:1560) org.scalatest.FunSuiteLike.$anonfun$runTests$1(FunSuiteLike.scala:229) org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:396) scala.collection.immutable.List.foreach(List.scala:389) org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384) org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:379) org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461) org.scalatest.FunSuiteLike.runTests(FunSuiteLike.scala:229) org.scalatest.FunSuiteLike.runTests$(FunSuiteLike.scala:228) org.scalatest.FunSuite.runTests(FunSuite.scala:1560) org.scalatest.Suite.run(Suite.scala:1147) org.scalatest.Suite.run$(Suite.scala:1129) org.scalatest.FunSuite.org$scalatest$FunSuiteLike$$super$run(FunSuite.scala:1560) org.scalatest.FunSuiteLike.$anonfun$run$1(FunSuiteLike.scala:233) org.scalatest.SuperEngine.runImpl(Engine.scala:521) org.scalatest.FunSuiteLike.run(FunSuiteLike.scala:233) org.scalatest.FunSuiteLike.run$(FunSuiteLike.scala:232) com.testerhome.appcrawler.AutomationSuite.org$scalatest$BeforeAndAfterAllConfigMap$$super$run(AutomationSuite.scala:9) org.scalatest.BeforeAndAfterAllConfigMap.liftedTree1$1(BeforeAndAfterAllConfigMap.scala:248) org.scalatest.BeforeAndAfterAllConfigMap.run(BeforeAndAfterAllConfigMap.scala:245) org.scalatest.BeforeAndAfterAllConfigMap.run$(BeforeAndAfterAllConfigMap.scala:242) com.testerhome.appcrawler.AutomationSuite.run(AutomationSuite.scala:9) org.scalatest.Suite.execute(Suite.scala:787) org.scalatest.Suite.execute$(Suite.scala:728) org.scalatest.FunSuite.execute(FunSuite.scala:1560) com.testerhome.appcrawler.Crawler.runSteps(Crawler.scala:238) com.testerhome.appcrawler.Crawler.start(Crawler.scala:164) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:29:15 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:29:15 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:29:15 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:15 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:15 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:15 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:15 INFO [Crawler.649.parsePageContext] url=LoginActivity 2021-10-29 09:29:15 INFO [Crawler.673.parsePageContext] currentContentHash=01088e55581470b370258b6695a453c7 lastContentHash=01088e55581470b370258b6695a453c7 2021-10-29 09:29:15 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:29:15 INFO [Crawler.1213.handleCtrlC] add shutdown hook 2021-10-29 09:29:15 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:15 INFO [Crawler.425.needReturn] urlStack=Stack(LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:29:15 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:29:15 INFO [Crawler.487.getAvailableElement] selected nodes size = 0 2021-10-29 09:29:15 INFO [Crawler.499.getAvailableElement] all - black elements size = 0 2021-10-29 09:29:15 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 0 2021-10-29 09:29:15 INFO [Crawler.590.getAvailableElement] all - backButton size=0 2021-10-29 09:29:15 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:29:15 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:29:15 INFO [Crawler.851.crawl] LoginActivity all elements had be clicked 2021-10-29 09:29:15 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:29:15 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:29:15 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:29:15 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:29:15 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:29:15 INFO [Crawler.996.doElementAction] current element = LoginActivity.tag=Back.id=Back 2021-10-29 09:29:15 INFO [Crawler.997.doElementAction] current index = 6 2021-10-29 09:29:15 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:29:15 INFO [Crawler.999.doElementAction] current xpath = Back-6 2021-10-29 09:29:15 INFO [Crawler.1000.doElementAction] current url = LoginActivity 2021-10-29 09:29:15 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:29:15 INFO [Crawler.1002.doElementAction] current file name = LoginActivity.tag=Back.id=Back 2021-10-29 09:29:15 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:29:15 WARN [Crawler.1150.back] two back action too close 2021-10-29 09:29:17 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:29:18 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:18 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:18 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:18 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:18 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:18 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:18 INFO [Crawler.649.parsePageContext] url=SubSettings 2021-10-29 09:29:18 INFO [Crawler.673.parsePageContext] currentContentHash=5d497241632989c86dd95213119d0e44 lastContentHash=01088e55581470b370258b6695a453c7 2021-10-29 09:29:18 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:18 INFO [Crawler.931.saveDom] save to 20211027095159/6_LoginActivity.tag=Back.id=Back.dom 2021-10-29 09:29:18 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:18 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:19 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:19 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:29:19 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:19 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 7 2021-10-29 09:29:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:19 INFO [Crawler.425.needReturn] urlStack=Stack(SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:29:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:29:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 1 2021-10-29 09:29:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 1 2021-10-29 09:29:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 1 2021-10-29 09:29:19 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:29:19 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:29:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:29:19 INFO [Crawler.843.crawl] found SubSettings.tag=ImageButton.depth=14.name=转到上一层级 by first available element 2021-10-29 09:29:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:19 INFO [Crawler.996.doElementAction] current element = SubSettings.tag=ImageButton.depth=14.name=转到上一层级 2021-10-29 09:29:19 INFO [Crawler.997.doElementAction] current index = 7 2021-10-29 09:29:19 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:19 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.android.settings:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.android.settings:id/content_parent"]//*[@resource-id="com.android.settings:id/content_frame"]//*[@resource-id="com.android.settings:id/main_content"]//*[@resource-id="com.android.settings:id/abl"]//*[@resource-id="com.android.settings:id/toolbar"]//*[@content-desc="转到上一层级"] 2021-10-29 09:29:19 INFO [Crawler.1000.doElementAction] current url = SubSettings 2021-10-29 09:29:19 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.LinearLayout/android.view.ViewGroup/android.widget.ImageButton 2021-10-29 09:29:19 INFO [Crawler.1002.doElementAction] current file name = SubSettings.tag=ImageButton.depth=14.name=转到上一层级 2021-10-29 09:29:19 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:19 INFO [AppiumClient.53.findElementByURI] find by uri element= SubSettings.tag=ImageButton.depth=14.name=转到上一层级 2021-10-29 09:29:19 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.android.settings:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.android.settings:id/content_parent"]//*[@resource-id="com.android.settings:id/content_frame"]//*[@resource-id="com.android.settings:id/main_content"]//*[@resource-id="com.android.settings:id/abl"]//*[@resource-id="com.android.settings:id/toolbar"]//*[@content-desc="转到上一层级"] 2021-10-29 09:29:19 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:19 INFO [Crawler.1080.doElementAction] mark 20211027095159/6_LoginActivity.tag=Back.id=Back.clicked.png to 20211027095159/7_SubSettings.tag=ImageButton.depth=14.name=转到上一层级.click.png 2021-10-29 09:29:19 INFO [AppiumClient.141.mark] read from 20211027095159/6_LoginActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:29:19 INFO [AppiumClient.154.mark] write png 20211027095159/6_LoginActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:29:19 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/7_SubSettings.tag=ImageButton.depth=14.name=转到上一层级.click.png 2021-10-29 09:29:19 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:19 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.android.settings:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.android.settings:id/content_parent"]//*[@resource-id="com.android.settings:id/content_frame"]//*[@resource-id="com.android.settings:id/main_content"]//*[@resource-id="com.android.settings:id/abl"]//*[@resource-id="com.android.settings:id/toolbar"]//*[@content-desc="转到上一层级"]] 2021-10-29 09:29:19 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:19 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:20 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:20 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:25 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:25 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:25 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:29:25 INFO [Crawler.673.parsePageContext] currentContentHash=58ae14078ff315c6eaa6ac3e6e30744c lastContentHash=5d497241632989c86dd95213119d0e44 2021-10-29 09:29:25 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:25 INFO [Crawler.931.saveDom] save to 20211027095159/7_SubSettings.tag=ImageButton.depth=14.name=转到上一层级.dom 2021-10-29 09:29:25 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:25 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:25 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:25 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:29:25 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:25 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 8 2021-10-29 09:29:25 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:25 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:29:25 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:29:25 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:29:25 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:29:25 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:29:26 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:29:26 INFO [Crawler.598.getAvailableElement] all - clicked size=14 2021-10-29 09:29:26 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=14 2021-10-29 09:29:26 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=17.text=账单 by first available element 2021-10-29 09:29:26 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:26 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView]=20 2021-10-29 09:29:26 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=17.text=账单 2021-10-29 09:29:26 INFO [Crawler.997.doElementAction] current index = 8 2021-10-29 09:29:26 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:26 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_header_layout"]//*[@resource-id="com.jlpay.merch:id/rl_bill"]//*[@text="账单"] 2021-10-29 09:29:26 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:29:26 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:29:26 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=17.text=账单 2021-10-29 09:29:26 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:26 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=17.text=账单 2021-10-29 09:29:26 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_header_layout"]//*[@resource-id="com.jlpay.merch:id/rl_bill"]//*[@text="账单"] 2021-10-29 09:29:26 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:26 INFO [Crawler.1080.doElementAction] mark 20211027095159/7_SubSettings.tag=ImageButton.depth=14.name=转到上一层级.clicked.png to 20211027095159/8_MainActivity.tag=TextView.depth=17.text=账单.click.png 2021-10-29 09:29:26 INFO [AppiumClient.141.mark] read from 20211027095159/7_SubSettings.tag=ImageButton.depth=14.name=转到上一层级.clicked.png 2021-10-29 09:29:26 INFO [AppiumClient.154.mark] write png 20211027095159/7_SubSettings.tag=ImageButton.depth=14.name=转到上一层级.clicked.png 2021-10-29 09:29:26 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/8_MainActivity.tag=TextView.depth=17.text=账单.click.png 2021-10-29 09:29:26 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:26 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_header_layout"]//*[@resource-id="com.jlpay.merch:id/rl_bill"]//*[@text="账单"]] 2021-10-29 09:29:26 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:26 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:27 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:27 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:27 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:27 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:27 INFO [Crawler.649.parsePageContext] url=BillActivity 2021-10-29 09:29:27 INFO [Crawler.673.parsePageContext] currentContentHash=ca6f5ea83dde0b46858f153ab54c8312 lastContentHash=58ae14078ff315c6eaa6ac3e6e30744c 2021-10-29 09:29:27 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:27 INFO [Crawler.931.saveDom] save to 20211027095159/8_MainActivity.tag=TextView.depth=17.text=账单.dom 2021-10-29 09:29:27 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:27 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:28 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:28 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:29:28 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:28 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 9 2021-10-29 09:29:28 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:28 INFO [Crawler.425.needReturn] urlStack=Stack(BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:29:28 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:29:28 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:29:28 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:29:28 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:29:28 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:29:28 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:29:28 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:29:28 INFO [Crawler.843.crawl] found BillActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天 by first available element 2021-10-29 09:29:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:28 INFO [Crawler.996.doElementAction] current element = BillActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天 2021-10-29 09:29:28 INFO [Crawler.997.doElementAction] current index = 9 2021-10-29 09:29:28 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:28 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_tabs"]//*[@resource-id="com.jlpay.merch:id/rl_choose_1"]//*[@text="今天" and @resource-id="com.jlpay.merch:id/tv_choose_1"] 2021-10-29 09:29:28 INFO [Crawler.1000.doElementAction] current url = BillActivity 2021-10-29 09:29:28 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:29:28 INFO [Crawler.1002.doElementAction] current file name = BillActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天 2021-10-29 09:29:28 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:28 INFO [AppiumClient.53.findElementByURI] find by uri element= BillActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天 2021-10-29 09:29:28 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_tabs"]//*[@resource-id="com.jlpay.merch:id/rl_choose_1"]//*[@text="今天" and @resource-id="com.jlpay.merch:id/tv_choose_1"] 2021-10-29 09:29:28 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:28 INFO [Crawler.1080.doElementAction] mark 20211027095159/8_MainActivity.tag=TextView.depth=17.text=账单.clicked.png to 20211027095159/9_BillActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天.click.png 2021-10-29 09:29:28 INFO [AppiumClient.141.mark] read from 20211027095159/8_MainActivity.tag=TextView.depth=17.text=账单.clicked.png 2021-10-29 09:29:28 INFO [AppiumClient.154.mark] write png 20211027095159/8_MainActivity.tag=TextView.depth=17.text=账单.clicked.png 2021-10-29 09:29:28 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/9_BillActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天.click.png 2021-10-29 09:29:28 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:28 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_tabs"]//*[@resource-id="com.jlpay.merch:id/rl_choose_1"]//*[@text="今天" and @resource-id="com.jlpay.merch:id/tv_choose_1"]] 2021-10-29 09:29:29 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:29 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:30 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:30 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:30 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:30 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:30 INFO [Crawler.649.parsePageContext] url=BillActivity 2021-10-29 09:29:30 INFO [Crawler.673.parsePageContext] currentContentHash=ca6f5ea83dde0b46858f153ab54c8312 lastContentHash=ca6f5ea83dde0b46858f153ab54c8312 2021-10-29 09:29:30 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:29:30 INFO [Crawler.931.saveDom] save to 20211027095159/9_BillActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天.dom 2021-10-29 09:29:30 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:30 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:31 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:31 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:29:31 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:31 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[BillActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:29:31 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 10 2021-10-29 09:29:31 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:31 INFO [Crawler.425.needReturn] urlStack=Stack(BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:29:31 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:29:31 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:29:31 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:29:31 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:29:31 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:29:31 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:29:31 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:29:31 INFO [Crawler.843.crawl] found BillActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周 by first available element 2021-10-29 09:29:31 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:31 INFO [Crawler.996.doElementAction] current element = BillActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周 2021-10-29 09:29:31 INFO [Crawler.997.doElementAction] current index = 10 2021-10-29 09:29:31 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:31 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_tabs"]//*[@resource-id="com.jlpay.merch:id/rl_choose_2"]//*[@text="近1周" and @resource-id="com.jlpay.merch:id/tv_choose_2"] 2021-10-29 09:29:31 INFO [Crawler.1000.doElementAction] current url = BillActivity 2021-10-29 09:29:31 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:29:31 INFO [Crawler.1002.doElementAction] current file name = BillActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周 2021-10-29 09:29:31 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:31 INFO [AppiumClient.53.findElementByURI] find by uri element= BillActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周 2021-10-29 09:29:31 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_tabs"]//*[@resource-id="com.jlpay.merch:id/rl_choose_2"]//*[@text="近1周" and @resource-id="com.jlpay.merch:id/tv_choose_2"] 2021-10-29 09:29:31 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:31 INFO [Crawler.1080.doElementAction] mark 20211027095159/9_BillActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天.clicked.png to 20211027095159/10_BillActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周.click.png 2021-10-29 09:29:31 INFO [AppiumClient.141.mark] read from 20211027095159/9_BillActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天.clicked.png 2021-10-29 09:29:31 INFO [AppiumClient.154.mark] write png 20211027095159/9_BillActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天.clicked.png 2021-10-29 09:29:31 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/10_BillActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周.click.png 2021-10-29 09:29:31 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:31 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_tabs"]//*[@resource-id="com.jlpay.merch:id/rl_choose_2"]//*[@text="近1周" and @resource-id="com.jlpay.merch:id/tv_choose_2"]] 2021-10-29 09:29:32 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:32 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:32 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:32 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:33 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:33 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:33 INFO [Crawler.649.parsePageContext] url=BillActivity 2021-10-29 09:29:33 INFO [Crawler.673.parsePageContext] currentContentHash=db3d68d8fda28d50f219a954b378ffba lastContentHash=ca6f5ea83dde0b46858f153ab54c8312 2021-10-29 09:29:33 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:33 INFO [Crawler.931.saveDom] save to 20211027095159/10_BillActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周.dom 2021-10-29 09:29:33 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:33 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:33 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:33 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:29:33 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:33 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[BillActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=2 2021-10-29 09:29:33 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 11 2021-10-29 09:29:33 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:33 INFO [Crawler.425.needReturn] urlStack=Stack(BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:29:33 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:29:33 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:29:33 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:29:33 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:29:33 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:29:33 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:29:33 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:29:33 INFO [Crawler.843.crawl] found BillActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月 by first available element 2021-10-29 09:29:33 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:33 INFO [Crawler.996.doElementAction] current element = BillActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月 2021-10-29 09:29:33 INFO [Crawler.997.doElementAction] current index = 11 2021-10-29 09:29:33 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:33 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_tabs"]//*[@resource-id="com.jlpay.merch:id/rl_choose_3"]//*[@text="近1月" and @resource-id="com.jlpay.merch:id/tv_choose_3"] 2021-10-29 09:29:33 INFO [Crawler.1000.doElementAction] current url = BillActivity 2021-10-29 09:29:33 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:29:33 INFO [Crawler.1002.doElementAction] current file name = BillActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月 2021-10-29 09:29:33 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:33 INFO [AppiumClient.53.findElementByURI] find by uri element= BillActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月 2021-10-29 09:29:33 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_tabs"]//*[@resource-id="com.jlpay.merch:id/rl_choose_3"]//*[@text="近1月" and @resource-id="com.jlpay.merch:id/tv_choose_3"] 2021-10-29 09:29:34 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:34 INFO [Crawler.1080.doElementAction] mark 20211027095159/10_BillActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周.clicked.png to 20211027095159/11_BillActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月.click.png 2021-10-29 09:29:34 INFO [AppiumClient.141.mark] read from 20211027095159/10_BillActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周.clicked.png 2021-10-29 09:29:34 INFO [AppiumClient.154.mark] write png 20211027095159/10_BillActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周.clicked.png 2021-10-29 09:29:34 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/11_BillActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月.click.png 2021-10-29 09:29:34 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:34 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_tabs"]//*[@resource-id="com.jlpay.merch:id/rl_choose_3"]//*[@text="近1月" and @resource-id="com.jlpay.merch:id/tv_choose_3"]] 2021-10-29 09:29:35 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:35 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:35 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:35 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:35 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:35 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:36 INFO [Crawler.649.parsePageContext] url=BillActivity 2021-10-29 09:29:36 INFO [Crawler.673.parsePageContext] currentContentHash=33b18e9a58b6d61b33008f8673eaf189 lastContentHash=db3d68d8fda28d50f219a954b378ffba 2021-10-29 09:29:36 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:36 INFO [Crawler.931.saveDom] save to 20211027095159/11_BillActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月.dom 2021-10-29 09:29:36 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:36 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:36 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:36 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:29:36 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:36 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[BillActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=1 2021-10-29 09:29:36 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 12 2021-10-29 09:29:36 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:36 INFO [Crawler.425.needReturn] urlStack=Stack(BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:29:36 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:29:36 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:29:36 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:29:36 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:29:36 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:29:36 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:29:36 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:29:36 INFO [Crawler.843.crawl] found BillActivity.tag=ImageView.depth=14.id=iv_icon by first available element 2021-10-29 09:29:36 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:36 INFO [Crawler.996.doElementAction] current element = BillActivity.tag=ImageView.depth=14.id=iv_icon 2021-10-29 09:29:36 INFO [Crawler.997.doElementAction] current index = 12 2021-10-29 09:29:36 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:36 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/iv_icon"] 2021-10-29 09:29:36 INFO [Crawler.1000.doElementAction] current url = BillActivity 2021-10-29 09:29:36 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:29:36 INFO [Crawler.1002.doElementAction] current file name = BillActivity.tag=ImageView.depth=14.id=iv_icon 2021-10-29 09:29:36 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:36 INFO [AppiumClient.53.findElementByURI] find by uri element= BillActivity.tag=ImageView.depth=14.id=iv_icon 2021-10-29 09:29:36 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/iv_icon"] 2021-10-29 09:29:37 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:37 INFO [Crawler.1080.doElementAction] mark 20211027095159/11_BillActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月.clicked.png to 20211027095159/12_BillActivity.tag=ImageView.depth=14.id=iv_icon.click.png 2021-10-29 09:29:37 INFO [AppiumClient.141.mark] read from 20211027095159/11_BillActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月.clicked.png 2021-10-29 09:29:37 INFO [AppiumClient.154.mark] write png 20211027095159/11_BillActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月.clicked.png 2021-10-29 09:29:37 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/12_BillActivity.tag=ImageView.depth=14.id=iv_icon.click.png 2021-10-29 09:29:37 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:37 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/iv_icon"]] 2021-10-29 09:29:37 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:37 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:38 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:38 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:38 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:38 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:38 INFO [Crawler.649.parsePageContext] url=BillDetailActivity2 2021-10-29 09:29:38 INFO [Crawler.673.parsePageContext] currentContentHash=cb9eb4ca37cb22a94d52f542fd08bed2 lastContentHash=33b18e9a58b6d61b33008f8673eaf189 2021-10-29 09:29:38 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:38 INFO [Crawler.931.saveDom] save to 20211027095159/12_BillActivity.tag=ImageView.depth=14.id=iv_icon.dom 2021-10-29 09:29:38 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:38 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:39 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:39 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:29:39 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:39 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 13 2021-10-29 09:29:39 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:39 INFO [Crawler.425.needReturn] urlStack=Stack(BillDetailActivity2, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:29:39 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:29:39 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:29:39 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:29:39 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:29:39 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:29:39 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:29:39 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:29:39 INFO [Crawler.843.crawl] found BillDetailActivity2.tag=TextView.depth=12.id=tv_sales_slip.text=查看 by first available element 2021-10-29 09:29:39 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:39 INFO [Crawler.996.doElementAction] current element = BillDetailActivity2.tag=TextView.depth=12.id=tv_sales_slip.text=查看 2021-10-29 09:29:39 INFO [Crawler.997.doElementAction] current index = 13 2021-10-29 09:29:39 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:39 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/ll_sales_slip"]//*[@text="查看" and @resource-id="com.jlpay.merch:id/tv_sales_slip"] 2021-10-29 09:29:39 INFO [Crawler.1000.doElementAction] current url = BillDetailActivity2 2021-10-29 09:29:39 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:29:39 INFO [Crawler.1002.doElementAction] current file name = BillDetailActivity2.tag=TextView.depth=12.id=tv_sales_slip.text=查看 2021-10-29 09:29:39 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:39 INFO [AppiumClient.53.findElementByURI] find by uri element= BillDetailActivity2.tag=TextView.depth=12.id=tv_sales_slip.text=查看 2021-10-29 09:29:39 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/ll_sales_slip"]//*[@text="查看" and @resource-id="com.jlpay.merch:id/tv_sales_slip"] 2021-10-29 09:29:39 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:39 INFO [Crawler.1080.doElementAction] mark 20211027095159/12_BillActivity.tag=ImageView.depth=14.id=iv_icon.clicked.png to 20211027095159/13_BillDetailActivity2.tag=TextView.depth=12.id=tv_sales_slip.text=查看.click.png 2021-10-29 09:29:39 INFO [AppiumClient.141.mark] read from 20211027095159/12_BillActivity.tag=ImageView.depth=14.id=iv_icon.clicked.png 2021-10-29 09:29:39 INFO [AppiumClient.154.mark] write png 20211027095159/12_BillActivity.tag=ImageView.depth=14.id=iv_icon.clicked.png 2021-10-29 09:29:39 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/13_BillDetailActivity2.tag=TextView.depth=12.id=tv_sales_slip.text=查看.click.png 2021-10-29 09:29:40 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:40 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/ll_sales_slip"]//*[@text="查看" and @resource-id="com.jlpay.merch:id/tv_sales_slip"]] 2021-10-29 09:29:40 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:40 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:40 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:40 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:41 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:41 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:41 INFO [Crawler.649.parsePageContext] url=SalesSlipActivity 2021-10-29 09:29:41 INFO [Crawler.673.parsePageContext] currentContentHash=6c52014510936c935c78abb8bf0a8613 lastContentHash=cb9eb4ca37cb22a94d52f542fd08bed2 2021-10-29 09:29:41 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:41 INFO [Crawler.931.saveDom] save to 20211027095159/13_BillDetailActivity2.tag=TextView.depth=12.id=tv_sales_slip.text=查看.dom 2021-10-29 09:29:41 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:41 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:42 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:42 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:29:42 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:42 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 14 2021-10-29 09:29:42 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:42 INFO [Crawler.425.needReturn] urlStack=Stack(SalesSlipActivity, BillDetailActivity2, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:29:42 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:29:42 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:29:42 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:29:42 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:29:42 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:29:42 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:29:42 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:29:42 INFO [Crawler.843.crawl] found SalesSlipActivity.tag=TextView.depth=12.id=tv_save_to_phone.text=保存至手机 by first available element 2021-10-29 09:29:42 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:42 INFO [Crawler.996.doElementAction] current element = SalesSlipActivity.tag=TextView.depth=12.id=tv_save_to_phone.text=保存至手机 2021-10-29 09:29:42 INFO [Crawler.997.doElementAction] current index = 14 2021-10-29 09:29:42 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:42 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_action"]//*[@text="保存至手机" and @resource-id="com.jlpay.merch:id/tv_save_to_phone"] 2021-10-29 09:29:42 INFO [Crawler.1000.doElementAction] current url = SalesSlipActivity 2021-10-29 09:29:42 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:29:42 INFO [Crawler.1002.doElementAction] current file name = SalesSlipActivity.tag=TextView.depth=12.id=tv_save_to_phone.text=保存至手机 2021-10-29 09:29:42 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:42 INFO [AppiumClient.53.findElementByURI] find by uri element= SalesSlipActivity.tag=TextView.depth=12.id=tv_save_to_phone.text=保存至手机 2021-10-29 09:29:42 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_action"]//*[@text="保存至手机" and @resource-id="com.jlpay.merch:id/tv_save_to_phone"] 2021-10-29 09:29:42 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:42 INFO [Crawler.1080.doElementAction] mark 20211027095159/13_BillDetailActivity2.tag=TextView.depth=12.id=tv_sales_slip.text=查看.clicked.png to 20211027095159/14_SalesSlipActivity.tag=TextView.depth=12.id=tv_save_to_phone.text=保存至手机.click.png 2021-10-29 09:29:42 INFO [AppiumClient.141.mark] read from 20211027095159/13_BillDetailActivity2.tag=TextView.depth=12.id=tv_sales_slip.text=查看.clicked.png 2021-10-29 09:29:42 INFO [AppiumClient.154.mark] write png 20211027095159/13_BillDetailActivity2.tag=TextView.depth=12.id=tv_sales_slip.text=查看.clicked.png 2021-10-29 09:29:42 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/14_SalesSlipActivity.tag=TextView.depth=12.id=tv_save_to_phone.text=保存至手机.click.png 2021-10-29 09:29:42 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:42 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_action"]//*[@text="保存至手机" and @resource-id="com.jlpay.merch:id/tv_save_to_phone"]] 2021-10-29 09:29:43 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:43 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:43 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:43 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:43 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:43 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:43 INFO [Crawler.649.parsePageContext] url=SalesSlipActivity 2021-10-29 09:29:43 INFO [Crawler.673.parsePageContext] currentContentHash=663177662ffa79fd7fe68092f2b9dfd7 lastContentHash=6c52014510936c935c78abb8bf0a8613 2021-10-29 09:29:43 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:43 INFO [Crawler.931.saveDom] save to 20211027095159/14_SalesSlipActivity.tag=TextView.depth=12.id=tv_save_to_phone.text=保存至手机.dom 2021-10-29 09:29:44 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:44 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:44 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:44 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:29:44 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:44 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SalesSlipActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:29:44 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 15 2021-10-29 09:29:44 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:44 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 9 2021-10-29 09:29:44 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:44 INFO [Crawler.814.crawl] found SalesSlipActivity.tag=Button.depth=8.id=button1.text=好 by ElementActions 2021-10-29 09:29:44 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:29:44 INFO [Crawler.996.doElementAction] current element = SalesSlipActivity.tag=Button.depth=8.id=button1.text=好 2021-10-29 09:29:44 INFO [Crawler.997.doElementAction] current index = 15 2021-10-29 09:29:44 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:44 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="android:id/parentPanel"]//*[@resource-id="android:id/buttonPanel"]//*[@text="好" and @resource-id="android:id/button1"] 2021-10-29 09:29:44 INFO [Crawler.1000.doElementAction] current url = SalesSlipActivity 2021-10-29 09:29:44 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:29:44 INFO [Crawler.1002.doElementAction] current file name = SalesSlipActivity.tag=Button.depth=8.id=button1.text=好 2021-10-29 09:29:44 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:44 INFO [AppiumClient.53.findElementByURI] find by uri element= SalesSlipActivity.tag=Button.depth=8.id=button1.text=好 2021-10-29 09:29:44 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="android:id/parentPanel"]//*[@resource-id="android:id/buttonPanel"]//*[@text="好" and @resource-id="android:id/button1"] 2021-10-29 09:29:45 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:45 INFO [Crawler.1080.doElementAction] mark 20211027095159/14_SalesSlipActivity.tag=TextView.depth=12.id=tv_save_to_phone.text=保存至手机.clicked.png to 20211027095159/15_SalesSlipActivity.tag=Button.depth=8.id=button1.text=好.click.png 2021-10-29 09:29:45 INFO [AppiumClient.141.mark] read from 20211027095159/14_SalesSlipActivity.tag=TextView.depth=12.id=tv_save_to_phone.text=保存至手机.clicked.png 2021-10-29 09:29:45 INFO [AppiumClient.154.mark] write png 20211027095159/14_SalesSlipActivity.tag=TextView.depth=12.id=tv_save_to_phone.text=保存至手机.clicked.png 2021-10-29 09:29:45 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/15_SalesSlipActivity.tag=Button.depth=8.id=button1.text=好.click.png 2021-10-29 09:29:45 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:45 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="android:id/parentPanel"]//*[@resource-id="android:id/buttonPanel"]//*[@text="好" and @resource-id="android:id/button1"]] 2021-10-29 09:29:45 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:45 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:45 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:45 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:46 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:46 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:46 INFO [Crawler.649.parsePageContext] url=GrantPermissionsActivity 2021-10-29 09:29:46 INFO [Crawler.673.parsePageContext] currentContentHash=8bc3a00f99b6d924d99f734be7a2eefe lastContentHash=663177662ffa79fd7fe68092f2b9dfd7 2021-10-29 09:29:46 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:46 INFO [Crawler.931.saveDom] save to 20211027095159/15_SalesSlipActivity.tag=Button.depth=8.id=button1.text=好.dom 2021-10-29 09:29:46 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:46 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:47 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:47 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:29:47 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:47 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 16 2021-10-29 09:29:47 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:47 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 9 2021-10-29 09:29:47 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:47 INFO [Crawler.814.crawl] found GrantPermissionsActivity.tag=Button.depth=11.id=permission_allow_button.text=允许 by ElementActions 2021-10-29 09:29:47 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:29:47 INFO [Crawler.996.doElementAction] current element = GrantPermissionsActivity.tag=Button.depth=11.id=permission_allow_button.text=允许 2021-10-29 09:29:47 INFO [Crawler.997.doElementAction] current index = 16 2021-10-29 09:29:47 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:47 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="com.android.permissioncontroller:id/grant_singleton"]//*[@resource-id="com.android.permissioncontroller:id/grant_dialog"]//*[@text="允许" and @resource-id="com.android.permissioncontroller:id/permission_allow_button"] 2021-10-29 09:29:47 INFO [Crawler.1000.doElementAction] current url = GrantPermissionsActivity 2021-10-29 09:29:47 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:29:47 INFO [Crawler.1002.doElementAction] current file name = GrantPermissionsActivity.tag=Button.depth=11.id=permission_allow_button.text=允许 2021-10-29 09:29:47 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:47 INFO [AppiumClient.53.findElementByURI] find by uri element= GrantPermissionsActivity.tag=Button.depth=11.id=permission_allow_button.text=允许 2021-10-29 09:29:47 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="com.android.permissioncontroller:id/grant_singleton"]//*[@resource-id="com.android.permissioncontroller:id/grant_dialog"]//*[@text="允许" and @resource-id="com.android.permissioncontroller:id/permission_allow_button"] 2021-10-29 09:29:47 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:47 INFO [Crawler.1080.doElementAction] mark 20211027095159/15_SalesSlipActivity.tag=Button.depth=8.id=button1.text=好.clicked.png to 20211027095159/16_GrantPermissionsActivity.tag=Button.depth=11.id=permission_allow_button.text=允许.click.png 2021-10-29 09:29:47 INFO [AppiumClient.141.mark] read from 20211027095159/15_SalesSlipActivity.tag=Button.depth=8.id=button1.text=好.clicked.png 2021-10-29 09:29:47 INFO [AppiumClient.154.mark] write png 20211027095159/15_SalesSlipActivity.tag=Button.depth=8.id=button1.text=好.clicked.png 2021-10-29 09:29:47 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/16_GrantPermissionsActivity.tag=Button.depth=11.id=permission_allow_button.text=允许.click.png 2021-10-29 09:29:47 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:47 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="com.android.permissioncontroller:id/grant_singleton"]//*[@resource-id="com.android.permissioncontroller:id/grant_dialog"]//*[@text="允许" and @resource-id="com.android.permissioncontroller:id/permission_allow_button"]] 2021-10-29 09:29:47 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:47 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:48 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:48 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:49 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:49 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:49 INFO [Crawler.649.parsePageContext] url=SalesSlipActivity 2021-10-29 09:29:49 INFO [Crawler.673.parsePageContext] currentContentHash=b7e9b6dc079a8d541c142035650e5ebf lastContentHash=8bc3a00f99b6d924d99f734be7a2eefe 2021-10-29 09:29:49 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:49 INFO [Crawler.931.saveDom] save to 20211027095159/16_GrantPermissionsActivity.tag=Button.depth=11.id=permission_allow_button.text=允许.dom 2021-10-29 09:29:49 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:49 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:50 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:50 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:29:50 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:50 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 17 2021-10-29 09:29:50 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:50 INFO [Crawler.425.needReturn] urlStack=Stack(SalesSlipActivity, BillDetailActivity2, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:29:50 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:29:50 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:29:50 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:29:50 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:29:50 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:29:50 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:29:50 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:29:50 INFO [Crawler.843.crawl] found SalesSlipActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:29:50 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:50 INFO [Crawler.996.doElementAction] current element = SalesSlipActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:29:50 INFO [Crawler.997.doElementAction] current index = 17 2021-10-29 09:29:50 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:50 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:29:50 INFO [Crawler.1000.doElementAction] current url = SalesSlipActivity 2021-10-29 09:29:50 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:29:50 INFO [Crawler.1002.doElementAction] current file name = SalesSlipActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:29:50 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:50 INFO [AppiumClient.53.findElementByURI] find by uri element= SalesSlipActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:29:50 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:29:50 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:50 INFO [Crawler.1080.doElementAction] mark 20211027095159/16_GrantPermissionsActivity.tag=Button.depth=11.id=permission_allow_button.text=允许.clicked.png to 20211027095159/17_SalesSlipActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:29:50 INFO [AppiumClient.141.mark] read from 20211027095159/16_GrantPermissionsActivity.tag=Button.depth=11.id=permission_allow_button.text=允许.clicked.png 2021-10-29 09:29:50 INFO [AppiumClient.154.mark] write png 20211027095159/16_GrantPermissionsActivity.tag=Button.depth=11.id=permission_allow_button.text=允许.clicked.png 2021-10-29 09:29:50 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/17_SalesSlipActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:29:50 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:50 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:29:50 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:50 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:51 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:51 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:51 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:51 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:51 INFO [Crawler.649.parsePageContext] url=SalesSlipActivity 2021-10-29 09:29:51 INFO [Crawler.673.parsePageContext] currentContentHash=b7e9b6dc079a8d541c142035650e5ebf lastContentHash=b7e9b6dc079a8d541c142035650e5ebf 2021-10-29 09:29:51 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:29:51 INFO [Crawler.931.saveDom] save to 20211027095159/17_SalesSlipActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:29:51 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:51 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:52 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:52 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:29:52 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:52 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SalesSlipActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:29:52 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 18 2021-10-29 09:29:52 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:52 INFO [Crawler.425.needReturn] urlStack=Stack(SalesSlipActivity, BillDetailActivity2, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:29:52 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:29:52 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:29:52 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:29:52 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:29:52 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:29:52 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:29:52 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:29:52 INFO [Crawler.851.crawl] SalesSlipActivity all elements had be clicked 2021-10-29 09:29:52 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:29:52 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:29:52 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:52 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:29:52 INFO [Crawler.996.doElementAction] current element = SalesSlipActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:29:52 INFO [Crawler.997.doElementAction] current index = 18 2021-10-29 09:29:52 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:52 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:29:52 INFO [Crawler.1000.doElementAction] current url = SalesSlipActivity 2021-10-29 09:29:52 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:29:52 INFO [Crawler.1002.doElementAction] current file name = SalesSlipActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:29:52 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:52 INFO [AppiumClient.53.findElementByURI] find by uri element= SalesSlipActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:29:52 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:29:52 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:52 INFO [Crawler.1080.doElementAction] mark 20211027095159/17_SalesSlipActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/18_SalesSlipActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:29:52 INFO [AppiumClient.141.mark] read from 20211027095159/17_SalesSlipActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:29:52 INFO [AppiumClient.154.mark] write png 20211027095159/17_SalesSlipActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:29:52 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/18_SalesSlipActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:29:53 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:53 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:29:53 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:53 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:53 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:53 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:54 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:54 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:54 INFO [Crawler.649.parsePageContext] url=BillDetailActivity2 2021-10-29 09:29:54 INFO [Crawler.673.parsePageContext] currentContentHash=cb9eb4ca37cb22a94d52f542fd08bed2 lastContentHash=b7e9b6dc079a8d541c142035650e5ebf 2021-10-29 09:29:54 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:54 INFO [Crawler.931.saveDom] save to 20211027095159/18_SalesSlipActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:29:54 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:54 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:55 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:55 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:29:55 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:55 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 19 2021-10-29 09:29:55 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:55 INFO [Crawler.425.needReturn] urlStack=Stack(BillDetailActivity2, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:29:55 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:29:55 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:29:55 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:29:55 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:29:55 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:29:55 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:29:55 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:29:55 INFO [Crawler.843.crawl] found BillDetailActivity2.tag=TextView.depth=9.id=tv_right.text=退款 by first available element 2021-10-29 09:29:55 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:55 INFO [Crawler.996.doElementAction] current element = BillDetailActivity2.tag=TextView.depth=9.id=tv_right.text=退款 2021-10-29 09:29:55 INFO [Crawler.997.doElementAction] current index = 19 2021-10-29 09:29:55 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:55 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="退款" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:29:55 INFO [Crawler.1000.doElementAction] current url = BillDetailActivity2 2021-10-29 09:29:55 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:29:55 INFO [Crawler.1002.doElementAction] current file name = BillDetailActivity2.tag=TextView.depth=9.id=tv_right.text=退款 2021-10-29 09:29:55 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:55 INFO [AppiumClient.53.findElementByURI] find by uri element= BillDetailActivity2.tag=TextView.depth=9.id=tv_right.text=退款 2021-10-29 09:29:55 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="退款" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:29:55 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:55 INFO [Crawler.1080.doElementAction] mark 20211027095159/18_SalesSlipActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/19_BillDetailActivity2.tag=TextView.depth=9.id=tv_right.text=退款.click.png 2021-10-29 09:29:55 INFO [AppiumClient.141.mark] read from 20211027095159/18_SalesSlipActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:29:55 INFO [AppiumClient.154.mark] write png 20211027095159/18_SalesSlipActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:29:55 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/19_BillDetailActivity2.tag=TextView.depth=9.id=tv_right.text=退款.click.png 2021-10-29 09:29:55 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:55 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="退款" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:29:55 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:55 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:56 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:56 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:56 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:56 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:56 INFO [Crawler.649.parsePageContext] url=BillDetailActivity2 2021-10-29 09:29:56 INFO [Crawler.673.parsePageContext] currentContentHash=cb9eb4ca37cb22a94d52f542fd08bed2 lastContentHash=cb9eb4ca37cb22a94d52f542fd08bed2 2021-10-29 09:29:56 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:29:56 INFO [Crawler.931.saveDom] save to 20211027095159/19_BillDetailActivity2.tag=TextView.depth=9.id=tv_right.text=退款.dom 2021-10-29 09:29:56 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:56 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:57 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:57 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:29:57 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:57 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[BillDetailActivity2hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:29:57 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 20 2021-10-29 09:29:57 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:57 INFO [Crawler.425.needReturn] urlStack=Stack(BillDetailActivity2, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:29:57 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:29:57 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:29:57 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:29:57 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:29:57 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:29:57 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:29:57 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:29:57 INFO [Crawler.851.crawl] BillDetailActivity2 all elements had be clicked 2021-10-29 09:29:57 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:29:57 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:29:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:57 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:29:57 INFO [Crawler.996.doElementAction] current element = BillDetailActivity2.tag=ImageView.depth=9.id=im_back 2021-10-29 09:29:57 INFO [Crawler.997.doElementAction] current index = 20 2021-10-29 09:29:57 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:57 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:29:57 INFO [Crawler.1000.doElementAction] current url = BillDetailActivity2 2021-10-29 09:29:57 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:29:57 INFO [Crawler.1002.doElementAction] current file name = BillDetailActivity2.tag=ImageView.depth=9.id=im_back 2021-10-29 09:29:57 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:57 INFO [AppiumClient.53.findElementByURI] find by uri element= BillDetailActivity2.tag=ImageView.depth=9.id=im_back 2021-10-29 09:29:57 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:29:57 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:29:57 INFO [Crawler.1080.doElementAction] mark 20211027095159/19_BillDetailActivity2.tag=TextView.depth=9.id=tv_right.text=退款.clicked.png to 20211027095159/20_BillDetailActivity2.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:29:57 INFO [AppiumClient.141.mark] read from 20211027095159/19_BillDetailActivity2.tag=TextView.depth=9.id=tv_right.text=退款.clicked.png 2021-10-29 09:29:57 INFO [AppiumClient.154.mark] write png 20211027095159/19_BillDetailActivity2.tag=TextView.depth=9.id=tv_right.text=退款.clicked.png 2021-10-29 09:29:57 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/20_BillDetailActivity2.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:29:57 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:29:57 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:29:57 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:29:57 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:29:58 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:29:58 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:29:58 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:29:58 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:29:58 INFO [Crawler.649.parsePageContext] url=BillActivity 2021-10-29 09:29:58 INFO [Crawler.673.parsePageContext] currentContentHash=33b18e9a58b6d61b33008f8673eaf189 lastContentHash=cb9eb4ca37cb22a94d52f542fd08bed2 2021-10-29 09:29:58 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:29:58 INFO [Crawler.931.saveDom] save to 20211027095159/20_BillDetailActivity2.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:29:59 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:29:59 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:29:59 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:29:59 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:29:59 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:29:59 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 21 2021-10-29 09:29:59 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:29:59 INFO [Crawler.425.needReturn] urlStack=Stack(BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:29:59 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:29:59 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:29:59 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:29:59 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:29:59 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:29:59 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:29:59 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:29:59 INFO [Crawler.843.crawl] found BillActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选 by first available element 2021-10-29 09:29:59 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:29:59 INFO [Crawler.996.doElementAction] current element = BillActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选 2021-10-29 09:29:59 INFO [Crawler.997.doElementAction] current index = 21 2021-10-29 09:29:59 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:29:59 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_tabs"]//*[@resource-id="com.jlpay.merch:id/rl_choose_4"]//*[@text="筛选" and @resource-id="com.jlpay.merch:id/tv_choose_4"] 2021-10-29 09:29:59 INFO [Crawler.1000.doElementAction] current url = BillActivity 2021-10-29 09:29:59 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:29:59 INFO [Crawler.1002.doElementAction] current file name = BillActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选 2021-10-29 09:29:59 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:29:59 INFO [AppiumClient.53.findElementByURI] find by uri element= BillActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选 2021-10-29 09:29:59 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_tabs"]//*[@resource-id="com.jlpay.merch:id/rl_choose_4"]//*[@text="筛选" and @resource-id="com.jlpay.merch:id/tv_choose_4"] 2021-10-29 09:30:00 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:00 INFO [Crawler.1080.doElementAction] mark 20211027095159/20_BillDetailActivity2.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/21_BillActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选.click.png 2021-10-29 09:30:00 INFO [AppiumClient.141.mark] read from 20211027095159/20_BillDetailActivity2.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:30:00 INFO [AppiumClient.154.mark] write png 20211027095159/20_BillDetailActivity2.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:30:00 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/21_BillActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选.click.png 2021-10-29 09:30:00 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:00 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_tabs"]//*[@resource-id="com.jlpay.merch:id/rl_choose_4"]//*[@text="筛选" and @resource-id="com.jlpay.merch:id/tv_choose_4"]] 2021-10-29 09:30:01 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:01 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:01 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:01 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:02 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:02 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:02 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:02 INFO [Crawler.673.parsePageContext] currentContentHash=0f5377c1bed22307690eaf4592d8f818 lastContentHash=33b18e9a58b6d61b33008f8673eaf189 2021-10-29 09:30:02 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:30:02 INFO [Crawler.931.saveDom] save to 20211027095159/21_BillActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选.dom 2021-10-29 09:30:02 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:02 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:02 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:02 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:02 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:02 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 22 2021-10-29 09:30:02 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:03 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:03 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:03 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:03 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:03 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:03 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:03 INFO [Crawler.598.getAvailableElement] all - clicked size=27 2021-10-29 09:30:03 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=27 2021-10-29 09:30:03 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=全部 by first available element 2021-10-29 09:30:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:03 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=全部 2021-10-29 09:30:03 INFO [Crawler.997.doElementAction] current index = 22 2021-10-29 09:30:03 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:03 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:30:03 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:03 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:30:03 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=全部 2021-10-29 09:30:03 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:03 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=全部 2021-10-29 09:30:03 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:30:03 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:03 INFO [Crawler.1080.doElementAction] mark 20211027095159/21_BillActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选.clicked.png to 20211027095159/22_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=全部.click.png 2021-10-29 09:30:03 INFO [AppiumClient.141.mark] read from 20211027095159/21_BillActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选.clicked.png 2021-10-29 09:30:03 INFO [AppiumClient.154.mark] write png 20211027095159/21_BillActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选.clicked.png 2021-10-29 09:30:03 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/22_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=全部.click.png 2021-10-29 09:30:03 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:03 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/pay_type"]] 2021-10-29 09:30:03 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:03 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:04 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:04 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:04 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:04 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:04 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:04 INFO [Crawler.673.parsePageContext] currentContentHash=0f5377c1bed22307690eaf4592d8f818 lastContentHash=0f5377c1bed22307690eaf4592d8f818 2021-10-29 09:30:04 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:30:04 INFO [Crawler.931.saveDom] save to 20211027095159/22_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=全部.dom 2021-10-29 09:30:04 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:04 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:05 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:05 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:05 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:05 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=3 2021-10-29 09:30:05 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 23 2021-10-29 09:30:05 INFO [ReportPlugin.39.afterElementAction] 23-0 > 23/10+20 2021-10-29 09:30:05 INFO [ReportPlugin.40.afterElementAction] generate test report 2021-10-29 09:30:10 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:11 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:11 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:11 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=25 2021-10-29 09:30:11 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=微信 by first available element 2021-10-29 09:30:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:11 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=微信 2021-10-29 09:30:11 INFO [Crawler.997.doElementAction] current index = 23 2021-10-29 09:30:11 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:11 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="微信" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:30:11 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:11 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:30:11 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=微信 2021-10-29 09:30:11 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:11 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=微信 2021-10-29 09:30:11 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="微信" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:30:11 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:11 INFO [Crawler.1080.doElementAction] mark 20211027095159/22_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=全部.clicked.png to 20211027095159/23_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=微信.click.png 2021-10-29 09:30:11 INFO [AppiumClient.141.mark] read from 20211027095159/22_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=全部.clicked.png 2021-10-29 09:30:11 INFO [AppiumClient.154.mark] write png 20211027095159/22_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=全部.clicked.png 2021-10-29 09:30:11 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/23_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=微信.click.png 2021-10-29 09:30:11 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:11 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="微信" and @resource-id="com.jlpay.merch:id/pay_type"]] 2021-10-29 09:30:11 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:11 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:12 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:12 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:12 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:12 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:12 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:12 INFO [Crawler.673.parsePageContext] currentContentHash=0f5377c1bed22307690eaf4592d8f818 lastContentHash=0f5377c1bed22307690eaf4592d8f818 2021-10-29 09:30:12 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:30:12 INFO [Crawler.931.saveDom] save to 20211027095159/23_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=微信.dom 2021-10-29 09:30:12 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:12 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:13 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:13 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:13 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:13 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=2 2021-10-29 09:30:13 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 24 2021-10-29 09:30:13 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:13 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:13 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:13 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:13 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:13 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:13 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:13 INFO [Crawler.598.getAvailableElement] all - clicked size=24 2021-10-29 09:30:13 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=24 2021-10-29 09:30:13 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=支付宝 by first available element 2021-10-29 09:30:13 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:13 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=支付宝 2021-10-29 09:30:13 INFO [Crawler.997.doElementAction] current index = 24 2021-10-29 09:30:13 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:13 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="支付宝" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:30:13 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:13 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:30:13 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=支付宝 2021-10-29 09:30:13 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:13 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=支付宝 2021-10-29 09:30:13 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="支付宝" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:30:13 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:14 INFO [Crawler.1080.doElementAction] mark 20211027095159/23_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=微信.clicked.png to 20211027095159/24_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=支付宝.click.png 2021-10-29 09:30:14 INFO [AppiumClient.141.mark] read from 20211027095159/23_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=微信.clicked.png 2021-10-29 09:30:14 INFO [AppiumClient.154.mark] write png 20211027095159/23_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=微信.clicked.png 2021-10-29 09:30:14 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/24_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=支付宝.click.png 2021-10-29 09:30:14 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:14 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="支付宝" and @resource-id="com.jlpay.merch:id/pay_type"]] 2021-10-29 09:30:14 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:14 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:14 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:14 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:15 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:15 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:15 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:15 INFO [Crawler.673.parsePageContext] currentContentHash=0f5377c1bed22307690eaf4592d8f818 lastContentHash=0f5377c1bed22307690eaf4592d8f818 2021-10-29 09:30:15 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:30:15 INFO [Crawler.931.saveDom] save to 20211027095159/24_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=支付宝.dom 2021-10-29 09:30:15 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:15 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:16 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:16 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:16 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:16 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=1 2021-10-29 09:30:16 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 25 2021-10-29 09:30:16 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:16 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:16 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:16 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:16 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:16 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:16 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:16 INFO [Crawler.598.getAvailableElement] all - clicked size=23 2021-10-29 09:30:16 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=23 2021-10-29 09:30:16 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=内卡借记卡 by first available element 2021-10-29 09:30:16 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:16 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=内卡借记卡 2021-10-29 09:30:16 INFO [Crawler.997.doElementAction] current index = 25 2021-10-29 09:30:16 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:16 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="内卡借记卡" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:30:16 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:16 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:30:16 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=内卡借记卡 2021-10-29 09:30:16 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:16 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=内卡借记卡 2021-10-29 09:30:16 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="内卡借记卡" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:30:16 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:16 INFO [Crawler.1080.doElementAction] mark 20211027095159/24_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=支付宝.clicked.png to 20211027095159/25_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=内卡借记卡.click.png 2021-10-29 09:30:16 INFO [AppiumClient.141.mark] read from 20211027095159/24_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=支付宝.clicked.png 2021-10-29 09:30:16 INFO [AppiumClient.154.mark] write png 20211027095159/24_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=支付宝.clicked.png 2021-10-29 09:30:16 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/25_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=内卡借记卡.click.png 2021-10-29 09:30:16 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:16 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="内卡借记卡" and @resource-id="com.jlpay.merch:id/pay_type"]] 2021-10-29 09:30:16 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:16 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:17 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:17 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:17 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:17 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:17 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:17 INFO [Crawler.673.parsePageContext] currentContentHash=0f5377c1bed22307690eaf4592d8f818 lastContentHash=0f5377c1bed22307690eaf4592d8f818 2021-10-29 09:30:17 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:30:17 INFO [Crawler.931.saveDom] save to 20211027095159/25_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=内卡借记卡.dom 2021-10-29 09:30:17 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:17 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:18 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 26 2021-10-29 09:30:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:18 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:18 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:18 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:30:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=22 2021-10-29 09:30:18 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=内卡贷记卡 by first available element 2021-10-29 09:30:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:18 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:18 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:18 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=内卡贷记卡 need skip 2021-10-29 09:30:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:18 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:18 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:18 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:18 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:30:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=21 2021-10-29 09:30:18 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联二维码 by first available element 2021-10-29 09:30:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:18 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:18 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:18 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联二维码 need skip 2021-10-29 09:30:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:18 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:18 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:18 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:18 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:30:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=20 2021-10-29 09:30:18 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=云闪付贷记卡 by first available element 2021-10-29 09:30:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:18 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:18 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:18 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=云闪付贷记卡 need skip 2021-10-29 09:30:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:18 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:18 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:18 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:18 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:30:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=19 2021-10-29 09:30:18 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=云闪付借记卡 by first available element 2021-10-29 09:30:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:19 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=云闪付借记卡 need skip 2021-10-29 09:30:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:19 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:19 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:19 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:30:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=18 2021-10-29 09:30:19 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=消费 by first available element 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:19 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=消费 need skip 2021-10-29 09:30:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:19 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:19 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:19 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:30:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=17 2021-10-29 09:30:19 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=消费撤销 by first available element 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:19 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=消费撤销 need skip 2021-10-29 09:30:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:19 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:19 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:19 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:30:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=16 2021-10-29 09:30:19 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=退货 by first available element 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:19 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=退货 need skip 2021-10-29 09:30:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:19 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:19 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:19 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:30:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=15 2021-10-29 09:30:19 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=预授权完成退款 by first available element 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:19 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=预授权完成退款 need skip 2021-10-29 09:30:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:19 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:19 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:19 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:30:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=14 2021-10-29 09:30:19 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=预授权撤销 by first available element 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:19 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=预授权撤销 need skip 2021-10-29 09:30:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:19 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:19 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:19 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:30:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=13 2021-10-29 09:30:19 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=预授权完成 by first available element 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:19 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=预授权完成 need skip 2021-10-29 09:30:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:19 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:19 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:19 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:30:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=12 2021-10-29 09:30:19 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=预授权完成撤销 by first available element 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:19 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=预授权完成撤销 need skip 2021-10-29 09:30:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:19 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:19 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:19 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:30:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=11 2021-10-29 09:30:19 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=预授权 by first available element 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:19 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=预授权 need skip 2021-10-29 09:30:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:19 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:19 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:19 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:30:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=10 2021-10-29 09:30:19 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=TextView.depth=12.id=tv_start_time.text=00:00:00 by first available element 2021-10-29 09:30:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:19 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=TextView.depth=12.id=tv_start_time.text=00:00:00 2021-10-29 09:30:19 INFO [Crawler.997.doElementAction] current index = 26 2021-10-29 09:30:19 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:19 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="00:00:00" and @resource-id="com.jlpay.merch:id/tv_start_time"] 2021-10-29 09:30:19 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:19 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:30:19 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=TextView.depth=12.id=tv_start_time.text=00:00:00 2021-10-29 09:30:19 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:19 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=TextView.depth=12.id=tv_start_time.text=00:00:00 2021-10-29 09:30:19 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="00:00:00" and @resource-id="com.jlpay.merch:id/tv_start_time"] 2021-10-29 09:30:19 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:19 INFO [Crawler.1080.doElementAction] mark 20211027095159/25_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=内卡借记卡.clicked.png to 20211027095159/26_SelectBillTypeActivity.tag=TextView.depth=12.id=tv_start_time.text=00:00:00.click.png 2021-10-29 09:30:19 INFO [AppiumClient.141.mark] read from 20211027095159/25_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=内卡借记卡.clicked.png 2021-10-29 09:30:19 INFO [AppiumClient.154.mark] write png 20211027095159/25_SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=内卡借记卡.clicked.png 2021-10-29 09:30:19 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/26_SelectBillTypeActivity.tag=TextView.depth=12.id=tv_start_time.text=00:00:00.click.png 2021-10-29 09:30:19 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:19 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="00:00:00" and @resource-id="com.jlpay.merch:id/tv_start_time"]] 2021-10-29 09:30:20 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:20 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:20 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:20 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:21 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:21 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:21 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:21 INFO [Crawler.673.parsePageContext] currentContentHash=f065b78e9932433c376754a350b4e310 lastContentHash=0f5377c1bed22307690eaf4592d8f818 2021-10-29 09:30:21 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:30:21 INFO [Crawler.931.saveDom] save to 20211027095159/26_SelectBillTypeActivity.tag=TextView.depth=12.id=tv_start_time.text=00:00:00.dom 2021-10-29 09:30:21 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:21 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:22 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:22 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:22 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:22 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:30:22 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 27 2021-10-29 09:30:22 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:22 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:22 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:22 INFO [Crawler.487.getAvailableElement] selected nodes size = 30 2021-10-29 09:30:22 INFO [Crawler.499.getAvailableElement] all - black elements size = 30 2021-10-29 09:30:22 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 30 2021-10-29 09:30:22 INFO [Crawler.590.getAvailableElement] all - backButton size=29 2021-10-29 09:30:22 INFO [Crawler.598.getAvailableElement] all - clicked size=23 2021-10-29 09:30:22 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=11 2021-10-29 09:30:22 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=TextView.depth=12.id=tv_end_time.text=23:59:59 by first available element 2021-10-29 09:30:22 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:22 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=TextView.depth=12.id=tv_end_time.text=23:59:59 2021-10-29 09:30:22 INFO [Crawler.997.doElementAction] current index = 27 2021-10-29 09:30:22 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:22 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="23:59:59" and @resource-id="com.jlpay.merch:id/tv_end_time"] 2021-10-29 09:30:22 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:22 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:30:22 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=TextView.depth=12.id=tv_end_time.text=23:59:59 2021-10-29 09:30:22 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:22 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=TextView.depth=12.id=tv_end_time.text=23:59:59 2021-10-29 09:30:22 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="23:59:59" and @resource-id="com.jlpay.merch:id/tv_end_time"] 2021-10-29 09:30:22 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:22 INFO [Crawler.1080.doElementAction] mark 20211027095159/26_SelectBillTypeActivity.tag=TextView.depth=12.id=tv_start_time.text=00:00:00.clicked.png to 20211027095159/27_SelectBillTypeActivity.tag=TextView.depth=12.id=tv_end_time.text=23:59:59.click.png 2021-10-29 09:30:22 INFO [AppiumClient.141.mark] read from 20211027095159/26_SelectBillTypeActivity.tag=TextView.depth=12.id=tv_start_time.text=00:00:00.clicked.png 2021-10-29 09:30:22 INFO [AppiumClient.154.mark] write png 20211027095159/26_SelectBillTypeActivity.tag=TextView.depth=12.id=tv_start_time.text=00:00:00.clicked.png 2021-10-29 09:30:22 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/27_SelectBillTypeActivity.tag=TextView.depth=12.id=tv_end_time.text=23:59:59.click.png 2021-10-29 09:30:22 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:22 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="23:59:59" and @resource-id="com.jlpay.merch:id/tv_end_time"]] 2021-10-29 09:30:22 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:22 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:23 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:23 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:23 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:23 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:24 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:24 INFO [Crawler.673.parsePageContext] currentContentHash=0f5377c1bed22307690eaf4592d8f818 lastContentHash=f065b78e9932433c376754a350b4e310 2021-10-29 09:30:24 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:30:24 INFO [Crawler.931.saveDom] save to 20211027095159/27_SelectBillTypeActivity.tag=TextView.depth=12.id=tv_end_time.text=23:59:59.dom 2021-10-29 09:30:24 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:24 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:24 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:24 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:24 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:24 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:30:24 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 28 2021-10-29 09:30:24 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:24 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:24 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:24 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:24 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:24 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:24 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:24 INFO [Crawler.598.getAvailableElement] all - clicked size=20 2021-10-29 09:30:24 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:30:24 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=展开 by first available element 2021-10-29 09:30:24 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:24 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=展开 2021-10-29 09:30:24 INFO [Crawler.997.doElementAction] current index = 28 2021-10-29 09:30:24 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:24 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="展开" and @resource-id="com.jlpay.merch:id/tv_pay_type_unfold"] 2021-10-29 09:30:24 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:24 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:30:24 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=展开 2021-10-29 09:30:24 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:24 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=展开 2021-10-29 09:30:24 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="展开" and @resource-id="com.jlpay.merch:id/tv_pay_type_unfold"] 2021-10-29 09:30:25 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:25 INFO [Crawler.1080.doElementAction] mark 20211027095159/27_SelectBillTypeActivity.tag=TextView.depth=12.id=tv_end_time.text=23:59:59.clicked.png to 20211027095159/28_SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=展开.click.png 2021-10-29 09:30:25 INFO [AppiumClient.141.mark] read from 20211027095159/27_SelectBillTypeActivity.tag=TextView.depth=12.id=tv_end_time.text=23:59:59.clicked.png 2021-10-29 09:30:25 INFO [AppiumClient.154.mark] write png 20211027095159/27_SelectBillTypeActivity.tag=TextView.depth=12.id=tv_end_time.text=23:59:59.clicked.png 2021-10-29 09:30:25 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/28_SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=展开.click.png 2021-10-29 09:30:25 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:25 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="展开" and @resource-id="com.jlpay.merch:id/tv_pay_type_unfold"]] 2021-10-29 09:30:25 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:25 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:25 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:25 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:26 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:26 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:26 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:26 INFO [Crawler.673.parsePageContext] currentContentHash=f99cdc03a9cbcc391753f3dc8509e245 lastContentHash=0f5377c1bed22307690eaf4592d8f818 2021-10-29 09:30:26 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:30:26 INFO [Crawler.931.saveDom] save to 20211027095159/28_SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=展开.dom 2021-10-29 09:30:26 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:26 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:27 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:27 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:27 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:27 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:30:27 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 29 2021-10-29 09:30:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:27 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:27 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:27 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=18 2021-10-29 09:30:27 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联二维码借记卡 by first available element 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:27 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联二维码借记卡 need skip 2021-10-29 09:30:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:27 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:27 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:27 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=17 2021-10-29 09:30:27 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=会员消费 by first available element 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:27 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=会员消费 need skip 2021-10-29 09:30:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:27 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:27 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:27 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=16 2021-10-29 09:30:27 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=外卡借记卡 by first available element 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:27 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=外卡借记卡 need skip 2021-10-29 09:30:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:27 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:27 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:27 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=15 2021-10-29 09:30:27 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=外卡贷记卡 by first available element 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:27 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=外卡贷记卡 need skip 2021-10-29 09:30:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:27 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:27 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:27 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=14 2021-10-29 09:30:27 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=外卡DCC by first available element 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:27 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=外卡DCC need skip 2021-10-29 09:30:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:27 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:27 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:27 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=13 2021-10-29 09:30:27 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=外卡EDC by first available element 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:27 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=外卡EDC need skip 2021-10-29 09:30:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:27 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:27 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:27 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=12 2021-10-29 09:30:27 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=外卡EDC-VM by first available element 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:27 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=外卡EDC-VM need skip 2021-10-29 09:30:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:27 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:27 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:27 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=11 2021-10-29 09:30:27 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=QQ支付 by first available element 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:27 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=QQ支付 need skip 2021-10-29 09:30:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:27 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:27 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:27 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=10 2021-10-29 09:30:27 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联人脸借记卡 by first available element 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:27 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联人脸借记卡 need skip 2021-10-29 09:30:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:27 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:27 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:27 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:30:27 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联分期码3期 by first available element 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:27 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联分期码3期 need skip 2021-10-29 09:30:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:27 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:27 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:28 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:28 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:28 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:28 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:28 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:30:28 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联分期码6期 by first available element 2021-10-29 09:30:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:28 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:28 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:28 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联分期码6期 need skip 2021-10-29 09:30:28 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:28 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:28 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:28 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:28 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:28 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:28 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:28 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:28 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:28 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:30:28 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联人脸贷记卡 by first available element 2021-10-29 09:30:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:28 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:28 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:28 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联人脸贷记卡 need skip 2021-10-29 09:30:28 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:28 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:28 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:28 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:28 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:28 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:28 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:28 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:28 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:28 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:30:28 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联分期码12期 by first available element 2021-10-29 09:30:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:28 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:28 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:28 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联分期码12期 need skip 2021-10-29 09:30:28 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:28 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:28 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:28 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:28 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:28 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:28 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:28 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:28 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:28 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:30:28 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联分期码24期 by first available element 2021-10-29 09:30:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:28 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:28 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:30:28 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTypeActivity.tag=CheckBox.depth=13.id=pay_type.text=银联分期码24期 need skip 2021-10-29 09:30:28 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:28 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:30:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:28 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:28 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:28 INFO [Crawler.487.getAvailableElement] selected nodes size = 33 2021-10-29 09:30:28 INFO [Crawler.499.getAvailableElement] all - black elements size = 33 2021-10-29 09:30:28 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 33 2021-10-29 09:30:28 INFO [Crawler.590.getAvailableElement] all - backButton size=32 2021-10-29 09:30:28 INFO [Crawler.598.getAvailableElement] all - clicked size=25 2021-10-29 09:30:28 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:30:28 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=收起 by first available element 2021-10-29 09:30:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:28 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=收起 2021-10-29 09:30:28 INFO [Crawler.997.doElementAction] current index = 29 2021-10-29 09:30:28 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:28 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="收起" and @resource-id="com.jlpay.merch:id/tv_pay_type_unfold"] 2021-10-29 09:30:28 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:28 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:30:28 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=收起 2021-10-29 09:30:28 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:28 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=收起 2021-10-29 09:30:28 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="收起" and @resource-id="com.jlpay.merch:id/tv_pay_type_unfold"] 2021-10-29 09:30:28 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:28 INFO [Crawler.1080.doElementAction] mark 20211027095159/28_SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=展开.clicked.png to 20211027095159/29_SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=收起.click.png 2021-10-29 09:30:28 INFO [AppiumClient.141.mark] read from 20211027095159/28_SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=展开.clicked.png 2021-10-29 09:30:28 INFO [AppiumClient.154.mark] write png 20211027095159/28_SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=展开.clicked.png 2021-10-29 09:30:28 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/29_SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=收起.click.png 2021-10-29 09:30:28 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:28 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="收起" and @resource-id="com.jlpay.merch:id/tv_pay_type_unfold"]] 2021-10-29 09:30:28 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:28 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:29 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:29 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:29 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:29 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:29 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:29 INFO [Crawler.673.parsePageContext] currentContentHash=0f5377c1bed22307690eaf4592d8f818 lastContentHash=f99cdc03a9cbcc391753f3dc8509e245 2021-10-29 09:30:29 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:30:29 INFO [Crawler.931.saveDom] save to 20211027095159/29_SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=收起.dom 2021-10-29 09:30:30 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:30 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:30 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:30 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:30 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:30 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:30:30 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 30 2021-10-29 09:30:30 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:30 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:30 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:30 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:30 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:30 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:30 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:30 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:30:30 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:30:30 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_all.text=全部 by first available element 2021-10-29 09:30:30 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:30 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_all.text=全部 2021-10-29 09:30:30 INFO [Crawler.997.doElementAction] current index = 30 2021-10-29 09:30:30 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:30 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/tv_deal_status_all"] 2021-10-29 09:30:30 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:30 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:30:30 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_all.text=全部 2021-10-29 09:30:30 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:30 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_all.text=全部 2021-10-29 09:30:30 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/tv_deal_status_all"] 2021-10-29 09:30:31 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:31 INFO [Crawler.1080.doElementAction] mark 20211027095159/29_SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=收起.clicked.png to 20211027095159/30_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_all.text=全部.click.png 2021-10-29 09:30:31 INFO [AppiumClient.141.mark] read from 20211027095159/29_SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=收起.clicked.png 2021-10-29 09:30:31 INFO [AppiumClient.154.mark] write png 20211027095159/29_SelectBillTypeActivity.tag=TextView.depth=11.id=tv_pay_type_unfold.text=收起.clicked.png 2021-10-29 09:30:31 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/30_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_all.text=全部.click.png 2021-10-29 09:30:31 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:31 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/tv_deal_status_all"]] 2021-10-29 09:30:32 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:32 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:32 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:32 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:32 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:32 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:32 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:32 INFO [Crawler.673.parsePageContext] currentContentHash=0f5377c1bed22307690eaf4592d8f818 lastContentHash=0f5377c1bed22307690eaf4592d8f818 2021-10-29 09:30:32 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:30:32 INFO [Crawler.931.saveDom] save to 20211027095159/30_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_all.text=全部.dom 2021-10-29 09:30:33 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:33 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:33 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:33 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:33 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:33 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=3 2021-10-29 09:30:33 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 31 2021-10-29 09:30:33 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:33 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:33 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:33 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:33 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:33 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:33 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:33 INFO [Crawler.598.getAvailableElement] all - clicked size=18 2021-10-29 09:30:33 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:30:33 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_unpaid.text=处理中 by first available element 2021-10-29 09:30:33 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:33 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_unpaid.text=处理中 2021-10-29 09:30:33 INFO [Crawler.997.doElementAction] current index = 31 2021-10-29 09:30:33 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:33 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="处理中" and @resource-id="com.jlpay.merch:id/tv_deal_status_unpaid"] 2021-10-29 09:30:33 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:33 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:30:33 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_unpaid.text=处理中 2021-10-29 09:30:33 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:33 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_unpaid.text=处理中 2021-10-29 09:30:33 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="处理中" and @resource-id="com.jlpay.merch:id/tv_deal_status_unpaid"] 2021-10-29 09:30:33 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:33 INFO [Crawler.1080.doElementAction] mark 20211027095159/30_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_all.text=全部.clicked.png to 20211027095159/31_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_unpaid.text=处理中.click.png 2021-10-29 09:30:33 INFO [AppiumClient.141.mark] read from 20211027095159/30_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_all.text=全部.clicked.png 2021-10-29 09:30:34 INFO [AppiumClient.154.mark] write png 20211027095159/30_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_all.text=全部.clicked.png 2021-10-29 09:30:34 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/31_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_unpaid.text=处理中.click.png 2021-10-29 09:30:34 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:34 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="处理中" and @resource-id="com.jlpay.merch:id/tv_deal_status_unpaid"]] 2021-10-29 09:30:34 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:34 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:35 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:35 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:35 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:35 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:35 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:35 INFO [Crawler.673.parsePageContext] currentContentHash=0f5377c1bed22307690eaf4592d8f818 lastContentHash=0f5377c1bed22307690eaf4592d8f818 2021-10-29 09:30:35 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:30:35 INFO [Crawler.931.saveDom] save to 20211027095159/31_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_unpaid.text=处理中.dom 2021-10-29 09:30:35 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:35 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:36 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:36 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:36 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:36 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=2 2021-10-29 09:30:36 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 32 2021-10-29 09:30:36 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:36 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:36 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:36 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:36 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:36 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:36 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:36 INFO [Crawler.598.getAvailableElement] all - clicked size=17 2021-10-29 09:30:36 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:30:36 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_success.text=成功 by first available element 2021-10-29 09:30:36 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:36 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_success.text=成功 2021-10-29 09:30:36 INFO [Crawler.997.doElementAction] current index = 32 2021-10-29 09:30:36 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:36 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="成功" and @resource-id="com.jlpay.merch:id/tv_deal_status_success"] 2021-10-29 09:30:36 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:36 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:30:36 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_success.text=成功 2021-10-29 09:30:36 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:36 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_success.text=成功 2021-10-29 09:30:36 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="成功" and @resource-id="com.jlpay.merch:id/tv_deal_status_success"] 2021-10-29 09:30:37 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:37 INFO [Crawler.1080.doElementAction] mark 20211027095159/31_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_unpaid.text=处理中.clicked.png to 20211027095159/32_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_success.text=成功.click.png 2021-10-29 09:30:37 INFO [AppiumClient.141.mark] read from 20211027095159/31_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_unpaid.text=处理中.clicked.png 2021-10-29 09:30:37 INFO [AppiumClient.154.mark] write png 20211027095159/31_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_unpaid.text=处理中.clicked.png 2021-10-29 09:30:37 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/32_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_success.text=成功.click.png 2021-10-29 09:30:37 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:37 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="成功" and @resource-id="com.jlpay.merch:id/tv_deal_status_success"]] 2021-10-29 09:30:38 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:38 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:38 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:38 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:38 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:38 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:39 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:39 INFO [Crawler.673.parsePageContext] currentContentHash=0f5377c1bed22307690eaf4592d8f818 lastContentHash=0f5377c1bed22307690eaf4592d8f818 2021-10-29 09:30:39 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:30:39 INFO [Crawler.931.saveDom] save to 20211027095159/32_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_success.text=成功.dom 2021-10-29 09:30:39 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:39 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:39 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:39 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:39 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:39 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=1 2021-10-29 09:30:39 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 33 2021-10-29 09:30:39 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:39 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:39 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:39 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:39 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:39 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:39 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:39 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:30:39 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:30:39 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_fail.text=失败 by first available element 2021-10-29 09:30:39 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:39 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_fail.text=失败 2021-10-29 09:30:39 INFO [Crawler.997.doElementAction] current index = 33 2021-10-29 09:30:39 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:39 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="失败" and @resource-id="com.jlpay.merch:id/tv_deal_status_fail"] 2021-10-29 09:30:39 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:39 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:30:39 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_fail.text=失败 2021-10-29 09:30:39 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:39 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_fail.text=失败 2021-10-29 09:30:39 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="失败" and @resource-id="com.jlpay.merch:id/tv_deal_status_fail"] 2021-10-29 09:30:39 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:40 INFO [Crawler.1080.doElementAction] mark 20211027095159/32_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_success.text=成功.clicked.png to 20211027095159/33_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_fail.text=失败.click.png 2021-10-29 09:30:40 INFO [AppiumClient.141.mark] read from 20211027095159/32_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_success.text=成功.clicked.png 2021-10-29 09:30:40 INFO [AppiumClient.154.mark] write png 20211027095159/32_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_success.text=成功.clicked.png 2021-10-29 09:30:40 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/33_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_fail.text=失败.click.png 2021-10-29 09:30:40 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:40 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="失败" and @resource-id="com.jlpay.merch:id/tv_deal_status_fail"]] 2021-10-29 09:30:40 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:40 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:41 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:41 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:41 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:41 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:41 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:41 INFO [Crawler.673.parsePageContext] currentContentHash=0f5377c1bed22307690eaf4592d8f818 lastContentHash=0f5377c1bed22307690eaf4592d8f818 2021-10-29 09:30:41 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:30:41 INFO [Crawler.931.saveDom] save to 20211027095159/33_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_fail.text=失败.dom 2021-10-29 09:30:41 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:41 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:42 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:42 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:42 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:42 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:30:42 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 34 2021-10-29 09:30:42 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:42 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:42 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:42 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:42 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:42 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:42 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:42 INFO [Crawler.598.getAvailableElement] all - clicked size=15 2021-10-29 09:30:42 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:30:42 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:30:42 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:42 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:30:42 INFO [Crawler.997.doElementAction] current index = 34 2021-10-29 09:30:42 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:42 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/title_container"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:30:42 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:42 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:30:42 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:30:42 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:42 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:30:42 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/title_container"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:30:43 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:43 INFO [Crawler.1080.doElementAction] mark 20211027095159/33_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_fail.text=失败.clicked.png to 20211027095159/34_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:30:43 INFO [AppiumClient.141.mark] read from 20211027095159/33_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_fail.text=失败.clicked.png 2021-10-29 09:30:43 INFO [AppiumClient.154.mark] write png 20211027095159/33_SelectBillTypeActivity.tag=CheckBox.depth=11.id=tv_deal_status_fail.text=失败.clicked.png 2021-10-29 09:30:43 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/34_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:30:43 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:43 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/title_container"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:30:43 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:43 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:44 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:44 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:44 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:44 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:44 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:44 INFO [Crawler.673.parsePageContext] currentContentHash=0f5377c1bed22307690eaf4592d8f818 lastContentHash=0f5377c1bed22307690eaf4592d8f818 2021-10-29 09:30:44 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:30:44 INFO [Crawler.931.saveDom] save to 20211027095159/34_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:30:44 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:44 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:45 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:45 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:45 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:45 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:30:45 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 35 2021-10-29 09:30:45 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:45 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:45 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:45 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:45 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:45 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:45 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:45 INFO [Crawler.598.getAvailableElement] all - clicked size=14 2021-10-29 09:30:45 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:30:45 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置 by first available element 2021-10-29 09:30:45 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:45 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置 2021-10-29 09:30:45 INFO [Crawler.997.doElementAction] current index = 35 2021-10-29 09:30:45 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:45 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_bottom"]//*[@text="重置" and @resource-id="com.jlpay.merch:id/tv_reset"] 2021-10-29 09:30:45 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:45 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:30:45 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置 2021-10-29 09:30:45 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:45 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置 2021-10-29 09:30:45 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_bottom"]//*[@text="重置" and @resource-id="com.jlpay.merch:id/tv_reset"] 2021-10-29 09:30:45 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:45 INFO [Crawler.1080.doElementAction] mark 20211027095159/34_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/35_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置.click.png 2021-10-29 09:30:45 INFO [AppiumClient.141.mark] read from 20211027095159/34_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:30:45 INFO [AppiumClient.154.mark] write png 20211027095159/34_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:30:45 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/35_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置.click.png 2021-10-29 09:30:45 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:45 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_bottom"]//*[@text="重置" and @resource-id="com.jlpay.merch:id/tv_reset"]] 2021-10-29 09:30:45 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:45 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:46 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:46 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:46 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:46 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:46 INFO [Crawler.649.parsePageContext] url=SelectBillTypeActivity 2021-10-29 09:30:46 INFO [Crawler.673.parsePageContext] currentContentHash=0f5377c1bed22307690eaf4592d8f818 lastContentHash=0f5377c1bed22307690eaf4592d8f818 2021-10-29 09:30:46 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:30:46 INFO [Crawler.931.saveDom] save to 20211027095159/35_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置.dom 2021-10-29 09:30:46 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:46 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:47 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:47 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:47 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:47 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:30:47 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 36 2021-10-29 09:30:47 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:47 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTypeActivity, BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:47 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:47 INFO [Crawler.487.getAvailableElement] selected nodes size = 28 2021-10-29 09:30:47 INFO [Crawler.499.getAvailableElement] all - black elements size = 28 2021-10-29 09:30:47 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 28 2021-10-29 09:30:47 INFO [Crawler.590.getAvailableElement] all - backButton size=27 2021-10-29 09:30:47 INFO [Crawler.598.getAvailableElement] all - clicked size=13 2021-10-29 09:30:47 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:30:47 INFO [Crawler.843.crawl] found SelectBillTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定 by first available element 2021-10-29 09:30:47 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:47 INFO [Crawler.996.doElementAction] current element = SelectBillTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定 2021-10-29 09:30:47 INFO [Crawler.997.doElementAction] current index = 36 2021-10-29 09:30:47 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:47 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_bottom"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/tv_ok"] 2021-10-29 09:30:47 INFO [Crawler.1000.doElementAction] current url = SelectBillTypeActivity 2021-10-29 09:30:47 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:30:47 INFO [Crawler.1002.doElementAction] current file name = SelectBillTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定 2021-10-29 09:30:47 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:47 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定 2021-10-29 09:30:47 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_bottom"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/tv_ok"] 2021-10-29 09:30:47 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:47 INFO [Crawler.1080.doElementAction] mark 20211027095159/35_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置.clicked.png to 20211027095159/36_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定.click.png 2021-10-29 09:30:47 INFO [AppiumClient.141.mark] read from 20211027095159/35_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置.clicked.png 2021-10-29 09:30:47 INFO [AppiumClient.154.mark] write png 20211027095159/35_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置.clicked.png 2021-10-29 09:30:47 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/36_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定.click.png 2021-10-29 09:30:47 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:47 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_bottom"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/tv_ok"]] 2021-10-29 09:30:48 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:48 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:48 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:48 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:49 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:49 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:50 INFO [Crawler.649.parsePageContext] url=BillActivity 2021-10-29 09:30:50 INFO [Crawler.673.parsePageContext] currentContentHash=66cf7b4d248f3cdadcae1088cf7e282a lastContentHash=0f5377c1bed22307690eaf4592d8f818 2021-10-29 09:30:50 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:30:50 INFO [Crawler.931.saveDom] save to 20211027095159/36_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定.dom 2021-10-29 09:30:50 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:50 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:50 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:50 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:50 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:50 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 37 2021-10-29 09:30:50 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:50 INFO [Crawler.425.needReturn] urlStack=Stack(BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:50 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:50 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:30:50 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:30:50 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:30:50 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:30:50 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:30:50 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:30:50 INFO [Crawler.843.crawl] found BillActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:30:50 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:50 INFO [Crawler.996.doElementAction] current element = BillActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:30:50 INFO [Crawler.997.doElementAction] current index = 37 2021-10-29 09:30:50 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:50 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:30:50 INFO [Crawler.1000.doElementAction] current url = BillActivity 2021-10-29 09:30:50 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:30:50 INFO [Crawler.1002.doElementAction] current file name = BillActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:30:50 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:50 INFO [AppiumClient.53.findElementByURI] find by uri element= BillActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:30:50 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:30:50 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:51 INFO [Crawler.1080.doElementAction] mark 20211027095159/36_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定.clicked.png to 20211027095159/37_BillActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:30:51 INFO [AppiumClient.141.mark] read from 20211027095159/36_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定.clicked.png 2021-10-29 09:30:51 INFO [AppiumClient.154.mark] write png 20211027095159/36_SelectBillTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定.clicked.png 2021-10-29 09:30:51 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/37_BillActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:30:51 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:51 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:30:51 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:51 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:51 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:51 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:51 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:51 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:52 INFO [Crawler.649.parsePageContext] url=BillActivity 2021-10-29 09:30:52 INFO [Crawler.673.parsePageContext] currentContentHash=ca6f5ea83dde0b46858f153ab54c8312 lastContentHash=66cf7b4d248f3cdadcae1088cf7e282a 2021-10-29 09:30:52 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:30:52 INFO [Crawler.931.saveDom] save to 20211027095159/37_BillActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:30:52 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:52 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:52 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:52 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:52 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:52 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[BillActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:30:52 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 38 2021-10-29 09:30:52 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:52 INFO [Crawler.425.needReturn] urlStack=Stack(BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:52 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:52 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:30:52 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:30:52 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:30:52 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:30:52 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:30:52 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:30:52 INFO [Crawler.851.crawl] BillActivity all elements had be clicked 2021-10-29 09:30:52 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:30:52 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:30:52 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:52 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:30:52 INFO [Crawler.996.doElementAction] current element = BillActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:30:52 INFO [Crawler.997.doElementAction] current index = 38 2021-10-29 09:30:52 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:52 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:30:52 INFO [Crawler.1000.doElementAction] current url = BillActivity 2021-10-29 09:30:52 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:30:52 INFO [Crawler.1002.doElementAction] current file name = BillActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:30:52 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:52 INFO [AppiumClient.53.findElementByURI] find by uri element= BillActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:30:52 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:30:52 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:52 INFO [Crawler.1080.doElementAction] mark 20211027095159/37_BillActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/38_BillActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:30:52 INFO [AppiumClient.141.mark] read from 20211027095159/37_BillActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:30:52 INFO [AppiumClient.154.mark] write png 20211027095159/37_BillActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:30:52 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/38_BillActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:30:53 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:53 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:30:53 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:53 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:53 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:53 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:54 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:54 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:54 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:30:54 INFO [Crawler.673.parsePageContext] currentContentHash=58ae14078ff315c6eaa6ac3e6e30744c lastContentHash=ca6f5ea83dde0b46858f153ab54c8312 2021-10-29 09:30:54 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:30:54 INFO [Crawler.931.saveDom] save to 20211027095159/38_BillActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:30:54 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:54 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:55 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:55 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:55 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:55 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 39 2021-10-29 09:30:55 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:55 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:55 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:55 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:30:55 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:30:55 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:30:55 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:30:55 INFO [Crawler.598.getAvailableElement] all - clicked size=13 2021-10-29 09:30:55 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=13 2021-10-29 09:30:55 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=17.text=统计 by first available element 2021-10-29 09:30:55 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:55 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=17.text=统计 2021-10-29 09:30:55 INFO [Crawler.997.doElementAction] current index = 39 2021-10-29 09:30:55 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:55 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_header_layout"]//*[@resource-id="com.jlpay.merch:id/rl_total"]//*[@text="统计"] 2021-10-29 09:30:55 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:30:55 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:30:55 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=17.text=统计 2021-10-29 09:30:55 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:55 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=17.text=统计 2021-10-29 09:30:55 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_header_layout"]//*[@resource-id="com.jlpay.merch:id/rl_total"]//*[@text="统计"] 2021-10-29 09:30:55 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:55 INFO [Crawler.1080.doElementAction] mark 20211027095159/38_BillActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/39_MainActivity.tag=TextView.depth=17.text=统计.click.png 2021-10-29 09:30:55 INFO [AppiumClient.141.mark] read from 20211027095159/38_BillActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:30:55 INFO [AppiumClient.154.mark] write png 20211027095159/38_BillActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:30:55 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/39_MainActivity.tag=TextView.depth=17.text=统计.click.png 2021-10-29 09:30:55 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:55 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_header_layout"]//*[@resource-id="com.jlpay.merch:id/rl_total"]//*[@text="统计"]] 2021-10-29 09:30:55 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:55 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:56 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:56 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:56 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:56 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:56 INFO [Crawler.649.parsePageContext] url=BillTotalActivity 2021-10-29 09:30:56 INFO [Crawler.673.parsePageContext] currentContentHash=25c6db405aa897f3936c2c4b4e3441d7 lastContentHash=58ae14078ff315c6eaa6ac3e6e30744c 2021-10-29 09:30:56 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:30:56 INFO [Crawler.931.saveDom] save to 20211027095159/39_MainActivity.tag=TextView.depth=17.text=统计.dom 2021-10-29 09:30:57 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:57 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:57 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:57 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:57 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:57 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 40 2021-10-29 09:30:57 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:57 INFO [Crawler.425.needReturn] urlStack=Stack(BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:57 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:57 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:30:57 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:30:57 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:30:57 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:30:57 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:30:57 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:30:57 INFO [Crawler.843.crawl] found BillTotalActivity.tag=TextView.depth=16.id=tv_select.text=筛选 by first available element 2021-10-29 09:30:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:57 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[BillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab]=20 2021-10-29 09:30:57 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[BillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=20 2021-10-29 09:30:57 INFO [Crawler.996.doElementAction] current element = BillTotalActivity.tag=TextView.depth=16.id=tv_select.text=筛选 2021-10-29 09:30:57 INFO [Crawler.997.doElementAction] current index = 40 2021-10-29 09:30:57 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:57 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="筛选" and @resource-id="com.jlpay.merch:id/tv_select"] 2021-10-29 09:30:57 INFO [Crawler.1000.doElementAction] current url = BillTotalActivity 2021-10-29 09:30:57 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:30:57 INFO [Crawler.1002.doElementAction] current file name = BillTotalActivity.tag=TextView.depth=16.id=tv_select.text=筛选 2021-10-29 09:30:57 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:57 INFO [AppiumClient.53.findElementByURI] find by uri element= BillTotalActivity.tag=TextView.depth=16.id=tv_select.text=筛选 2021-10-29 09:30:57 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="筛选" and @resource-id="com.jlpay.merch:id/tv_select"] 2021-10-29 09:30:57 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:30:57 INFO [Crawler.1080.doElementAction] mark 20211027095159/39_MainActivity.tag=TextView.depth=17.text=统计.clicked.png to 20211027095159/40_BillTotalActivity.tag=TextView.depth=16.id=tv_select.text=筛选.click.png 2021-10-29 09:30:57 INFO [AppiumClient.141.mark] read from 20211027095159/39_MainActivity.tag=TextView.depth=17.text=统计.clicked.png 2021-10-29 09:30:57 INFO [AppiumClient.154.mark] write png 20211027095159/39_MainActivity.tag=TextView.depth=17.text=统计.clicked.png 2021-10-29 09:30:57 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/40_BillTotalActivity.tag=TextView.depth=16.id=tv_select.text=筛选.click.png 2021-10-29 09:30:57 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:30:57 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="筛选" and @resource-id="com.jlpay.merch:id/tv_select"]] 2021-10-29 09:30:57 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:30:57 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:30:58 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:30:58 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:30:58 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:30:58 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:30:58 INFO [Crawler.649.parsePageContext] url=SelectBillTotalActivity 2021-10-29 09:30:58 INFO [Crawler.673.parsePageContext] currentContentHash=9a0f4254aba1e818f6fd83a23a911ecd lastContentHash=25c6db405aa897f3936c2c4b4e3441d7 2021-10-29 09:30:58 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:30:58 INFO [Crawler.931.saveDom] save to 20211027095159/40_BillTotalActivity.tag=TextView.depth=16.id=tv_select.text=筛选.dom 2021-10-29 09:30:59 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:30:59 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:30:59 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:30:59 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:30:59 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:30:59 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 41 2021-10-29 09:30:59 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:30:59 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:30:59 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:30:59 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:30:59 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:30:59 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:30:59 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:30:59 INFO [Crawler.598.getAvailableElement] all - clicked size=14 2021-10-29 09:30:59 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=14 2021-10-29 09:30:59 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=全部 by first available element 2021-10-29 09:30:59 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:30:59 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab]=20 2021-10-29 09:30:59 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=20 2021-10-29 09:30:59 INFO [Crawler.996.doElementAction] current element = SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=全部 2021-10-29 09:30:59 INFO [Crawler.997.doElementAction] current index = 41 2021-10-29 09:30:59 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:30:59 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@resource-id="com.jlpay.merch:id/rv_pay_type"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:30:59 INFO [Crawler.1000.doElementAction] current url = SelectBillTotalActivity 2021-10-29 09:30:59 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:30:59 INFO [Crawler.1002.doElementAction] current file name = SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=全部 2021-10-29 09:30:59 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:30:59 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=全部 2021-10-29 09:30:59 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@resource-id="com.jlpay.merch:id/rv_pay_type"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:31:00 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:00 INFO [Crawler.1080.doElementAction] mark 20211027095159/40_BillTotalActivity.tag=TextView.depth=16.id=tv_select.text=筛选.clicked.png to 20211027095159/41_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=全部.click.png 2021-10-29 09:31:00 INFO [AppiumClient.141.mark] read from 20211027095159/40_BillTotalActivity.tag=TextView.depth=16.id=tv_select.text=筛选.clicked.png 2021-10-29 09:31:00 INFO [AppiumClient.154.mark] write png 20211027095159/40_BillTotalActivity.tag=TextView.depth=16.id=tv_select.text=筛选.clicked.png 2021-10-29 09:31:00 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/41_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=全部.click.png 2021-10-29 09:31:00 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:00 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@resource-id="com.jlpay.merch:id/rv_pay_type"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/pay_type"]] 2021-10-29 09:31:00 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:00 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:00 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:00 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:01 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:01 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:01 INFO [Crawler.649.parsePageContext] url=SelectBillTotalActivity 2021-10-29 09:31:01 INFO [Crawler.673.parsePageContext] currentContentHash=9a0f4254aba1e818f6fd83a23a911ecd lastContentHash=9a0f4254aba1e818f6fd83a23a911ecd 2021-10-29 09:31:01 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:31:01 INFO [Crawler.931.saveDom] save to 20211027095159/41_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=全部.dom 2021-10-29 09:31:01 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:01 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:02 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:02 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:02 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:02 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=3 2021-10-29 09:31:02 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 42 2021-10-29 09:31:02 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:02 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:02 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:02 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:31:02 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:31:02 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:31:02 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:31:02 INFO [Crawler.598.getAvailableElement] all - clicked size=13 2021-10-29 09:31:02 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=13 2021-10-29 09:31:02 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=微信 by first available element 2021-10-29 09:31:02 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:02 INFO [Crawler.996.doElementAction] current element = SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=微信 2021-10-29 09:31:02 INFO [Crawler.997.doElementAction] current index = 42 2021-10-29 09:31:02 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:02 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@resource-id="com.jlpay.merch:id/rv_pay_type"]//*[@text="微信" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:31:02 INFO [Crawler.1000.doElementAction] current url = SelectBillTotalActivity 2021-10-29 09:31:02 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:31:02 INFO [Crawler.1002.doElementAction] current file name = SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=微信 2021-10-29 09:31:02 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:02 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=微信 2021-10-29 09:31:02 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@resource-id="com.jlpay.merch:id/rv_pay_type"]//*[@text="微信" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:31:02 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:02 INFO [Crawler.1080.doElementAction] mark 20211027095159/41_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=全部.clicked.png to 20211027095159/42_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=微信.click.png 2021-10-29 09:31:02 INFO [AppiumClient.141.mark] read from 20211027095159/41_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=全部.clicked.png 2021-10-29 09:31:02 INFO [AppiumClient.154.mark] write png 20211027095159/41_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=全部.clicked.png 2021-10-29 09:31:02 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/42_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=微信.click.png 2021-10-29 09:31:02 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:02 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@resource-id="com.jlpay.merch:id/rv_pay_type"]//*[@text="微信" and @resource-id="com.jlpay.merch:id/pay_type"]] 2021-10-29 09:31:02 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:02 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:03 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:03 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:03 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:03 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:03 INFO [Crawler.649.parsePageContext] url=SelectBillTotalActivity 2021-10-29 09:31:03 INFO [Crawler.673.parsePageContext] currentContentHash=9a0f4254aba1e818f6fd83a23a911ecd lastContentHash=9a0f4254aba1e818f6fd83a23a911ecd 2021-10-29 09:31:03 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:31:03 INFO [Crawler.931.saveDom] save to 20211027095159/42_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=微信.dom 2021-10-29 09:31:03 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:03 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:04 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:04 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:04 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:04 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=2 2021-10-29 09:31:04 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 43 2021-10-29 09:31:04 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:04 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:04 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:04 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:31:04 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:31:04 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:31:04 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:31:04 INFO [Crawler.598.getAvailableElement] all - clicked size=12 2021-10-29 09:31:04 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=12 2021-10-29 09:31:04 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=支付宝 by first available element 2021-10-29 09:31:04 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:04 INFO [Crawler.996.doElementAction] current element = SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=支付宝 2021-10-29 09:31:04 INFO [Crawler.997.doElementAction] current index = 43 2021-10-29 09:31:04 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:04 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@resource-id="com.jlpay.merch:id/rv_pay_type"]//*[@text="支付宝" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:31:04 INFO [Crawler.1000.doElementAction] current url = SelectBillTotalActivity 2021-10-29 09:31:04 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:31:04 INFO [Crawler.1002.doElementAction] current file name = SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=支付宝 2021-10-29 09:31:04 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:04 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=支付宝 2021-10-29 09:31:04 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@resource-id="com.jlpay.merch:id/rv_pay_type"]//*[@text="支付宝" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:31:04 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:04 INFO [Crawler.1080.doElementAction] mark 20211027095159/42_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=微信.clicked.png to 20211027095159/43_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=支付宝.click.png 2021-10-29 09:31:04 INFO [AppiumClient.141.mark] read from 20211027095159/42_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=微信.clicked.png 2021-10-29 09:31:04 INFO [AppiumClient.154.mark] write png 20211027095159/42_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=微信.clicked.png 2021-10-29 09:31:04 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/43_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=支付宝.click.png 2021-10-29 09:31:04 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:04 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@resource-id="com.jlpay.merch:id/rv_pay_type"]//*[@text="支付宝" and @resource-id="com.jlpay.merch:id/pay_type"]] 2021-10-29 09:31:04 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:04 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:05 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:05 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:05 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:05 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:05 INFO [Crawler.649.parsePageContext] url=SelectBillTotalActivity 2021-10-29 09:31:05 INFO [Crawler.673.parsePageContext] currentContentHash=9a0f4254aba1e818f6fd83a23a911ecd lastContentHash=9a0f4254aba1e818f6fd83a23a911ecd 2021-10-29 09:31:05 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:31:05 INFO [Crawler.931.saveDom] save to 20211027095159/43_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=支付宝.dom 2021-10-29 09:31:06 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:06 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:06 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:06 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:06 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:06 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=1 2021-10-29 09:31:06 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 44 2021-10-29 09:31:06 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:06 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:06 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:06 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:31:06 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:31:06 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:31:06 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:31:06 INFO [Crawler.598.getAvailableElement] all - clicked size=11 2021-10-29 09:31:06 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=11 2021-10-29 09:31:06 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=内卡借记卡 by first available element 2021-10-29 09:31:06 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:06 INFO [Crawler.996.doElementAction] current element = SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=内卡借记卡 2021-10-29 09:31:06 INFO [Crawler.997.doElementAction] current index = 44 2021-10-29 09:31:06 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:06 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@resource-id="com.jlpay.merch:id/rv_pay_type"]//*[@text="内卡借记卡" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:31:06 INFO [Crawler.1000.doElementAction] current url = SelectBillTotalActivity 2021-10-29 09:31:06 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:31:06 INFO [Crawler.1002.doElementAction] current file name = SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=内卡借记卡 2021-10-29 09:31:06 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:06 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=内卡借记卡 2021-10-29 09:31:06 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@resource-id="com.jlpay.merch:id/rv_pay_type"]//*[@text="内卡借记卡" and @resource-id="com.jlpay.merch:id/pay_type"] 2021-10-29 09:31:06 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:06 INFO [Crawler.1080.doElementAction] mark 20211027095159/43_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=支付宝.clicked.png to 20211027095159/44_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=内卡借记卡.click.png 2021-10-29 09:31:06 INFO [AppiumClient.141.mark] read from 20211027095159/43_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=支付宝.clicked.png 2021-10-29 09:31:06 INFO [AppiumClient.154.mark] write png 20211027095159/43_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=支付宝.clicked.png 2021-10-29 09:31:06 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/44_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=内卡借记卡.click.png 2021-10-29 09:31:07 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:07 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@resource-id="com.jlpay.merch:id/rv_pay_type"]//*[@text="内卡借记卡" and @resource-id="com.jlpay.merch:id/pay_type"]] 2021-10-29 09:31:07 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:07 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:07 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:07 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:07 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:07 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:08 INFO [Crawler.649.parsePageContext] url=SelectBillTotalActivity 2021-10-29 09:31:08 INFO [Crawler.673.parsePageContext] currentContentHash=9a0f4254aba1e818f6fd83a23a911ecd lastContentHash=9a0f4254aba1e818f6fd83a23a911ecd 2021-10-29 09:31:08 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:31:08 INFO [Crawler.931.saveDom] save to 20211027095159/44_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=内卡借记卡.dom 2021-10-29 09:31:08 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:08 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:08 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:08 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:08 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:08 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:31:08 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 45 2021-10-29 09:31:08 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:08 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:08 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:08 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:31:08 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:31:08 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:31:08 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:31:08 INFO [Crawler.598.getAvailableElement] all - clicked size=10 2021-10-29 09:31:08 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=10 2021-10-29 09:31:08 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=内卡贷记卡 by first available element 2021-10-29 09:31:08 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:08 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:31:08 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:31:08 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=内卡贷记卡 need skip 2021-10-29 09:31:08 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:08 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:31:08 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:08 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:08 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:08 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:31:08 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:31:08 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:31:08 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:31:08 INFO [Crawler.598.getAvailableElement] all - clicked size=10 2021-10-29 09:31:08 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:31:08 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=银联二维码 by first available element 2021-10-29 09:31:08 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:08 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:31:08 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:31:08 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=银联二维码 need skip 2021-10-29 09:31:08 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:08 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:31:08 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:08 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:08 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:08 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:31:08 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:31:08 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:31:08 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:31:08 INFO [Crawler.598.getAvailableElement] all - clicked size=10 2021-10-29 09:31:08 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:31:08 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=云闪付贷记卡 by first available element 2021-10-29 09:31:08 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:08 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:31:08 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:31:08 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=云闪付贷记卡 need skip 2021-10-29 09:31:08 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:08 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:31:08 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:08 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:08 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:08 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:31:08 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:31:08 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:31:08 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:31:08 INFO [Crawler.598.getAvailableElement] all - clicked size=10 2021-10-29 09:31:08 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:31:08 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=云闪付借记卡 by first available element 2021-10-29 09:31:08 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:08 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:31:08 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:31:08 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=云闪付借记卡 need skip 2021-10-29 09:31:08 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:08 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:31:08 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:08 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:08 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:08 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:31:08 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:31:08 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:31:09 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:31:09 INFO [Crawler.598.getAvailableElement] all - clicked size=10 2021-10-29 09:31:09 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:31:09 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=展开 by first available element 2021-10-29 09:31:09 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:09 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab]=20 2021-10-29 09:31:09 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=20 2021-10-29 09:31:09 INFO [Crawler.996.doElementAction] current element = SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=展开 2021-10-29 09:31:09 INFO [Crawler.997.doElementAction] current index = 45 2021-10-29 09:31:09 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:09 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@text="展开" and @resource-id="com.jlpay.merch:id/tv_pay_type_unfold"] 2021-10-29 09:31:09 INFO [Crawler.1000.doElementAction] current url = SelectBillTotalActivity 2021-10-29 09:31:09 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:31:09 INFO [Crawler.1002.doElementAction] current file name = SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=展开 2021-10-29 09:31:09 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:09 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=展开 2021-10-29 09:31:09 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@text="展开" and @resource-id="com.jlpay.merch:id/tv_pay_type_unfold"] 2021-10-29 09:31:09 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:09 INFO [Crawler.1080.doElementAction] mark 20211027095159/44_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=内卡借记卡.clicked.png to 20211027095159/45_SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=展开.click.png 2021-10-29 09:31:09 INFO [AppiumClient.141.mark] read from 20211027095159/44_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=内卡借记卡.clicked.png 2021-10-29 09:31:09 INFO [AppiumClient.154.mark] write png 20211027095159/44_SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=内卡借记卡.clicked.png 2021-10-29 09:31:09 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/45_SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=展开.click.png 2021-10-29 09:31:09 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:09 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@text="展开" and @resource-id="com.jlpay.merch:id/tv_pay_type_unfold"]] 2021-10-29 09:31:09 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:09 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:10 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:10 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:10 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:10 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:10 INFO [Crawler.649.parsePageContext] url=SelectBillTotalActivity 2021-10-29 09:31:10 INFO [Crawler.673.parsePageContext] currentContentHash=4c898c79c063c519f5e1c4eca5223313 lastContentHash=9a0f4254aba1e818f6fd83a23a911ecd 2021-10-29 09:31:10 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:31:10 INFO [Crawler.931.saveDom] save to 20211027095159/45_SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=展开.dom 2021-10-29 09:31:10 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:10 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:11 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:11 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:11 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:11 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:31:11 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 46 2021-10-29 09:31:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:11 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 23 2021-10-29 09:31:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 23 2021-10-29 09:31:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 23 2021-10-29 09:31:11 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:31:11 INFO [Crawler.598.getAvailableElement] all - clicked size=18 2021-10-29 09:31:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=14 2021-10-29 09:31:11 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=银联二维码借记卡 by first available element 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:31:11 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=银联二维码借记卡 need skip 2021-10-29 09:31:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:11 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 23 2021-10-29 09:31:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 23 2021-10-29 09:31:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 23 2021-10-29 09:31:11 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:31:11 INFO [Crawler.598.getAvailableElement] all - clicked size=18 2021-10-29 09:31:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=13 2021-10-29 09:31:11 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=会员消费 by first available element 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:31:11 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=会员消费 need skip 2021-10-29 09:31:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:11 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 23 2021-10-29 09:31:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 23 2021-10-29 09:31:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 23 2021-10-29 09:31:11 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:31:11 INFO [Crawler.598.getAvailableElement] all - clicked size=18 2021-10-29 09:31:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=12 2021-10-29 09:31:11 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=外卡借记卡 by first available element 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:31:11 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=外卡借记卡 need skip 2021-10-29 09:31:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:11 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 23 2021-10-29 09:31:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 23 2021-10-29 09:31:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 23 2021-10-29 09:31:11 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:31:11 INFO [Crawler.598.getAvailableElement] all - clicked size=18 2021-10-29 09:31:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=11 2021-10-29 09:31:11 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=外卡贷记卡 by first available element 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:31:11 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=外卡贷记卡 need skip 2021-10-29 09:31:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:11 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 23 2021-10-29 09:31:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 23 2021-10-29 09:31:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 23 2021-10-29 09:31:11 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:31:11 INFO [Crawler.598.getAvailableElement] all - clicked size=18 2021-10-29 09:31:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=10 2021-10-29 09:31:11 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=外卡DCC by first available element 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:31:11 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=外卡DCC need skip 2021-10-29 09:31:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:11 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 23 2021-10-29 09:31:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 23 2021-10-29 09:31:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 23 2021-10-29 09:31:11 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:31:11 INFO [Crawler.598.getAvailableElement] all - clicked size=18 2021-10-29 09:31:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:31:11 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=外卡EDC by first available element 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:31:11 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=外卡EDC need skip 2021-10-29 09:31:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:11 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 23 2021-10-29 09:31:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 23 2021-10-29 09:31:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 23 2021-10-29 09:31:11 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:31:11 INFO [Crawler.598.getAvailableElement] all - clicked size=18 2021-10-29 09:31:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:31:11 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=外卡EDC-VM by first available element 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:31:11 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=外卡EDC-VM need skip 2021-10-29 09:31:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:11 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 23 2021-10-29 09:31:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 23 2021-10-29 09:31:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 23 2021-10-29 09:31:11 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:31:11 INFO [Crawler.598.getAvailableElement] all - clicked size=18 2021-10-29 09:31:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:31:11 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=QQ支付 by first available element 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.CheckBox]=0 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:31:11 INFO [TagLimitPlugin.45.beforeElementAction] SelectBillTotalActivity.tag=CheckBox.depth=17.id=pay_type.text=QQ支付 need skip 2021-10-29 09:31:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:11 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 23 2021-10-29 09:31:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 23 2021-10-29 09:31:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 23 2021-10-29 09:31:11 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:31:11 INFO [Crawler.598.getAvailableElement] all - clicked size=18 2021-10-29 09:31:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:31:11 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=收起 by first available element 2021-10-29 09:31:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:11 INFO [Crawler.996.doElementAction] current element = SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=收起 2021-10-29 09:31:11 INFO [Crawler.997.doElementAction] current index = 46 2021-10-29 09:31:11 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:11 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@text="收起" and @resource-id="com.jlpay.merch:id/tv_pay_type_unfold"] 2021-10-29 09:31:11 INFO [Crawler.1000.doElementAction] current url = SelectBillTotalActivity 2021-10-29 09:31:11 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:31:11 INFO [Crawler.1002.doElementAction] current file name = SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=收起 2021-10-29 09:31:11 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:11 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=收起 2021-10-29 09:31:11 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@text="收起" and @resource-id="com.jlpay.merch:id/tv_pay_type_unfold"] 2021-10-29 09:31:12 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:12 INFO [Crawler.1080.doElementAction] mark 20211027095159/45_SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=展开.clicked.png to 20211027095159/46_SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=收起.click.png 2021-10-29 09:31:12 INFO [AppiumClient.141.mark] read from 20211027095159/45_SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=展开.clicked.png 2021-10-29 09:31:12 INFO [AppiumClient.154.mark] write png 20211027095159/45_SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=展开.clicked.png 2021-10-29 09:31:12 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/46_SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=收起.click.png 2021-10-29 09:31:12 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:12 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_pay_type_container"]//*[@text="收起" and @resource-id="com.jlpay.merch:id/tv_pay_type_unfold"]] 2021-10-29 09:31:12 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:12 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:12 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:12 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:13 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:13 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:13 INFO [Crawler.649.parsePageContext] url=SelectBillTotalActivity 2021-10-29 09:31:13 INFO [Crawler.673.parsePageContext] currentContentHash=9a0f4254aba1e818f6fd83a23a911ecd lastContentHash=4c898c79c063c519f5e1c4eca5223313 2021-10-29 09:31:13 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:31:13 INFO [Crawler.931.saveDom] save to 20211027095159/46_SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=收起.dom 2021-10-29 09:31:13 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:13 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:14 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:14 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:14 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:14 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:31:14 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 47 2021-10-29 09:31:14 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:14 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:14 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:14 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:31:14 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:31:14 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:31:14 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:31:14 INFO [Crawler.598.getAvailableElement] all - clicked size=9 2021-10-29 09:31:14 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:31:14 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=TextView.depth=12.id=tv_reset.text=重置 by first available element 2021-10-29 09:31:14 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:14 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab]=20 2021-10-29 09:31:14 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=20 2021-10-29 09:31:14 INFO [Crawler.996.doElementAction] current element = SelectBillTotalActivity.tag=TextView.depth=12.id=tv_reset.text=重置 2021-10-29 09:31:14 INFO [Crawler.997.doElementAction] current index = 47 2021-10-29 09:31:14 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:14 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_bottom"]//*[@text="重置" and @resource-id="com.jlpay.merch:id/tv_reset"] 2021-10-29 09:31:14 INFO [Crawler.1000.doElementAction] current url = SelectBillTotalActivity 2021-10-29 09:31:14 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:31:14 INFO [Crawler.1002.doElementAction] current file name = SelectBillTotalActivity.tag=TextView.depth=12.id=tv_reset.text=重置 2021-10-29 09:31:14 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:14 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTotalActivity.tag=TextView.depth=12.id=tv_reset.text=重置 2021-10-29 09:31:14 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_bottom"]//*[@text="重置" and @resource-id="com.jlpay.merch:id/tv_reset"] 2021-10-29 09:31:14 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:14 INFO [Crawler.1080.doElementAction] mark 20211027095159/46_SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=收起.clicked.png to 20211027095159/47_SelectBillTotalActivity.tag=TextView.depth=12.id=tv_reset.text=重置.click.png 2021-10-29 09:31:14 INFO [AppiumClient.141.mark] read from 20211027095159/46_SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=收起.clicked.png 2021-10-29 09:31:14 INFO [AppiumClient.154.mark] write png 20211027095159/46_SelectBillTotalActivity.tag=TextView.depth=15.id=tv_pay_type_unfold.text=收起.clicked.png 2021-10-29 09:31:14 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/47_SelectBillTotalActivity.tag=TextView.depth=12.id=tv_reset.text=重置.click.png 2021-10-29 09:31:14 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:14 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_bottom"]//*[@text="重置" and @resource-id="com.jlpay.merch:id/tv_reset"]] 2021-10-29 09:31:14 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:14 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:15 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:15 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:15 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:15 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:15 INFO [Crawler.649.parsePageContext] url=SelectBillTotalActivity 2021-10-29 09:31:15 INFO [Crawler.673.parsePageContext] currentContentHash=9a0f4254aba1e818f6fd83a23a911ecd lastContentHash=9a0f4254aba1e818f6fd83a23a911ecd 2021-10-29 09:31:15 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:31:15 INFO [Crawler.931.saveDom] save to 20211027095159/47_SelectBillTotalActivity.tag=TextView.depth=12.id=tv_reset.text=重置.dom 2021-10-29 09:31:15 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:15 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:16 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:16 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:16 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:16 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectBillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:31:16 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 48 2021-10-29 09:31:16 INFO [ReportPlugin.39.afterElementAction] 48-23 > 48/10+20 2021-10-29 09:31:16 INFO [ReportPlugin.40.afterElementAction] generate test report 2021-10-29 09:31:21 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:21 INFO [Crawler.425.needReturn] urlStack=Stack(SelectBillTotalActivity, BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:21 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:21 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:31:21 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:31:21 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:31:21 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:31:21 INFO [Crawler.598.getAvailableElement] all - clicked size=8 2021-10-29 09:31:21 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:31:21 INFO [Crawler.843.crawl] found SelectBillTotalActivity.tag=TextView.depth=12.id=tv_confirm.text=确定 by first available element 2021-10-29 09:31:21 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:21 INFO [Crawler.996.doElementAction] current element = SelectBillTotalActivity.tag=TextView.depth=12.id=tv_confirm.text=确定 2021-10-29 09:31:21 INFO [Crawler.997.doElementAction] current index = 48 2021-10-29 09:31:21 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:21 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_bottom"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/tv_confirm"] 2021-10-29 09:31:21 INFO [Crawler.1000.doElementAction] current url = SelectBillTotalActivity 2021-10-29 09:31:21 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:31:21 INFO [Crawler.1002.doElementAction] current file name = SelectBillTotalActivity.tag=TextView.depth=12.id=tv_confirm.text=确定 2021-10-29 09:31:21 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:21 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectBillTotalActivity.tag=TextView.depth=12.id=tv_confirm.text=确定 2021-10-29 09:31:21 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_bottom"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/tv_confirm"] 2021-10-29 09:31:21 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:21 INFO [Crawler.1080.doElementAction] mark 20211027095159/47_SelectBillTotalActivity.tag=TextView.depth=12.id=tv_reset.text=重置.clicked.png to 20211027095159/48_SelectBillTotalActivity.tag=TextView.depth=12.id=tv_confirm.text=确定.click.png 2021-10-29 09:31:21 INFO [AppiumClient.141.mark] read from 20211027095159/47_SelectBillTotalActivity.tag=TextView.depth=12.id=tv_reset.text=重置.clicked.png 2021-10-29 09:31:21 INFO [AppiumClient.154.mark] write png 20211027095159/47_SelectBillTotalActivity.tag=TextView.depth=12.id=tv_reset.text=重置.clicked.png 2021-10-29 09:31:21 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/48_SelectBillTotalActivity.tag=TextView.depth=12.id=tv_confirm.text=确定.click.png 2021-10-29 09:31:22 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:22 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/vp_content"]//*[@resource-id="com.jlpay.merch:id/ll_bottom"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/tv_confirm"]] 2021-10-29 09:31:22 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:22 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:24 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:24 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:24 INFO [Crawler.649.parsePageContext] url=BillTotalActivity 2021-10-29 09:31:24 INFO [Crawler.673.parsePageContext] currentContentHash=25c6db405aa897f3936c2c4b4e3441d7 lastContentHash=9a0f4254aba1e818f6fd83a23a911ecd 2021-10-29 09:31:24 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:31:24 INFO [Crawler.931.saveDom] save to 20211027095159/48_SelectBillTotalActivity.tag=TextView.depth=12.id=tv_confirm.text=确定.dom 2021-10-29 09:31:25 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:25 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:26 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:26 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:26 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:26 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 49 2021-10-29 09:31:26 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:26 INFO [Crawler.425.needReturn] urlStack=Stack(BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:26 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:26 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:31:26 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:31:26 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:31:26 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:31:26 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:31:26 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:31:26 INFO [Crawler.843.crawl] found BillTotalActivity.tag=TextView.depth=12.text=门店汇总 by first available element 2021-10-29 09:31:26 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:26 INFO [Crawler.996.doElementAction] current element = BillTotalActivity.tag=TextView.depth=12.text=门店汇总 2021-10-29 09:31:26 INFO [Crawler.997.doElementAction] current index = 49 2021-10-29 09:31:26 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:26 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tab_layout"]//*[@content-desc="门店汇总"]//*[@text="门店汇总"] 2021-10-29 09:31:26 INFO [Crawler.1000.doElementAction] current url = BillTotalActivity 2021-10-29 09:31:26 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView 2021-10-29 09:31:26 INFO [Crawler.1002.doElementAction] current file name = BillTotalActivity.tag=TextView.depth=12.text=门店汇总 2021-10-29 09:31:26 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:26 INFO [AppiumClient.53.findElementByURI] find by uri element= BillTotalActivity.tag=TextView.depth=12.text=门店汇总 2021-10-29 09:31:26 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tab_layout"]//*[@content-desc="门店汇总"]//*[@text="门店汇总"] 2021-10-29 09:31:26 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:26 INFO [Crawler.1080.doElementAction] mark 20211027095159/48_SelectBillTotalActivity.tag=TextView.depth=12.id=tv_confirm.text=确定.clicked.png to 20211027095159/49_BillTotalActivity.tag=TextView.depth=12.text=门店汇总.click.png 2021-10-29 09:31:26 INFO [AppiumClient.141.mark] read from 20211027095159/48_SelectBillTotalActivity.tag=TextView.depth=12.id=tv_confirm.text=确定.clicked.png 2021-10-29 09:31:26 INFO [AppiumClient.154.mark] write png 20211027095159/48_SelectBillTotalActivity.tag=TextView.depth=12.id=tv_confirm.text=确定.clicked.png 2021-10-29 09:31:26 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/49_BillTotalActivity.tag=TextView.depth=12.text=门店汇总.click.png 2021-10-29 09:31:26 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:26 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tab_layout"]//*[@content-desc="门店汇总"]//*[@text="门店汇总"]] 2021-10-29 09:31:27 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:27 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:28 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:28 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:28 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:28 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:28 INFO [Crawler.649.parsePageContext] url=BillTotalActivity 2021-10-29 09:31:28 INFO [Crawler.673.parsePageContext] currentContentHash=065e0635b9b1872b8539b33a001b60bb lastContentHash=25c6db405aa897f3936c2c4b4e3441d7 2021-10-29 09:31:28 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:31:28 INFO [Crawler.931.saveDom] save to 20211027095159/49_BillTotalActivity.tag=TextView.depth=12.text=门店汇总.dom 2021-10-29 09:31:28 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:28 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:29 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:29 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:29 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:29 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[BillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=19 2021-10-29 09:31:29 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 50 2021-10-29 09:31:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:29 INFO [Crawler.425.needReturn] urlStack=Stack(BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:31:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:31:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:31:29 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:31:29 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:31:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:31:29 INFO [Crawler.843.crawl] found BillTotalActivity.tag=TextView.depth=12.text=商户汇总 by first available element 2021-10-29 09:31:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:29 INFO [Crawler.996.doElementAction] current element = BillTotalActivity.tag=TextView.depth=12.text=商户汇总 2021-10-29 09:31:29 INFO [Crawler.997.doElementAction] current index = 50 2021-10-29 09:31:29 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:29 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tab_layout"]//*[@content-desc="商户汇总"]//*[@text="商户汇总"] 2021-10-29 09:31:29 INFO [Crawler.1000.doElementAction] current url = BillTotalActivity 2021-10-29 09:31:29 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView 2021-10-29 09:31:29 INFO [Crawler.1002.doElementAction] current file name = BillTotalActivity.tag=TextView.depth=12.text=商户汇总 2021-10-29 09:31:29 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:29 INFO [AppiumClient.53.findElementByURI] find by uri element= BillTotalActivity.tag=TextView.depth=12.text=商户汇总 2021-10-29 09:31:29 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tab_layout"]//*[@content-desc="商户汇总"]//*[@text="商户汇总"] 2021-10-29 09:31:29 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:29 INFO [Crawler.1080.doElementAction] mark 20211027095159/49_BillTotalActivity.tag=TextView.depth=12.text=门店汇总.clicked.png to 20211027095159/50_BillTotalActivity.tag=TextView.depth=12.text=商户汇总.click.png 2021-10-29 09:31:29 INFO [AppiumClient.141.mark] read from 20211027095159/49_BillTotalActivity.tag=TextView.depth=12.text=门店汇总.clicked.png 2021-10-29 09:31:29 INFO [AppiumClient.154.mark] write png 20211027095159/49_BillTotalActivity.tag=TextView.depth=12.text=门店汇总.clicked.png 2021-10-29 09:31:29 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/50_BillTotalActivity.tag=TextView.depth=12.text=商户汇总.click.png 2021-10-29 09:31:29 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:29 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tab_layout"]//*[@content-desc="商户汇总"]//*[@text="商户汇总"]] 2021-10-29 09:31:29 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:29 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:30 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:30 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:30 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:30 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:31 INFO [Crawler.649.parsePageContext] url=BillTotalActivity 2021-10-29 09:31:31 INFO [Crawler.673.parsePageContext] currentContentHash=25c6db405aa897f3936c2c4b4e3441d7 lastContentHash=065e0635b9b1872b8539b33a001b60bb 2021-10-29 09:31:31 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:31:31 INFO [Crawler.931.saveDom] save to 20211027095159/50_BillTotalActivity.tag=TextView.depth=12.text=商户汇总.dom 2021-10-29 09:31:31 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:31 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:32 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:32 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:32 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:32 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[BillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=18 2021-10-29 09:31:32 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 51 2021-10-29 09:31:32 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:32 INFO [Crawler.425.needReturn] urlStack=Stack(BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:32 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:32 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:31:32 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:31:32 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:31:32 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:31:32 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:31:32 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:31:32 INFO [Crawler.843.crawl] found BillTotalActivity.tag=TextView.depth=12.text=终端汇总 by first available element 2021-10-29 09:31:32 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:32 INFO [Crawler.996.doElementAction] current element = BillTotalActivity.tag=TextView.depth=12.text=终端汇总 2021-10-29 09:31:32 INFO [Crawler.997.doElementAction] current index = 51 2021-10-29 09:31:32 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:32 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tab_layout"]//*[@content-desc="终端汇总"]//*[@text="终端汇总"] 2021-10-29 09:31:32 INFO [Crawler.1000.doElementAction] current url = BillTotalActivity 2021-10-29 09:31:32 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView 2021-10-29 09:31:32 INFO [Crawler.1002.doElementAction] current file name = BillTotalActivity.tag=TextView.depth=12.text=终端汇总 2021-10-29 09:31:32 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:32 INFO [AppiumClient.53.findElementByURI] find by uri element= BillTotalActivity.tag=TextView.depth=12.text=终端汇总 2021-10-29 09:31:32 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tab_layout"]//*[@content-desc="终端汇总"]//*[@text="终端汇总"] 2021-10-29 09:31:32 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:32 INFO [Crawler.1080.doElementAction] mark 20211027095159/50_BillTotalActivity.tag=TextView.depth=12.text=商户汇总.clicked.png to 20211027095159/51_BillTotalActivity.tag=TextView.depth=12.text=终端汇总.click.png 2021-10-29 09:31:32 INFO [AppiumClient.141.mark] read from 20211027095159/50_BillTotalActivity.tag=TextView.depth=12.text=商户汇总.clicked.png 2021-10-29 09:31:32 INFO [AppiumClient.154.mark] write png 20211027095159/50_BillTotalActivity.tag=TextView.depth=12.text=商户汇总.clicked.png 2021-10-29 09:31:32 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/51_BillTotalActivity.tag=TextView.depth=12.text=终端汇总.click.png 2021-10-29 09:31:32 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:32 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tab_layout"]//*[@content-desc="终端汇总"]//*[@text="终端汇总"]] 2021-10-29 09:31:32 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:32 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:33 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:33 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:33 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:33 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:34 INFO [Crawler.649.parsePageContext] url=BillTotalActivity 2021-10-29 09:31:34 INFO [Crawler.673.parsePageContext] currentContentHash=ab0508544f2ca83bcdb4ab9c7f73705e lastContentHash=25c6db405aa897f3936c2c4b4e3441d7 2021-10-29 09:31:34 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:31:34 INFO [Crawler.931.saveDom] save to 20211027095159/51_BillTotalActivity.tag=TextView.depth=12.text=终端汇总.dom 2021-10-29 09:31:34 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:34 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:35 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:35 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:35 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:35 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[BillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=17 2021-10-29 09:31:35 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 52 2021-10-29 09:31:35 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:35 INFO [Crawler.425.needReturn] urlStack=Stack(BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:35 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:35 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:31:35 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:31:35 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:31:35 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:31:35 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:31:35 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:31:35 INFO [Crawler.843.crawl] found BillTotalActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:31:35 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:35 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[BillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab]=20 2021-10-29 09:31:35 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[BillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=20 2021-10-29 09:31:35 INFO [Crawler.996.doElementAction] current element = BillTotalActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:31:35 INFO [Crawler.997.doElementAction] current index = 52 2021-10-29 09:31:35 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:35 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:31:35 INFO [Crawler.1000.doElementAction] current url = BillTotalActivity 2021-10-29 09:31:35 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:31:35 INFO [Crawler.1002.doElementAction] current file name = BillTotalActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:31:35 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:35 INFO [AppiumClient.53.findElementByURI] find by uri element= BillTotalActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:31:35 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:31:35 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:35 INFO [Crawler.1080.doElementAction] mark 20211027095159/51_BillTotalActivity.tag=TextView.depth=12.text=终端汇总.clicked.png to 20211027095159/52_BillTotalActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:31:35 INFO [AppiumClient.141.mark] read from 20211027095159/51_BillTotalActivity.tag=TextView.depth=12.text=终端汇总.clicked.png 2021-10-29 09:31:35 INFO [AppiumClient.154.mark] write png 20211027095159/51_BillTotalActivity.tag=TextView.depth=12.text=终端汇总.clicked.png 2021-10-29 09:31:35 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/52_BillTotalActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:31:35 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:35 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:31:35 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:35 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:36 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:36 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:36 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:36 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:36 INFO [Crawler.649.parsePageContext] url=BillTotalActivity 2021-10-29 09:31:36 INFO [Crawler.673.parsePageContext] currentContentHash=ab0508544f2ca83bcdb4ab9c7f73705e lastContentHash=ab0508544f2ca83bcdb4ab9c7f73705e 2021-10-29 09:31:36 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:31:36 INFO [Crawler.931.saveDom] save to 20211027095159/52_BillTotalActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:31:36 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:36 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:37 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:37 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:37 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:37 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[BillTotalActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:31:37 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 53 2021-10-29 09:31:37 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:37 INFO [Crawler.425.needReturn] urlStack=Stack(BillTotalActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:37 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:37 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:31:37 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:31:37 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:31:37 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:31:37 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:31:37 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:31:37 INFO [Crawler.851.crawl] BillTotalActivity all elements had be clicked 2021-10-29 09:31:37 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:31:37 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:31:37 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:37 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:31:37 INFO [Crawler.996.doElementAction] current element = BillTotalActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:31:37 INFO [Crawler.997.doElementAction] current index = 53 2021-10-29 09:31:37 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:37 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:31:37 INFO [Crawler.1000.doElementAction] current url = BillTotalActivity 2021-10-29 09:31:37 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:31:37 INFO [Crawler.1002.doElementAction] current file name = BillTotalActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:31:37 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:37 INFO [AppiumClient.53.findElementByURI] find by uri element= BillTotalActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:31:37 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:31:37 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:37 INFO [Crawler.1080.doElementAction] mark 20211027095159/52_BillTotalActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/53_BillTotalActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:31:37 INFO [AppiumClient.141.mark] read from 20211027095159/52_BillTotalActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:31:37 INFO [AppiumClient.154.mark] write png 20211027095159/52_BillTotalActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:31:37 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/53_BillTotalActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:31:37 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:37 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:31:37 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:37 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:38 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:38 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:38 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:38 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:39 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:31:39 INFO [Crawler.673.parsePageContext] currentContentHash=58ae14078ff315c6eaa6ac3e6e30744c lastContentHash=ab0508544f2ca83bcdb4ab9c7f73705e 2021-10-29 09:31:39 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:31:39 INFO [Crawler.931.saveDom] save to 20211027095159/53_BillTotalActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:31:39 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:39 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:39 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:39 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:39 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:39 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 54 2021-10-29 09:31:39 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:39 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:39 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:39 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:31:39 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:31:39 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:31:39 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:31:39 INFO [Crawler.598.getAvailableElement] all - clicked size=12 2021-10-29 09:31:39 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=12 2021-10-29 09:31:39 INFO [Crawler.843.crawl] found MainActivity.tag=ImageView.depth=17.id=iv_web_content by first available element 2021-10-29 09:31:39 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:39 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView]=20 2021-10-29 09:31:39 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=ImageView.depth=17.id=iv_web_content 2021-10-29 09:31:39 INFO [Crawler.997.doElementAction] current index = 54 2021-10-29 09:31:39 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:39 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_viewpager"]//*[@resource-id="com.jlpay.merch:id/refreshLayout_content"]//*[@resource-id="com.jlpay.merch:id/rv_list"]//*[@resource-id="com.jlpay.merch:id/tv_test"]//*[@resource-id="com.jlpay.merch:id/iv_web_content"] 2021-10-29 09:31:39 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:31:39 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/androidx.viewpager.widget.ViewPager/android.view.ViewGroup/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.ImageView 2021-10-29 09:31:39 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=ImageView.depth=17.id=iv_web_content 2021-10-29 09:31:39 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:39 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=ImageView.depth=17.id=iv_web_content 2021-10-29 09:31:39 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_viewpager"]//*[@resource-id="com.jlpay.merch:id/refreshLayout_content"]//*[@resource-id="com.jlpay.merch:id/rv_list"]//*[@resource-id="com.jlpay.merch:id/tv_test"]//*[@resource-id="com.jlpay.merch:id/iv_web_content"] 2021-10-29 09:31:40 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:40 INFO [Crawler.1080.doElementAction] mark 20211027095159/53_BillTotalActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/54_MainActivity.tag=ImageView.depth=17.id=iv_web_content.click.png 2021-10-29 09:31:40 INFO [AppiumClient.141.mark] read from 20211027095159/53_BillTotalActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:31:40 INFO [AppiumClient.154.mark] write png 20211027095159/53_BillTotalActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:31:40 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/54_MainActivity.tag=ImageView.depth=17.id=iv_web_content.click.png 2021-10-29 09:31:40 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:40 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_viewpager"]//*[@resource-id="com.jlpay.merch:id/refreshLayout_content"]//*[@resource-id="com.jlpay.merch:id/rv_list"]//*[@resource-id="com.jlpay.merch:id/tv_test"]//*[@resource-id="com.jlpay.merch:id/iv_web_content"]] 2021-10-29 09:31:40 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:40 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:41 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:41 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:41 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:41 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:41 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:31:41 INFO [Crawler.673.parsePageContext] currentContentHash=b71d5e390e3adf3e2d72f8d7bc9f2102 lastContentHash=58ae14078ff315c6eaa6ac3e6e30744c 2021-10-29 09:31:41 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:31:41 INFO [Crawler.931.saveDom] save to 20211027095159/54_MainActivity.tag=ImageView.depth=17.id=iv_web_content.dom 2021-10-29 09:31:41 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:41 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:42 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:42 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:42 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:42 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 55 2021-10-29 09:31:42 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:42 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:42 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:42 INFO [Crawler.487.getAvailableElement] selected nodes size = 1 2021-10-29 09:31:42 INFO [Crawler.499.getAvailableElement] all - black elements size = 1 2021-10-29 09:31:42 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 1 2021-10-29 09:31:42 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:31:42 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:31:42 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:31:42 INFO [Crawler.843.crawl] found WebviewActivity.tag=ImageView.depth=10.id=im_web_back by first available element 2021-10-29 09:31:42 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:42 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=ImageView.depth=10.id=im_web_back 2021-10-29 09:31:42 INFO [Crawler.997.doElementAction] current index = 55 2021-10-29 09:31:42 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:42 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/im_web_back"] 2021-10-29 09:31:42 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:31:42 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:31:42 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=ImageView.depth=10.id=im_web_back 2021-10-29 09:31:42 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:42 INFO [AppiumClient.53.findElementByURI] find by uri element= WebviewActivity.tag=ImageView.depth=10.id=im_web_back 2021-10-29 09:31:42 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/im_web_back"] 2021-10-29 09:31:42 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:42 INFO [Crawler.1080.doElementAction] mark 20211027095159/54_MainActivity.tag=ImageView.depth=17.id=iv_web_content.clicked.png to 20211027095159/55_WebviewActivity.tag=ImageView.depth=10.id=im_web_back.click.png 2021-10-29 09:31:42 INFO [AppiumClient.141.mark] read from 20211027095159/54_MainActivity.tag=ImageView.depth=17.id=iv_web_content.clicked.png 2021-10-29 09:31:42 INFO [AppiumClient.154.mark] write png 20211027095159/54_MainActivity.tag=ImageView.depth=17.id=iv_web_content.clicked.png 2021-10-29 09:31:42 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/55_WebviewActivity.tag=ImageView.depth=10.id=im_web_back.click.png 2021-10-29 09:31:42 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:42 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/im_web_back"]] 2021-10-29 09:31:42 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:42 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:43 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:43 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:44 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:44 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:44 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:31:44 INFO [Crawler.673.parsePageContext] currentContentHash=324d4439fb0f6c2fe96203298fef50af lastContentHash=b71d5e390e3adf3e2d72f8d7bc9f2102 2021-10-29 09:31:44 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:31:44 INFO [Crawler.931.saveDom] save to 20211027095159/55_WebviewActivity.tag=ImageView.depth=10.id=im_web_back.dom 2021-10-29 09:31:44 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:44 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:45 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:45 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:45 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:45 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView]=3 2021-10-29 09:31:45 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 56 2021-10-29 09:31:45 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:45 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:45 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:45 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:31:45 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:31:45 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:31:45 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:31:45 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:31:45 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:31:45 INFO [Crawler.843.crawl] found WebviewActivity.tag=TextView.depth=18.text=嘉联通行证 by first available element 2021-10-29 09:31:45 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:45 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=TextView.depth=18.text=嘉联通行证 2021-10-29 09:31:45 INFO [Crawler.997.doElementAction] current index = 56 2021-10-29 09:31:45 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:45 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="js_article"]//*[@resource-id="page-content"]//*[@resource-id="img-content"]//*[@resource-id="meta_content"]//*[@resource-id="profileBt"]//*[@content-desc="嘉联通行证" and @resource-id="js_name"]//*[@text="嘉联通行证"] 2021-10-29 09:31:45 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:31:45 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.TextView 2021-10-29 09:31:45 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=TextView.depth=18.text=嘉联通行证 2021-10-29 09:31:45 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:45 INFO [AppiumClient.53.findElementByURI] find by uri element= WebviewActivity.tag=TextView.depth=18.text=嘉联通行证 2021-10-29 09:31:45 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="js_article"]//*[@resource-id="page-content"]//*[@resource-id="img-content"]//*[@resource-id="meta_content"]//*[@resource-id="profileBt"]//*[@content-desc="嘉联通行证" and @resource-id="js_name"]//*[@text="嘉联通行证"] 2021-10-29 09:31:45 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:45 INFO [Crawler.1080.doElementAction] mark 20211027095159/55_WebviewActivity.tag=ImageView.depth=10.id=im_web_back.clicked.png to 20211027095159/56_WebviewActivity.tag=TextView.depth=18.text=嘉联通行证.click.png 2021-10-29 09:31:45 INFO [AppiumClient.141.mark] read from 20211027095159/55_WebviewActivity.tag=ImageView.depth=10.id=im_web_back.clicked.png 2021-10-29 09:31:46 INFO [AppiumClient.154.mark] write png 20211027095159/55_WebviewActivity.tag=ImageView.depth=10.id=im_web_back.clicked.png 2021-10-29 09:31:46 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/56_WebviewActivity.tag=TextView.depth=18.text=嘉联通行证.click.png 2021-10-29 09:31:46 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:46 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="js_article"]//*[@resource-id="page-content"]//*[@resource-id="img-content"]//*[@resource-id="meta_content"]//*[@resource-id="profileBt"]//*[@content-desc="嘉联通行证" and @resource-id="js_name"]//*[@text="嘉联通行证"]] 2021-10-29 09:31:46 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:46 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:46 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:46 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:47 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:47 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:47 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:31:47 INFO [Crawler.673.parsePageContext] currentContentHash=324d4439fb0f6c2fe96203298fef50af lastContentHash=324d4439fb0f6c2fe96203298fef50af 2021-10-29 09:31:47 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:31:47 INFO [Crawler.931.saveDom] save to 20211027095159/56_WebviewActivity.tag=TextView.depth=18.text=嘉联通行证.dom 2021-10-29 09:31:47 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:47 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:48 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:48 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:48 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:48 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.TextView]=3 2021-10-29 09:31:48 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 57 2021-10-29 09:31:48 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:48 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:48 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:48 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:31:48 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:31:48 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:31:48 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:31:48 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:31:48 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:31:48 INFO [Crawler.851.crawl] WebviewActivity all elements had be clicked 2021-10-29 09:31:48 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:31:48 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:31:48 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:31:48 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:31:48 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:31:48 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=Back.id=Back 2021-10-29 09:31:48 INFO [Crawler.997.doElementAction] current index = 57 2021-10-29 09:31:48 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:31:48 INFO [Crawler.999.doElementAction] current xpath = Back-57 2021-10-29 09:31:48 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:31:48 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:31:48 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=Back.id=Back 2021-10-29 09:31:48 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:31:48 WARN [Crawler.1150.back] two back action too close 2021-10-29 09:31:50 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:31:50 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:31:50 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:51 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:51 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:51 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:51 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:51 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:31:51 INFO [Crawler.673.parsePageContext] currentContentHash=58ae14078ff315c6eaa6ac3e6e30744c lastContentHash=324d4439fb0f6c2fe96203298fef50af 2021-10-29 09:31:51 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:31:51 INFO [Crawler.931.saveDom] save to 20211027095159/57_WebviewActivity.tag=Back.id=Back.dom 2021-10-29 09:31:51 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:51 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:52 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:52 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:31:52 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:52 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 58 2021-10-29 09:31:52 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:52 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:52 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:52 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:31:52 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:31:52 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:31:52 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:31:52 INFO [Crawler.598.getAvailableElement] all - clicked size=11 2021-10-29 09:31:52 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=11 2021-10-29 09:31:52 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=custom_text.text=官方消息 by first available element 2021-10-29 09:31:52 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:52 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=custom_text.text=官方消息 2021-10-29 09:31:52 INFO [Crawler.997.doElementAction] current index = 58 2021-10-29 09:31:52 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:52 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_smartTabLayout"]//*[@resource-id="com.jlpay.merch:id/content_tabs"]//*[@text="官方消息" and @resource-id="com.jlpay.merch:id/custom_text"] 2021-10-29 09:31:52 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:31:52 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:31:52 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=custom_text.text=官方消息 2021-10-29 09:31:52 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:52 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=custom_text.text=官方消息 2021-10-29 09:31:52 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_smartTabLayout"]//*[@resource-id="com.jlpay.merch:id/content_tabs"]//*[@text="官方消息" and @resource-id="com.jlpay.merch:id/custom_text"] 2021-10-29 09:31:52 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:52 INFO [Crawler.1080.doElementAction] mark 20211027095159/57_WebviewActivity.tag=Back.id=Back.clicked.png to 20211027095159/58_MainActivity.tag=TextView.depth=16.id=custom_text.text=官方消息.click.png 2021-10-29 09:31:52 INFO [AppiumClient.141.mark] read from 20211027095159/57_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:31:52 INFO [AppiumClient.154.mark] write png 20211027095159/57_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:31:52 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/58_MainActivity.tag=TextView.depth=16.id=custom_text.text=官方消息.click.png 2021-10-29 09:31:53 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:53 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_smartTabLayout"]//*[@resource-id="com.jlpay.merch:id/content_tabs"]//*[@text="官方消息" and @resource-id="com.jlpay.merch:id/custom_text"]] 2021-10-29 09:31:53 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:53 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:54 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:54 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:54 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:54 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:54 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:31:54 INFO [Crawler.673.parsePageContext] currentContentHash=087628d3a789006f55096d9e61b2b4ae lastContentHash=58ae14078ff315c6eaa6ac3e6e30744c 2021-10-29 09:31:54 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:31:54 INFO [Crawler.931.saveDom] save to 20211027095159/58_MainActivity.tag=TextView.depth=16.id=custom_text.text=官方消息.dom 2021-10-29 09:31:54 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:54 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:55 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:55 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:55 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:55 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView]=19 2021-10-29 09:31:55 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 59 2021-10-29 09:31:55 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:55 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:55 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:55 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:31:55 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:31:55 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:31:55 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:31:55 INFO [Crawler.598.getAvailableElement] all - clicked size=10 2021-10-29 09:31:55 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=10 2021-10-29 09:31:55 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=custom_text.text=智慧经营 by first available element 2021-10-29 09:31:55 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:55 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=custom_text.text=智慧经营 2021-10-29 09:31:55 INFO [Crawler.997.doElementAction] current index = 59 2021-10-29 09:31:55 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:55 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_smartTabLayout"]//*[@resource-id="com.jlpay.merch:id/content_tabs"]//*[@text="智慧经营" and @resource-id="com.jlpay.merch:id/custom_text"] 2021-10-29 09:31:55 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:31:55 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:31:55 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=custom_text.text=智慧经营 2021-10-29 09:31:55 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:55 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=custom_text.text=智慧经营 2021-10-29 09:31:55 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_smartTabLayout"]//*[@resource-id="com.jlpay.merch:id/content_tabs"]//*[@text="智慧经营" and @resource-id="com.jlpay.merch:id/custom_text"] 2021-10-29 09:31:55 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:56 INFO [Crawler.1080.doElementAction] mark 20211027095159/58_MainActivity.tag=TextView.depth=16.id=custom_text.text=官方消息.clicked.png to 20211027095159/59_MainActivity.tag=TextView.depth=16.id=custom_text.text=智慧经营.click.png 2021-10-29 09:31:56 INFO [AppiumClient.141.mark] read from 20211027095159/58_MainActivity.tag=TextView.depth=16.id=custom_text.text=官方消息.clicked.png 2021-10-29 09:31:56 INFO [AppiumClient.154.mark] write png 20211027095159/58_MainActivity.tag=TextView.depth=16.id=custom_text.text=官方消息.clicked.png 2021-10-29 09:31:56 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/59_MainActivity.tag=TextView.depth=16.id=custom_text.text=智慧经营.click.png 2021-10-29 09:31:56 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:56 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_smartTabLayout"]//*[@resource-id="com.jlpay.merch:id/content_tabs"]//*[@text="智慧经营" and @resource-id="com.jlpay.merch:id/custom_text"]] 2021-10-29 09:31:56 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:56 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:57 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:57 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:31:57 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:31:57 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:31:57 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:31:57 INFO [Crawler.673.parsePageContext] currentContentHash=58ae14078ff315c6eaa6ac3e6e30744c lastContentHash=087628d3a789006f55096d9e61b2b4ae 2021-10-29 09:31:57 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:31:57 INFO [Crawler.931.saveDom] save to 20211027095159/59_MainActivity.tag=TextView.depth=16.id=custom_text.text=智慧经营.dom 2021-10-29 09:31:57 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:31:57 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:31:58 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:31:58 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:31:58 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:31:58 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView]=18 2021-10-29 09:31:58 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 60 2021-10-29 09:31:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:31:58 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:31:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:31:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:31:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:31:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:31:58 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:31:58 INFO [Crawler.598.getAvailableElement] all - clicked size=9 2021-10-29 09:31:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:31:58 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=custom_text.text=商家故事 by first available element 2021-10-29 09:31:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:31:58 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=custom_text.text=商家故事 2021-10-29 09:31:58 INFO [Crawler.997.doElementAction] current index = 60 2021-10-29 09:31:58 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:31:58 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_smartTabLayout"]//*[@resource-id="com.jlpay.merch:id/content_tabs"]//*[@text="商家故事" and @resource-id="com.jlpay.merch:id/custom_text"] 2021-10-29 09:31:58 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:31:58 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:31:58 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=custom_text.text=商家故事 2021-10-29 09:31:58 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:31:58 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=custom_text.text=商家故事 2021-10-29 09:31:58 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_smartTabLayout"]//*[@resource-id="com.jlpay.merch:id/content_tabs"]//*[@text="商家故事" and @resource-id="com.jlpay.merch:id/custom_text"] 2021-10-29 09:31:58 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:31:59 INFO [Crawler.1080.doElementAction] mark 20211027095159/59_MainActivity.tag=TextView.depth=16.id=custom_text.text=智慧经营.clicked.png to 20211027095159/60_MainActivity.tag=TextView.depth=16.id=custom_text.text=商家故事.click.png 2021-10-29 09:31:59 INFO [AppiumClient.141.mark] read from 20211027095159/59_MainActivity.tag=TextView.depth=16.id=custom_text.text=智慧经营.clicked.png 2021-10-29 09:31:59 INFO [AppiumClient.154.mark] write png 20211027095159/59_MainActivity.tag=TextView.depth=16.id=custom_text.text=智慧经营.clicked.png 2021-10-29 09:31:59 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/60_MainActivity.tag=TextView.depth=16.id=custom_text.text=商家故事.click.png 2021-10-29 09:31:59 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:31:59 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_smartTabLayout"]//*[@resource-id="com.jlpay.merch:id/content_tabs"]//*[@text="商家故事" and @resource-id="com.jlpay.merch:id/custom_text"]] 2021-10-29 09:31:59 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:31:59 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:31:59 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:31:59 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:00 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:00 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:00 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:32:00 INFO [Crawler.673.parsePageContext] currentContentHash=6a34db5c2b0ea462fddb022d1d5f2acb lastContentHash=58ae14078ff315c6eaa6ac3e6e30744c 2021-10-29 09:32:00 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:00 INFO [Crawler.931.saveDom] save to 20211027095159/60_MainActivity.tag=TextView.depth=16.id=custom_text.text=商家故事.dom 2021-10-29 09:32:00 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:00 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:01 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:01 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:01 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:01 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView]=17 2021-10-29 09:32:01 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 61 2021-10-29 09:32:01 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:01 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:01 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:01 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:32:01 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:32:01 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:32:01 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:32:01 INFO [Crawler.598.getAvailableElement] all - clicked size=8 2021-10-29 09:32:01 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:32:01 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=custom_text.text=行业聚焦 by first available element 2021-10-29 09:32:01 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:01 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=custom_text.text=行业聚焦 2021-10-29 09:32:01 INFO [Crawler.997.doElementAction] current index = 61 2021-10-29 09:32:01 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:01 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_smartTabLayout"]//*[@resource-id="com.jlpay.merch:id/content_tabs"]//*[@text="行业聚焦" and @resource-id="com.jlpay.merch:id/custom_text"] 2021-10-29 09:32:01 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:32:01 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:32:01 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=custom_text.text=行业聚焦 2021-10-29 09:32:01 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:01 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=custom_text.text=行业聚焦 2021-10-29 09:32:01 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_smartTabLayout"]//*[@resource-id="com.jlpay.merch:id/content_tabs"]//*[@text="行业聚焦" and @resource-id="com.jlpay.merch:id/custom_text"] 2021-10-29 09:32:01 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:01 INFO [Crawler.1080.doElementAction] mark 20211027095159/60_MainActivity.tag=TextView.depth=16.id=custom_text.text=商家故事.clicked.png to 20211027095159/61_MainActivity.tag=TextView.depth=16.id=custom_text.text=行业聚焦.click.png 2021-10-29 09:32:01 INFO [AppiumClient.141.mark] read from 20211027095159/60_MainActivity.tag=TextView.depth=16.id=custom_text.text=商家故事.clicked.png 2021-10-29 09:32:01 INFO [AppiumClient.154.mark] write png 20211027095159/60_MainActivity.tag=TextView.depth=16.id=custom_text.text=商家故事.clicked.png 2021-10-29 09:32:01 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/61_MainActivity.tag=TextView.depth=16.id=custom_text.text=行业聚焦.click.png 2021-10-29 09:32:01 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:01 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_smartTabLayout"]//*[@resource-id="com.jlpay.merch:id/content_tabs"]//*[@text="行业聚焦" and @resource-id="com.jlpay.merch:id/custom_text"]] 2021-10-29 09:32:02 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:02 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:02 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:02 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:02 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:02 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:03 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:32:03 INFO [Crawler.673.parsePageContext] currentContentHash=4fc6740d77e4d4b407976942eb7d9da5 lastContentHash=6a34db5c2b0ea462fddb022d1d5f2acb 2021-10-29 09:32:03 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:03 INFO [Crawler.931.saveDom] save to 20211027095159/61_MainActivity.tag=TextView.depth=16.id=custom_text.text=行业聚焦.dom 2021-10-29 09:32:03 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:03 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:04 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:04 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:04 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:04 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView]=16 2021-10-29 09:32:04 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 62 2021-10-29 09:32:04 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:04 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:04 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:04 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:32:04 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:32:04 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:32:04 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:32:04 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:32:04 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:32:04 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_deal_symbol.text=¥ by first available element 2021-10-29 09:32:04 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:04 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView]=20 2021-10-29 09:32:04 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_deal_symbol.text=¥ 2021-10-29 09:32:04 INFO [Crawler.997.doElementAction] current index = 62 2021-10-29 09:32:04 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:04 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_header_layout"]//*[@resource-id="com.jlpay.merch:id/rl_amount"]//*[@text="¥" and @resource-id="com.jlpay.merch:id/tv_deal_symbol"] 2021-10-29 09:32:04 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:32:04 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:32:04 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_deal_symbol.text=¥ 2021-10-29 09:32:04 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:04 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_deal_symbol.text=¥ 2021-10-29 09:32:04 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_header_layout"]//*[@resource-id="com.jlpay.merch:id/rl_amount"]//*[@text="¥" and @resource-id="com.jlpay.merch:id/tv_deal_symbol"] 2021-10-29 09:32:04 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:04 INFO [Crawler.1080.doElementAction] mark 20211027095159/61_MainActivity.tag=TextView.depth=16.id=custom_text.text=行业聚焦.clicked.png to 20211027095159/62_MainActivity.tag=TextView.depth=16.id=tv_deal_symbol.text=¥.click.png 2021-10-29 09:32:04 INFO [AppiumClient.141.mark] read from 20211027095159/61_MainActivity.tag=TextView.depth=16.id=custom_text.text=行业聚焦.clicked.png 2021-10-29 09:32:04 INFO [AppiumClient.154.mark] write png 20211027095159/61_MainActivity.tag=TextView.depth=16.id=custom_text.text=行业聚焦.clicked.png 2021-10-29 09:32:04 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/62_MainActivity.tag=TextView.depth=16.id=tv_deal_symbol.text=¥.click.png 2021-10-29 09:32:05 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:05 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_header_layout"]//*[@resource-id="com.jlpay.merch:id/rl_amount"]//*[@text="¥" and @resource-id="com.jlpay.merch:id/tv_deal_symbol"]] 2021-10-29 09:32:05 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:05 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:05 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:05 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:05 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:05 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:06 INFO [Crawler.649.parsePageContext] url=BillActivity 2021-10-29 09:32:06 INFO [Crawler.673.parsePageContext] currentContentHash=ca6f5ea83dde0b46858f153ab54c8312 lastContentHash=4fc6740d77e4d4b407976942eb7d9da5 2021-10-29 09:32:06 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:06 INFO [Crawler.931.saveDom] save to 20211027095159/62_MainActivity.tag=TextView.depth=16.id=tv_deal_symbol.text=¥.dom 2021-10-29 09:32:06 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:06 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:06 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:06 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:06 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:06 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 63 2021-10-29 09:32:06 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:06 INFO [Crawler.425.needReturn] urlStack=Stack(BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:06 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:06 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:32:06 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:32:06 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:32:06 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:32:06 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:32:06 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:32:06 INFO [Crawler.851.crawl] BillActivity all elements had be clicked 2021-10-29 09:32:06 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:32:06 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:32:06 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:06 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:32:06 INFO [Crawler.996.doElementAction] current element = BillActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:32:06 INFO [Crawler.997.doElementAction] current index = 63 2021-10-29 09:32:06 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:06 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:32:06 INFO [Crawler.1000.doElementAction] current url = BillActivity 2021-10-29 09:32:06 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:32:06 INFO [Crawler.1002.doElementAction] current file name = BillActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:32:06 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:06 INFO [AppiumClient.53.findElementByURI] find by uri element= BillActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:32:06 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:32:06 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:06 INFO [Crawler.1080.doElementAction] mark 20211027095159/62_MainActivity.tag=TextView.depth=16.id=tv_deal_symbol.text=¥.clicked.png to 20211027095159/63_BillActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:32:06 INFO [AppiumClient.141.mark] read from 20211027095159/62_MainActivity.tag=TextView.depth=16.id=tv_deal_symbol.text=¥.clicked.png 2021-10-29 09:32:06 INFO [AppiumClient.154.mark] write png 20211027095159/62_MainActivity.tag=TextView.depth=16.id=tv_deal_symbol.text=¥.clicked.png 2021-10-29 09:32:06 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/63_BillActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:32:07 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:07 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:32:07 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:07 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:07 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:07 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:08 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:08 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:08 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:32:08 INFO [Crawler.673.parsePageContext] currentContentHash=4fc6740d77e4d4b407976942eb7d9da5 lastContentHash=ca6f5ea83dde0b46858f153ab54c8312 2021-10-29 09:32:08 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:08 INFO [Crawler.931.saveDom] save to 20211027095159/63_BillActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:32:08 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:08 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:09 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:09 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:09 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:09 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 64 2021-10-29 09:32:09 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:09 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:09 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:09 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:32:09 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:32:09 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:32:09 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:32:09 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:32:09 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:32:09 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_deal_amount.text=0.00 by first available element 2021-10-29 09:32:09 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:09 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_deal_amount.text=0.00 2021-10-29 09:32:09 INFO [Crawler.997.doElementAction] current index = 64 2021-10-29 09:32:09 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:09 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_header_layout"]//*[@resource-id="com.jlpay.merch:id/rl_amount"]//*[@text="0.00" and @resource-id="com.jlpay.merch:id/tv_deal_amount"] 2021-10-29 09:32:09 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:32:09 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:32:09 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_deal_amount.text=0.00 2021-10-29 09:32:09 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:09 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_deal_amount.text=0.00 2021-10-29 09:32:09 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_header_layout"]//*[@resource-id="com.jlpay.merch:id/rl_amount"]//*[@text="0.00" and @resource-id="com.jlpay.merch:id/tv_deal_amount"] 2021-10-29 09:32:09 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:09 INFO [Crawler.1080.doElementAction] mark 20211027095159/63_BillActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/64_MainActivity.tag=TextView.depth=16.id=tv_deal_amount.text=0.00.click.png 2021-10-29 09:32:09 INFO [AppiumClient.141.mark] read from 20211027095159/63_BillActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:32:09 INFO [AppiumClient.154.mark] write png 20211027095159/63_BillActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:32:09 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/64_MainActivity.tag=TextView.depth=16.id=tv_deal_amount.text=0.00.click.png 2021-10-29 09:32:09 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:09 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/home_appbar"]//*[@resource-id="com.jlpay.merch:id/ll_header_layout"]//*[@resource-id="com.jlpay.merch:id/rl_amount"]//*[@text="0.00" and @resource-id="com.jlpay.merch:id/tv_deal_amount"]] 2021-10-29 09:32:09 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:09 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:10 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:10 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:10 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:10 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:10 INFO [Crawler.649.parsePageContext] url=BillActivity 2021-10-29 09:32:10 INFO [Crawler.673.parsePageContext] currentContentHash=ca6f5ea83dde0b46858f153ab54c8312 lastContentHash=4fc6740d77e4d4b407976942eb7d9da5 2021-10-29 09:32:10 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:10 INFO [Crawler.931.saveDom] save to 20211027095159/64_MainActivity.tag=TextView.depth=16.id=tv_deal_amount.text=0.00.dom 2021-10-29 09:32:10 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:10 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:11 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:11 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:11 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:11 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 65 2021-10-29 09:32:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:11 INFO [Crawler.425.needReturn] urlStack=Stack(BillActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:32:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:32:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:32:11 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:32:11 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:32:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:32:11 INFO [Crawler.851.crawl] BillActivity all elements had be clicked 2021-10-29 09:32:11 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:32:11 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:32:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:11 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:32:11 INFO [Crawler.996.doElementAction] current element = BillActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:32:11 INFO [Crawler.997.doElementAction] current index = 65 2021-10-29 09:32:11 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:11 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:32:11 INFO [Crawler.1000.doElementAction] current url = BillActivity 2021-10-29 09:32:11 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:32:11 INFO [Crawler.1002.doElementAction] current file name = BillActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:32:11 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:11 INFO [AppiumClient.53.findElementByURI] find by uri element= BillActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:32:11 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:32:11 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:11 INFO [Crawler.1080.doElementAction] mark 20211027095159/64_MainActivity.tag=TextView.depth=16.id=tv_deal_amount.text=0.00.clicked.png to 20211027095159/65_BillActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:32:11 INFO [AppiumClient.141.mark] read from 20211027095159/64_MainActivity.tag=TextView.depth=16.id=tv_deal_amount.text=0.00.clicked.png 2021-10-29 09:32:11 INFO [AppiumClient.154.mark] write png 20211027095159/64_MainActivity.tag=TextView.depth=16.id=tv_deal_amount.text=0.00.clicked.png 2021-10-29 09:32:11 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/65_BillActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:32:11 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:11 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:32:11 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:11 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:12 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:12 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:12 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:12 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:12 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:32:12 INFO [Crawler.673.parsePageContext] currentContentHash=4fc6740d77e4d4b407976942eb7d9da5 lastContentHash=ca6f5ea83dde0b46858f153ab54c8312 2021-10-29 09:32:12 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:12 INFO [Crawler.931.saveDom] save to 20211027095159/65_BillActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:32:13 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:13 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:13 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:13 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:13 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:13 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 66 2021-10-29 09:32:13 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:13 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:13 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:13 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:32:13 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:32:13 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:32:13 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:32:13 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:32:13 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:32:13 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=11.id=tv_collect.text=收款 by first available element 2021-10-29 09:32:13 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:13 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView]=20 2021-10-29 09:32:13 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=11.id=tv_collect.text=收款 2021-10-29 09:32:13 INFO [Crawler.997.doElementAction] current index = 66 2021-10-29 09:32:13 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:13 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="收款" and @resource-id="com.jlpay.merch:id/tv_collect"] 2021-10-29 09:32:13 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:32:13 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:32:13 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=11.id=tv_collect.text=收款 2021-10-29 09:32:13 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:13 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=11.id=tv_collect.text=收款 2021-10-29 09:32:13 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="收款" and @resource-id="com.jlpay.merch:id/tv_collect"] 2021-10-29 09:32:13 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:14 INFO [Crawler.1080.doElementAction] mark 20211027095159/65_BillActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/66_MainActivity.tag=TextView.depth=11.id=tv_collect.text=收款.click.png 2021-10-29 09:32:14 INFO [AppiumClient.141.mark] read from 20211027095159/65_BillActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:32:14 INFO [AppiumClient.154.mark] write png 20211027095159/65_BillActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:32:14 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/66_MainActivity.tag=TextView.depth=11.id=tv_collect.text=收款.click.png 2021-10-29 09:32:14 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:14 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="收款" and @resource-id="com.jlpay.merch:id/tv_collect"]] 2021-10-29 09:32:14 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:14 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:14 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:14 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:15 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:15 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:15 INFO [Crawler.649.parsePageContext] url=CalculateActivity 2021-10-29 09:32:15 INFO [Crawler.673.parsePageContext] currentContentHash=c10aad881cd4d3e1613fe3c7de4274d1 lastContentHash=4fc6740d77e4d4b407976942eb7d9da5 2021-10-29 09:32:15 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:15 INFO [Crawler.931.saveDom] save to 20211027095159/66_MainActivity.tag=TextView.depth=11.id=tv_collect.text=收款.dom 2021-10-29 09:32:15 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:15 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:16 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:16 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:16 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:16 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 67 2021-10-29 09:32:16 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:16 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:16 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:16 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:16 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:16 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:16 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:16 INFO [Crawler.598.getAvailableElement] all - clicked size=21 2021-10-29 09:32:16 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=21 2021-10-29 09:32:16 INFO [Crawler.843.crawl] found CalculateActivity.tag=EditText.depth=10.id=et_calculate_note by first available element 2021-10-29 09:32:16 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:16 INFO [Crawler.996.doElementAction] current element = CalculateActivity.tag=EditText.depth=10.id=et_calculate_note 2021-10-29 09:32:16 INFO [Crawler.997.doElementAction] current index = 67 2021-10-29 09:32:16 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:16 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/rl_remark"]//*[@resource-id="com.jlpay.merch:id/et_calculate_note"] 2021-10-29 09:32:16 INFO [Crawler.1000.doElementAction] current url = CalculateActivity 2021-10-29 09:32:16 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.EditText 2021-10-29 09:32:16 INFO [Crawler.1002.doElementAction] current file name = CalculateActivity.tag=EditText.depth=10.id=et_calculate_note 2021-10-29 09:32:16 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:16 INFO [AppiumClient.53.findElementByURI] find by uri element= CalculateActivity.tag=EditText.depth=10.id=et_calculate_note 2021-10-29 09:32:16 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/rl_remark"]//*[@resource-id="com.jlpay.merch:id/et_calculate_note"] 2021-10-29 09:32:16 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:16 INFO [Crawler.1080.doElementAction] mark 20211027095159/66_MainActivity.tag=TextView.depth=11.id=tv_collect.text=收款.clicked.png to 20211027095159/67_CalculateActivity.tag=EditText.depth=10.id=et_calculate_note.click.png 2021-10-29 09:32:16 INFO [AppiumClient.141.mark] read from 20211027095159/66_MainActivity.tag=TextView.depth=11.id=tv_collect.text=收款.clicked.png 2021-10-29 09:32:16 INFO [AppiumClient.154.mark] write png 20211027095159/66_MainActivity.tag=TextView.depth=11.id=tv_collect.text=收款.clicked.png 2021-10-29 09:32:16 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/67_CalculateActivity.tag=EditText.depth=10.id=et_calculate_note.click.png 2021-10-29 09:32:16 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:16 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/rl_remark"]//*[@resource-id="com.jlpay.merch:id/et_calculate_note"]] 2021-10-29 09:32:16 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:16 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:17 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:17 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:17 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:17 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:17 INFO [Crawler.649.parsePageContext] url=CalculateActivity 2021-10-29 09:32:17 INFO [Crawler.673.parsePageContext] currentContentHash=11ce932351b5d6c86c3ed515ecbe7bcf lastContentHash=c10aad881cd4d3e1613fe3c7de4274d1 2021-10-29 09:32:17 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:17 INFO [Crawler.931.saveDom] save to 20211027095159/67_CalculateActivity.tag=EditText.depth=10.id=et_calculate_note.dom 2021-10-29 09:32:17 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:17 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:18 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.EditText]=3 2021-10-29 09:32:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 68 2021-10-29 09:32:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:18 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:32:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:32:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:32:18 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:32:18 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:32:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:32:18 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=tv_note_cancer.text=取消 by first available element 2021-10-29 09:32:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:18 INFO [TagLimitPlugin.35.beforeElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=1000 with conf.tagLimit 2021-10-29 09:32:18 INFO [Crawler.996.doElementAction] current element = CalculateActivity.tag=TextView.depth=10.id=tv_note_cancer.text=取消 2021-10-29 09:32:18 INFO [Crawler.997.doElementAction] current index = 68 2021-10-29 09:32:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_note_cancer"] 2021-10-29 09:32:18 INFO [Crawler.1000.doElementAction] current url = CalculateActivity 2021-10-29 09:32:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:32:18 INFO [Crawler.1002.doElementAction] current file name = CalculateActivity.tag=TextView.depth=10.id=tv_note_cancer.text=取消 2021-10-29 09:32:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:18 INFO [AppiumClient.53.findElementByURI] find by uri element= CalculateActivity.tag=TextView.depth=10.id=tv_note_cancer.text=取消 2021-10-29 09:32:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_note_cancer"] 2021-10-29 09:32:18 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:18 INFO [Crawler.1080.doElementAction] mark 20211027095159/67_CalculateActivity.tag=EditText.depth=10.id=et_calculate_note.clicked.png to 20211027095159/68_CalculateActivity.tag=TextView.depth=10.id=tv_note_cancer.text=取消.click.png 2021-10-29 09:32:18 INFO [AppiumClient.141.mark] read from 20211027095159/67_CalculateActivity.tag=EditText.depth=10.id=et_calculate_note.clicked.png 2021-10-29 09:32:18 INFO [AppiumClient.154.mark] write png 20211027095159/67_CalculateActivity.tag=EditText.depth=10.id=et_calculate_note.clicked.png 2021-10-29 09:32:18 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/68_CalculateActivity.tag=TextView.depth=10.id=tv_note_cancer.text=取消.click.png 2021-10-29 09:32:18 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:18 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_note_cancer"]] 2021-10-29 09:32:18 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:18 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:19 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:19 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:19 INFO [Crawler.649.parsePageContext] url=CalculateActivity 2021-10-29 09:32:19 INFO [Crawler.673.parsePageContext] currentContentHash=c10aad881cd4d3e1613fe3c7de4274d1 lastContentHash=11ce932351b5d6c86c3ed515ecbe7bcf 2021-10-29 09:32:19 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:19 INFO [Crawler.931.saveDom] save to 20211027095159/68_CalculateActivity.tag=TextView.depth=10.id=tv_note_cancer.text=取消.dom 2021-10-29 09:32:19 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:19 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:20 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:20 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:20 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:20 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=999 2021-10-29 09:32:20 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 69 2021-10-29 09:32:20 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:20 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:20 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:20 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:20 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:20 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:20 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:20 INFO [Crawler.598.getAvailableElement] all - clicked size=20 2021-10-29 09:32:20 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=20 2021-10-29 09:32:20 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_1.text=1 by first available element 2021-10-29 09:32:20 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:20 INFO [Crawler.996.doElementAction] current element = CalculateActivity.tag=TextView.depth=10.id=textview_1.text=1 2021-10-29 09:32:20 INFO [Crawler.997.doElementAction] current index = 69 2021-10-29 09:32:20 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:20 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@text="1" and @resource-id="com.jlpay.merch:id/textview_1"] 2021-10-29 09:32:20 INFO [Crawler.1000.doElementAction] current url = CalculateActivity 2021-10-29 09:32:20 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:32:20 INFO [Crawler.1002.doElementAction] current file name = CalculateActivity.tag=TextView.depth=10.id=textview_1.text=1 2021-10-29 09:32:20 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:20 INFO [AppiumClient.53.findElementByURI] find by uri element= CalculateActivity.tag=TextView.depth=10.id=textview_1.text=1 2021-10-29 09:32:20 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@text="1" and @resource-id="com.jlpay.merch:id/textview_1"] 2021-10-29 09:32:20 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:20 INFO [Crawler.1080.doElementAction] mark 20211027095159/68_CalculateActivity.tag=TextView.depth=10.id=tv_note_cancer.text=取消.clicked.png to 20211027095159/69_CalculateActivity.tag=TextView.depth=10.id=textview_1.text=1.click.png 2021-10-29 09:32:20 INFO [AppiumClient.141.mark] read from 20211027095159/68_CalculateActivity.tag=TextView.depth=10.id=tv_note_cancer.text=取消.clicked.png 2021-10-29 09:32:20 INFO [AppiumClient.154.mark] write png 20211027095159/68_CalculateActivity.tag=TextView.depth=10.id=tv_note_cancer.text=取消.clicked.png 2021-10-29 09:32:20 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/69_CalculateActivity.tag=TextView.depth=10.id=textview_1.text=1.click.png 2021-10-29 09:32:20 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:20 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@text="1" and @resource-id="com.jlpay.merch:id/textview_1"]] 2021-10-29 09:32:20 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:20 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:21 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:21 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:21 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:21 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:21 INFO [Crawler.649.parsePageContext] url=CalculateActivity 2021-10-29 09:32:21 INFO [Crawler.673.parsePageContext] currentContentHash=44c04e8985baf0dceecb1f2055cfebd8 lastContentHash=c10aad881cd4d3e1613fe3c7de4274d1 2021-10-29 09:32:21 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:21 INFO [Crawler.931.saveDom] save to 20211027095159/69_CalculateActivity.tag=TextView.depth=10.id=textview_1.text=1.dom 2021-10-29 09:32:21 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:21 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:22 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:22 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:22 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:22 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:32:22 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 70 2021-10-29 09:32:22 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:22 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:22 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:22 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:22 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:22 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:22 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:22 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:32:22 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=19 2021-10-29 09:32:22 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_2.text=2 by first available element 2021-10-29 09:32:22 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:22 INFO [Crawler.996.doElementAction] current element = CalculateActivity.tag=TextView.depth=10.id=textview_2.text=2 2021-10-29 09:32:22 INFO [Crawler.997.doElementAction] current index = 70 2021-10-29 09:32:22 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:22 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@text="2" and @resource-id="com.jlpay.merch:id/textview_2"] 2021-10-29 09:32:22 INFO [Crawler.1000.doElementAction] current url = CalculateActivity 2021-10-29 09:32:22 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:32:22 INFO [Crawler.1002.doElementAction] current file name = CalculateActivity.tag=TextView.depth=10.id=textview_2.text=2 2021-10-29 09:32:22 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:22 INFO [AppiumClient.53.findElementByURI] find by uri element= CalculateActivity.tag=TextView.depth=10.id=textview_2.text=2 2021-10-29 09:32:22 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@text="2" and @resource-id="com.jlpay.merch:id/textview_2"] 2021-10-29 09:32:23 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:23 INFO [Crawler.1080.doElementAction] mark 20211027095159/69_CalculateActivity.tag=TextView.depth=10.id=textview_1.text=1.clicked.png to 20211027095159/70_CalculateActivity.tag=TextView.depth=10.id=textview_2.text=2.click.png 2021-10-29 09:32:23 INFO [AppiumClient.141.mark] read from 20211027095159/69_CalculateActivity.tag=TextView.depth=10.id=textview_1.text=1.clicked.png 2021-10-29 09:32:23 INFO [AppiumClient.154.mark] write png 20211027095159/69_CalculateActivity.tag=TextView.depth=10.id=textview_1.text=1.clicked.png 2021-10-29 09:32:23 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/70_CalculateActivity.tag=TextView.depth=10.id=textview_2.text=2.click.png 2021-10-29 09:32:23 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:23 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@text="2" and @resource-id="com.jlpay.merch:id/textview_2"]] 2021-10-29 09:32:23 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:23 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:23 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:23 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:24 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:24 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:24 INFO [Crawler.649.parsePageContext] url=CalculateActivity 2021-10-29 09:32:24 INFO [Crawler.673.parsePageContext] currentContentHash=701def0ba149edda45a90f1cf18e624c lastContentHash=44c04e8985baf0dceecb1f2055cfebd8 2021-10-29 09:32:24 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:24 INFO [Crawler.931.saveDom] save to 20211027095159/70_CalculateActivity.tag=TextView.depth=10.id=textview_2.text=2.dom 2021-10-29 09:32:24 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:24 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:24 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:24 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:24 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:24 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:32:24 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 71 2021-10-29 09:32:24 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:24 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:24 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:24 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:24 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:24 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:24 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:24 INFO [Crawler.598.getAvailableElement] all - clicked size=18 2021-10-29 09:32:24 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=18 2021-10-29 09:32:24 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_3.text=3 by first available element 2021-10-29 09:32:24 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:24 INFO [Crawler.996.doElementAction] current element = CalculateActivity.tag=TextView.depth=10.id=textview_3.text=3 2021-10-29 09:32:24 INFO [Crawler.997.doElementAction] current index = 71 2021-10-29 09:32:24 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:24 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@text="3" and @resource-id="com.jlpay.merch:id/textview_3"] 2021-10-29 09:32:24 INFO [Crawler.1000.doElementAction] current url = CalculateActivity 2021-10-29 09:32:24 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:32:24 INFO [Crawler.1002.doElementAction] current file name = CalculateActivity.tag=TextView.depth=10.id=textview_3.text=3 2021-10-29 09:32:24 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:24 INFO [AppiumClient.53.findElementByURI] find by uri element= CalculateActivity.tag=TextView.depth=10.id=textview_3.text=3 2021-10-29 09:32:24 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@text="3" and @resource-id="com.jlpay.merch:id/textview_3"] 2021-10-29 09:32:25 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:25 INFO [Crawler.1080.doElementAction] mark 20211027095159/70_CalculateActivity.tag=TextView.depth=10.id=textview_2.text=2.clicked.png to 20211027095159/71_CalculateActivity.tag=TextView.depth=10.id=textview_3.text=3.click.png 2021-10-29 09:32:25 INFO [AppiumClient.141.mark] read from 20211027095159/70_CalculateActivity.tag=TextView.depth=10.id=textview_2.text=2.clicked.png 2021-10-29 09:32:25 INFO [AppiumClient.154.mark] write png 20211027095159/70_CalculateActivity.tag=TextView.depth=10.id=textview_2.text=2.clicked.png 2021-10-29 09:32:25 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/71_CalculateActivity.tag=TextView.depth=10.id=textview_3.text=3.click.png 2021-10-29 09:32:25 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:25 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@text="3" and @resource-id="com.jlpay.merch:id/textview_3"]] 2021-10-29 09:32:25 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:25 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:25 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:25 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:26 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:26 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:26 INFO [Crawler.649.parsePageContext] url=CalculateActivity 2021-10-29 09:32:26 INFO [Crawler.673.parsePageContext] currentContentHash=a644ac06705f289a4fb9fbef664635af lastContentHash=701def0ba149edda45a90f1cf18e624c 2021-10-29 09:32:26 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:26 INFO [Crawler.931.saveDom] save to 20211027095159/71_CalculateActivity.tag=TextView.depth=10.id=textview_3.text=3.dom 2021-10-29 09:32:26 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:26 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:26 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:26 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:26 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:26 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=1 2021-10-29 09:32:26 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 72 2021-10-29 09:32:26 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:26 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:26 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:26 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:26 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:26 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:26 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:26 INFO [Crawler.598.getAvailableElement] all - clicked size=17 2021-10-29 09:32:26 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=17 2021-10-29 09:32:26 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_divi.text=÷ by first available element 2021-10-29 09:32:26 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:26 INFO [Crawler.996.doElementAction] current element = CalculateActivity.tag=TextView.depth=10.id=textview_divi.text=÷ 2021-10-29 09:32:26 INFO [Crawler.997.doElementAction] current index = 72 2021-10-29 09:32:26 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:26 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@text="÷" and @resource-id="com.jlpay.merch:id/textview_divi"] 2021-10-29 09:32:26 INFO [Crawler.1000.doElementAction] current url = CalculateActivity 2021-10-29 09:32:26 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:32:26 INFO [Crawler.1002.doElementAction] current file name = CalculateActivity.tag=TextView.depth=10.id=textview_divi.text=÷ 2021-10-29 09:32:26 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:26 INFO [AppiumClient.53.findElementByURI] find by uri element= CalculateActivity.tag=TextView.depth=10.id=textview_divi.text=÷ 2021-10-29 09:32:26 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@text="÷" and @resource-id="com.jlpay.merch:id/textview_divi"] 2021-10-29 09:32:27 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:27 INFO [Crawler.1080.doElementAction] mark 20211027095159/71_CalculateActivity.tag=TextView.depth=10.id=textview_3.text=3.clicked.png to 20211027095159/72_CalculateActivity.tag=TextView.depth=10.id=textview_divi.text=÷.click.png 2021-10-29 09:32:27 INFO [AppiumClient.141.mark] read from 20211027095159/71_CalculateActivity.tag=TextView.depth=10.id=textview_3.text=3.clicked.png 2021-10-29 09:32:27 INFO [AppiumClient.154.mark] write png 20211027095159/71_CalculateActivity.tag=TextView.depth=10.id=textview_3.text=3.clicked.png 2021-10-29 09:32:27 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/72_CalculateActivity.tag=TextView.depth=10.id=textview_divi.text=÷.click.png 2021-10-29 09:32:27 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:27 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@text="÷" and @resource-id="com.jlpay.merch:id/textview_divi"]] 2021-10-29 09:32:27 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:27 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:27 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:27 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:28 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:28 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:28 INFO [Crawler.649.parsePageContext] url=CalculateActivity 2021-10-29 09:32:28 INFO [Crawler.673.parsePageContext] currentContentHash=c9c3a68edd973c740e682eec3c56ab4c lastContentHash=a644ac06705f289a4fb9fbef664635af 2021-10-29 09:32:28 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:28 INFO [Crawler.931.saveDom] save to 20211027095159/72_CalculateActivity.tag=TextView.depth=10.id=textview_divi.text=÷.dom 2021-10-29 09:32:28 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:28 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:29 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:29 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:29 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:29 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:32:29 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 73 2021-10-29 09:32:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:29 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:29 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:29 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:32:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=16 2021-10-29 09:32:29 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_4.text=4 by first available element 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:32:29 INFO [TagLimitPlugin.45.beforeElementAction] CalculateActivity.tag=TextView.depth=10.id=textview_4.text=4 need skip 2021-10-29 09:32:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:29 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:29 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:29 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:32:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=15 2021-10-29 09:32:29 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_5.text=5 by first available element 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:32:29 INFO [TagLimitPlugin.45.beforeElementAction] CalculateActivity.tag=TextView.depth=10.id=textview_5.text=5 need skip 2021-10-29 09:32:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:29 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:29 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:29 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:32:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=14 2021-10-29 09:32:29 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_6.text=6 by first available element 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:32:29 INFO [TagLimitPlugin.45.beforeElementAction] CalculateActivity.tag=TextView.depth=10.id=textview_6.text=6 need skip 2021-10-29 09:32:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:29 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:29 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:29 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:32:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=13 2021-10-29 09:32:29 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_mul.text=x by first available element 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:32:29 INFO [TagLimitPlugin.45.beforeElementAction] CalculateActivity.tag=TextView.depth=10.id=textview_mul.text=x need skip 2021-10-29 09:32:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:29 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:29 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:29 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:32:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=12 2021-10-29 09:32:29 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_7.text=7 by first available element 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:32:29 INFO [TagLimitPlugin.45.beforeElementAction] CalculateActivity.tag=TextView.depth=10.id=textview_7.text=7 need skip 2021-10-29 09:32:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:29 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:29 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:29 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:32:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=11 2021-10-29 09:32:29 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_8.text=8 by first available element 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:32:29 INFO [TagLimitPlugin.45.beforeElementAction] CalculateActivity.tag=TextView.depth=10.id=textview_8.text=8 need skip 2021-10-29 09:32:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:29 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:29 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:29 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:32:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=10 2021-10-29 09:32:29 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_9.text=9 by first available element 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:32:29 INFO [TagLimitPlugin.45.beforeElementAction] CalculateActivity.tag=TextView.depth=10.id=textview_9.text=9 need skip 2021-10-29 09:32:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:29 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:29 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:29 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:32:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:32:29 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_sub.text=- by first available element 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:32:29 INFO [TagLimitPlugin.45.beforeElementAction] CalculateActivity.tag=TextView.depth=10.id=textview_sub.text=- need skip 2021-10-29 09:32:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:29 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:29 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:29 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:32:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:32:29 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_point.text=. by first available element 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:32:29 INFO [TagLimitPlugin.45.beforeElementAction] CalculateActivity.tag=TextView.depth=10.id=textview_point.text=. need skip 2021-10-29 09:32:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:29 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:29 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:29 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:32:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:32:29 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_0.text=0 by first available element 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:32:29 INFO [TagLimitPlugin.45.beforeElementAction] CalculateActivity.tag=TextView.depth=10.id=textview_0.text=0 need skip 2021-10-29 09:32:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:29 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:29 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:29 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:32:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:32:29 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_add.text=+ by first available element 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:32:29 INFO [TagLimitPlugin.45.beforeElementAction] CalculateActivity.tag=TextView.depth=10.id=textview_add.text=+ need skip 2021-10-29 09:32:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:29 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:29 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:29 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:32:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:32:29 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_clear.text=C by first available element 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:32:29 INFO [TagLimitPlugin.45.beforeElementAction] CalculateActivity.tag=TextView.depth=10.id=textview_clear.text=C need skip 2021-10-29 09:32:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:29 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:29 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:29 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:32:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:32:29 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=10.id=textview_end.text=收款 by first available element 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:32:29 INFO [TagLimitPlugin.45.beforeElementAction] CalculateActivity.tag=TextView.depth=10.id=textview_end.text=收款 need skip 2021-10-29 09:32:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:29 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:29 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:29 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:32:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:32:29 INFO [Crawler.843.crawl] found CalculateActivity.tag=ImageView.depth=10.id=im_clear by first available element 2021-10-29 09:32:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:29 INFO [Crawler.996.doElementAction] current element = CalculateActivity.tag=ImageView.depth=10.id=im_clear 2021-10-29 09:32:29 INFO [Crawler.997.doElementAction] current index = 73 2021-10-29 09:32:29 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:29 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_cauculate_head"]//*[@resource-id="com.jlpay.merch:id/rl_deal_result"]//*[@resource-id="com.jlpay.merch:id/im_clear"] 2021-10-29 09:32:29 INFO [Crawler.1000.doElementAction] current url = CalculateActivity 2021-10-29 09:32:29 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:32:29 INFO [Crawler.1002.doElementAction] current file name = CalculateActivity.tag=ImageView.depth=10.id=im_clear 2021-10-29 09:32:29 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:29 INFO [AppiumClient.53.findElementByURI] find by uri element= CalculateActivity.tag=ImageView.depth=10.id=im_clear 2021-10-29 09:32:29 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_cauculate_head"]//*[@resource-id="com.jlpay.merch:id/rl_deal_result"]//*[@resource-id="com.jlpay.merch:id/im_clear"] 2021-10-29 09:32:29 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:29 INFO [Crawler.1080.doElementAction] mark 20211027095159/72_CalculateActivity.tag=TextView.depth=10.id=textview_divi.text=÷.clicked.png to 20211027095159/73_CalculateActivity.tag=ImageView.depth=10.id=im_clear.click.png 2021-10-29 09:32:29 INFO [AppiumClient.141.mark] read from 20211027095159/72_CalculateActivity.tag=TextView.depth=10.id=textview_divi.text=÷.clicked.png 2021-10-29 09:32:29 INFO [AppiumClient.154.mark] write png 20211027095159/72_CalculateActivity.tag=TextView.depth=10.id=textview_divi.text=÷.clicked.png 2021-10-29 09:32:29 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/73_CalculateActivity.tag=ImageView.depth=10.id=im_clear.click.png 2021-10-29 09:32:29 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:29 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_cauculate_head"]//*[@resource-id="com.jlpay.merch:id/rl_deal_result"]//*[@resource-id="com.jlpay.merch:id/im_clear"]] 2021-10-29 09:32:29 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:29 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:30 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:30 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:30 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:30 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:30 INFO [Crawler.649.parsePageContext] url=CalculateActivity 2021-10-29 09:32:30 INFO [Crawler.673.parsePageContext] currentContentHash=c10aad881cd4d3e1613fe3c7de4274d1 lastContentHash=c9c3a68edd973c740e682eec3c56ab4c 2021-10-29 09:32:30 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:30 INFO [Crawler.931.saveDom] save to 20211027095159/73_CalculateActivity.tag=ImageView.depth=10.id=im_clear.dom 2021-10-29 09:32:30 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:30 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:31 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:31 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:31 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:31 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView]=3 2021-10-29 09:32:31 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 74 2021-10-29 09:32:31 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:31 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:31 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:31 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:31 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:31 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:31 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:31 INFO [Crawler.598.getAvailableElement] all - clicked size=15 2021-10-29 09:32:31 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:32:31 INFO [Crawler.843.crawl] found CalculateActivity.tag=ImageView.depth=10.id=textview_del by first available element 2021-10-29 09:32:31 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:31 INFO [Crawler.996.doElementAction] current element = CalculateActivity.tag=ImageView.depth=10.id=textview_del 2021-10-29 09:32:31 INFO [Crawler.997.doElementAction] current index = 74 2021-10-29 09:32:31 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:31 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@resource-id="com.jlpay.merch:id/textview_del"] 2021-10-29 09:32:31 INFO [Crawler.1000.doElementAction] current url = CalculateActivity 2021-10-29 09:32:31 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView 2021-10-29 09:32:31 INFO [Crawler.1002.doElementAction] current file name = CalculateActivity.tag=ImageView.depth=10.id=textview_del 2021-10-29 09:32:31 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:31 INFO [AppiumClient.53.findElementByURI] find by uri element= CalculateActivity.tag=ImageView.depth=10.id=textview_del 2021-10-29 09:32:31 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@resource-id="com.jlpay.merch:id/textview_del"] 2021-10-29 09:32:31 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:31 INFO [Crawler.1080.doElementAction] mark 20211027095159/73_CalculateActivity.tag=ImageView.depth=10.id=im_clear.clicked.png to 20211027095159/74_CalculateActivity.tag=ImageView.depth=10.id=textview_del.click.png 2021-10-29 09:32:31 INFO [AppiumClient.141.mark] read from 20211027095159/73_CalculateActivity.tag=ImageView.depth=10.id=im_clear.clicked.png 2021-10-29 09:32:31 INFO [AppiumClient.154.mark] write png 20211027095159/73_CalculateActivity.tag=ImageView.depth=10.id=im_clear.clicked.png 2021-10-29 09:32:31 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/74_CalculateActivity.tag=ImageView.depth=10.id=textview_del.click.png 2021-10-29 09:32:31 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:31 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/ll_key_button"]//*[@resource-id="com.jlpay.merch:id/textview_del"]] 2021-10-29 09:32:31 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:31 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:32 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:32 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:32 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:32 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:32 INFO [Crawler.649.parsePageContext] url=CalculateActivity 2021-10-29 09:32:32 INFO [Crawler.673.parsePageContext] currentContentHash=c10aad881cd4d3e1613fe3c7de4274d1 lastContentHash=c10aad881cd4d3e1613fe3c7de4274d1 2021-10-29 09:32:32 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:32:32 INFO [Crawler.931.saveDom] save to 20211027095159/74_CalculateActivity.tag=ImageView.depth=10.id=textview_del.dom 2021-10-29 09:32:32 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:32 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:34 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:34 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:34 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:34 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView]=3 2021-10-29 09:32:34 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 75 2021-10-29 09:32:34 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:34 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:34 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:34 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:34 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:34 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:34 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:34 INFO [Crawler.598.getAvailableElement] all - clicked size=14 2021-10-29 09:32:34 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:32:34 INFO [Crawler.843.crawl] found CalculateActivity.tag=TextView.depth=9.id=tv_right.text=备注 by first available element 2021-10-29 09:32:34 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:34 INFO [Crawler.996.doElementAction] current element = CalculateActivity.tag=TextView.depth=9.id=tv_right.text=备注 2021-10-29 09:32:34 INFO [Crawler.997.doElementAction] current index = 75 2021-10-29 09:32:34 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:34 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="备注" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:32:34 INFO [Crawler.1000.doElementAction] current url = CalculateActivity 2021-10-29 09:32:34 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:32:34 INFO [Crawler.1002.doElementAction] current file name = CalculateActivity.tag=TextView.depth=9.id=tv_right.text=备注 2021-10-29 09:32:34 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:34 INFO [AppiumClient.53.findElementByURI] find by uri element= CalculateActivity.tag=TextView.depth=9.id=tv_right.text=备注 2021-10-29 09:32:34 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="备注" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:32:34 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:34 INFO [Crawler.1080.doElementAction] mark 20211027095159/74_CalculateActivity.tag=ImageView.depth=10.id=textview_del.clicked.png to 20211027095159/75_CalculateActivity.tag=TextView.depth=9.id=tv_right.text=备注.click.png 2021-10-29 09:32:34 INFO [AppiumClient.141.mark] read from 20211027095159/74_CalculateActivity.tag=ImageView.depth=10.id=textview_del.clicked.png 2021-10-29 09:32:34 INFO [AppiumClient.154.mark] write png 20211027095159/74_CalculateActivity.tag=ImageView.depth=10.id=textview_del.clicked.png 2021-10-29 09:32:34 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/75_CalculateActivity.tag=TextView.depth=9.id=tv_right.text=备注.click.png 2021-10-29 09:32:34 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:34 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="备注" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:32:34 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:34 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:35 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:35 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:35 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:35 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:35 INFO [Crawler.649.parsePageContext] url=CalculateActivity 2021-10-29 09:32:35 INFO [Crawler.673.parsePageContext] currentContentHash=c10aad881cd4d3e1613fe3c7de4274d1 lastContentHash=c10aad881cd4d3e1613fe3c7de4274d1 2021-10-29 09:32:35 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:32:35 INFO [Crawler.931.saveDom] save to 20211027095159/75_CalculateActivity.tag=TextView.depth=9.id=tv_right.text=备注.dom 2021-10-29 09:32:35 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:35 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:36 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:36 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:36 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:36 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CalculateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:32:36 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 76 2021-10-29 09:32:36 INFO [ReportPlugin.39.afterElementAction] 76-48 > 76/10+20 2021-10-29 09:32:36 INFO [ReportPlugin.40.afterElementAction] generate test report 2021-10-29 09:32:41 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:41 INFO [Crawler.425.needReturn] urlStack=Stack(CalculateActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:41 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:41 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:32:41 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:32:41 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:32:41 INFO [Crawler.590.getAvailableElement] all - backButton size=21 2021-10-29 09:32:41 INFO [Crawler.598.getAvailableElement] all - clicked size=13 2021-10-29 09:32:41 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:32:41 INFO [Crawler.851.crawl] CalculateActivity all elements had be clicked 2021-10-29 09:32:41 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:32:41 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:32:41 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:41 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:32:41 INFO [Crawler.996.doElementAction] current element = CalculateActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:32:41 INFO [Crawler.997.doElementAction] current index = 76 2021-10-29 09:32:41 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:41 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:32:41 INFO [Crawler.1000.doElementAction] current url = CalculateActivity 2021-10-29 09:32:41 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:32:41 INFO [Crawler.1002.doElementAction] current file name = CalculateActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:32:41 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:41 INFO [AppiumClient.53.findElementByURI] find by uri element= CalculateActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:32:41 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:32:41 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:41 INFO [Crawler.1080.doElementAction] mark 20211027095159/75_CalculateActivity.tag=TextView.depth=9.id=tv_right.text=备注.clicked.png to 20211027095159/76_CalculateActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:32:41 INFO [AppiumClient.141.mark] read from 20211027095159/75_CalculateActivity.tag=TextView.depth=9.id=tv_right.text=备注.clicked.png 2021-10-29 09:32:41 INFO [AppiumClient.154.mark] write png 20211027095159/75_CalculateActivity.tag=TextView.depth=9.id=tv_right.text=备注.clicked.png 2021-10-29 09:32:41 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/76_CalculateActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:32:42 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:42 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_calculcate"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:32:42 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:42 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:42 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:42 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:43 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:43 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:43 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:32:43 INFO [Crawler.673.parsePageContext] currentContentHash=4fc6740d77e4d4b407976942eb7d9da5 lastContentHash=c10aad881cd4d3e1613fe3c7de4274d1 2021-10-29 09:32:43 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:43 INFO [Crawler.931.saveDom] save to 20211027095159/76_CalculateActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:32:43 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:43 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:44 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:44 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:44 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:44 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 77 2021-10-29 09:32:44 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:44 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:44 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:44 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:32:44 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:32:44 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:32:44 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:32:44 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:32:44 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:32:44 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=11.id=title.text=嘉联支付 by first available element 2021-10-29 09:32:44 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:44 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=11.id=title.text=嘉联支付 2021-10-29 09:32:44 INFO [Crawler.997.doElementAction] current index = 77 2021-10-29 09:32:44 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:44 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="嘉联支付" and @resource-id="com.jlpay.merch:id/title"] 2021-10-29 09:32:44 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:32:44 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:32:44 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=11.id=title.text=嘉联支付 2021-10-29 09:32:44 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:44 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=11.id=title.text=嘉联支付 2021-10-29 09:32:44 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="嘉联支付" and @resource-id="com.jlpay.merch:id/title"] 2021-10-29 09:32:44 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:44 INFO [Crawler.1080.doElementAction] mark 20211027095159/76_CalculateActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/77_MainActivity.tag=TextView.depth=11.id=title.text=嘉联支付.click.png 2021-10-29 09:32:44 INFO [AppiumClient.141.mark] read from 20211027095159/76_CalculateActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:32:44 INFO [AppiumClient.154.mark] write png 20211027095159/76_CalculateActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:32:44 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/77_MainActivity.tag=TextView.depth=11.id=title.text=嘉联支付.click.png 2021-10-29 09:32:44 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:44 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="嘉联支付" and @resource-id="com.jlpay.merch:id/title"]] 2021-10-29 09:32:45 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:45 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:45 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:45 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:46 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:46 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:46 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:32:46 INFO [Crawler.673.parsePageContext] currentContentHash=4fc6740d77e4d4b407976942eb7d9da5 lastContentHash=4fc6740d77e4d4b407976942eb7d9da5 2021-10-29 09:32:46 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:32:46 INFO [Crawler.931.saveDom] save to 20211027095159/77_MainActivity.tag=TextView.depth=11.id=title.text=嘉联支付.dom 2021-10-29 09:32:46 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:46 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:47 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:47 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:47 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:47 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:32:47 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 78 2021-10-29 09:32:47 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:47 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:47 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:47 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:32:47 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:32:47 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:32:47 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:32:47 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:32:47 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:32:47 INFO [Crawler.843.crawl] found MainActivity.tag=ImageView.depth=11.id=iv_msg by first available element 2021-10-29 09:32:47 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:47 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView]=20 2021-10-29 09:32:47 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=ImageView.depth=11.id=iv_msg 2021-10-29 09:32:47 INFO [Crawler.997.doElementAction] current index = 78 2021-10-29 09:32:47 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:47 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/iv_msg"] 2021-10-29 09:32:47 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:32:47 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:32:47 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=ImageView.depth=11.id=iv_msg 2021-10-29 09:32:47 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:47 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=ImageView.depth=11.id=iv_msg 2021-10-29 09:32:47 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/iv_msg"] 2021-10-29 09:32:47 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:47 INFO [Crawler.1080.doElementAction] mark 20211027095159/77_MainActivity.tag=TextView.depth=11.id=title.text=嘉联支付.clicked.png to 20211027095159/78_MainActivity.tag=ImageView.depth=11.id=iv_msg.click.png 2021-10-29 09:32:47 INFO [AppiumClient.141.mark] read from 20211027095159/77_MainActivity.tag=TextView.depth=11.id=title.text=嘉联支付.clicked.png 2021-10-29 09:32:47 INFO [AppiumClient.154.mark] write png 20211027095159/77_MainActivity.tag=TextView.depth=11.id=title.text=嘉联支付.clicked.png 2021-10-29 09:32:47 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/78_MainActivity.tag=ImageView.depth=11.id=iv_msg.click.png 2021-10-29 09:32:47 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:47 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/iv_msg"]] 2021-10-29 09:32:47 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:47 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:48 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:48 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:48 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:48 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:48 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:32:48 INFO [Crawler.673.parsePageContext] currentContentHash=02c40888b8cf222fd8c02a2aa4601b6e lastContentHash=4fc6740d77e4d4b407976942eb7d9da5 2021-10-29 09:32:48 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:48 INFO [Crawler.931.saveDom] save to 20211027095159/78_MainActivity.tag=ImageView.depth=11.id=iv_msg.dom 2021-10-29 09:32:48 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:48 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:49 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:49 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:49 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:49 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView]=3 2021-10-29 09:32:49 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 79 2021-10-29 09:32:49 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:49 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:49 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:49 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:32:49 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:32:49 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:32:49 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:32:49 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:32:49 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:32:49 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=7.id=rt_menu_item_text.text=消息中心 by first available element 2021-10-29 09:32:49 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:49 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=7.id=rt_menu_item_text.text=消息中心 2021-10-29 09:32:49 INFO [Crawler.997.doElementAction] current index = 79 2021-10-29 09:32:49 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:49 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/recy_menu"]//*[@text="消息中心" and @resource-id="com.jlpay.merch:id/rt_menu_item_text"] 2021-10-29 09:32:49 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:32:49 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:32:49 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=7.id=rt_menu_item_text.text=消息中心 2021-10-29 09:32:49 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:49 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=7.id=rt_menu_item_text.text=消息中心 2021-10-29 09:32:49 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/recy_menu"]//*[@text="消息中心" and @resource-id="com.jlpay.merch:id/rt_menu_item_text"] 2021-10-29 09:32:49 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:49 INFO [Crawler.1080.doElementAction] mark 20211027095159/78_MainActivity.tag=ImageView.depth=11.id=iv_msg.clicked.png to 20211027095159/79_MainActivity.tag=TextView.depth=7.id=rt_menu_item_text.text=消息中心.click.png 2021-10-29 09:32:49 INFO [AppiumClient.141.mark] read from 20211027095159/78_MainActivity.tag=ImageView.depth=11.id=iv_msg.clicked.png 2021-10-29 09:32:49 INFO [AppiumClient.154.mark] write png 20211027095159/78_MainActivity.tag=ImageView.depth=11.id=iv_msg.clicked.png 2021-10-29 09:32:49 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/79_MainActivity.tag=TextView.depth=7.id=rt_menu_item_text.text=消息中心.click.png 2021-10-29 09:32:50 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:50 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/recy_menu"]//*[@text="消息中心" and @resource-id="com.jlpay.merch:id/rt_menu_item_text"]] 2021-10-29 09:32:50 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:50 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:50 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:50 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:50 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:50 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:51 INFO [Crawler.649.parsePageContext] url=MsgCenterActivity 2021-10-29 09:32:51 INFO [Crawler.673.parsePageContext] currentContentHash=bb48abcb4db53377a59086d677004996 lastContentHash=02c40888b8cf222fd8c02a2aa4601b6e 2021-10-29 09:32:51 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:51 INFO [Crawler.931.saveDom] save to 20211027095159/79_MainActivity.tag=TextView.depth=7.id=rt_menu_item_text.text=消息中心.dom 2021-10-29 09:32:51 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:51 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:51 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:51 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:51 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:51 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 80 2021-10-29 09:32:51 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:51 INFO [Crawler.425.needReturn] urlStack=Stack(MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:51 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:51 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:32:51 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:32:51 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:32:51 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:32:51 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:32:51 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:32:51 INFO [Crawler.843.crawl] found MsgCenterActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:32:51 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:51 INFO [Crawler.996.doElementAction] current element = MsgCenterActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:32:51 INFO [Crawler.997.doElementAction] current index = 80 2021-10-29 09:32:51 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:51 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:32:51 INFO [Crawler.1000.doElementAction] current url = MsgCenterActivity 2021-10-29 09:32:51 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:32:51 INFO [Crawler.1002.doElementAction] current file name = MsgCenterActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:32:51 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:51 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgCenterActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:32:51 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:32:51 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:51 INFO [Crawler.1080.doElementAction] mark 20211027095159/79_MainActivity.tag=TextView.depth=7.id=rt_menu_item_text.text=消息中心.clicked.png to 20211027095159/80_MsgCenterActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:32:51 INFO [AppiumClient.141.mark] read from 20211027095159/79_MainActivity.tag=TextView.depth=7.id=rt_menu_item_text.text=消息中心.clicked.png 2021-10-29 09:32:51 INFO [AppiumClient.154.mark] write png 20211027095159/79_MainActivity.tag=TextView.depth=7.id=rt_menu_item_text.text=消息中心.clicked.png 2021-10-29 09:32:51 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/80_MsgCenterActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:32:52 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:52 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:32:52 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:52 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:52 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:52 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:52 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:52 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:52 INFO [Crawler.649.parsePageContext] url=MsgCenterActivity 2021-10-29 09:32:52 INFO [Crawler.673.parsePageContext] currentContentHash=bb48abcb4db53377a59086d677004996 lastContentHash=bb48abcb4db53377a59086d677004996 2021-10-29 09:32:52 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:32:52 INFO [Crawler.931.saveDom] save to 20211027095159/80_MsgCenterActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:32:52 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:52 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:53 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:53 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:53 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:53 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[MsgCenterActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:32:53 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 81 2021-10-29 09:32:53 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:53 INFO [Crawler.425.needReturn] urlStack=Stack(MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:53 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:53 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:32:53 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:32:53 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:32:53 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:32:53 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:32:53 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:32:53 INFO [Crawler.843.crawl] found MsgCenterActivity.tag=TextView.depth=9.text=消息通知 by first available element 2021-10-29 09:32:53 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:53 INFO [Crawler.996.doElementAction] current element = MsgCenterActivity.tag=TextView.depth=9.text=消息通知 2021-10-29 09:32:53 INFO [Crawler.997.doElementAction] current index = 81 2021-10-29 09:32:53 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:53 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_msg_noti"]//*[@text="消息通知"] 2021-10-29 09:32:53 INFO [Crawler.1000.doElementAction] current url = MsgCenterActivity 2021-10-29 09:32:53 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:32:53 INFO [Crawler.1002.doElementAction] current file name = MsgCenterActivity.tag=TextView.depth=9.text=消息通知 2021-10-29 09:32:53 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:53 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgCenterActivity.tag=TextView.depth=9.text=消息通知 2021-10-29 09:32:53 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_msg_noti"]//*[@text="消息通知"] 2021-10-29 09:32:53 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:53 INFO [Crawler.1080.doElementAction] mark 20211027095159/80_MsgCenterActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/81_MsgCenterActivity.tag=TextView.depth=9.text=消息通知.click.png 2021-10-29 09:32:53 INFO [AppiumClient.141.mark] read from 20211027095159/80_MsgCenterActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:32:53 INFO [AppiumClient.154.mark] write png 20211027095159/80_MsgCenterActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:32:53 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/81_MsgCenterActivity.tag=TextView.depth=9.text=消息通知.click.png 2021-10-29 09:32:53 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:53 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_msg_noti"]//*[@text="消息通知"]] 2021-10-29 09:32:53 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:53 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:54 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:54 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:55 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:55 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:55 INFO [Crawler.649.parsePageContext] url=MsgListActivity 2021-10-29 09:32:55 INFO [Crawler.673.parsePageContext] currentContentHash=210a188c1fe703d2f59f995784b9fef9 lastContentHash=bb48abcb4db53377a59086d677004996 2021-10-29 09:32:55 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:55 INFO [Crawler.931.saveDom] save to 20211027095159/81_MsgCenterActivity.tag=TextView.depth=9.text=消息通知.dom 2021-10-29 09:32:55 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:55 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:56 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:56 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:56 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:56 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 82 2021-10-29 09:32:56 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:56 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 8 2021-10-29 09:32:56 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:56 INFO [Crawler.814.crawl] found MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 by ElementActions 2021-10-29 09:32:56 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:32:56 INFO [Crawler.996.doElementAction] current element = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:32:56 INFO [Crawler.997.doElementAction] current index = 82 2021-10-29 09:32:56 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:56 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:32:56 INFO [Crawler.1000.doElementAction] current url = MsgListActivity 2021-10-29 09:32:56 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:32:56 INFO [Crawler.1002.doElementAction] current file name = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:32:56 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:56 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:32:56 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:32:56 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:56 INFO [Crawler.1080.doElementAction] mark 20211027095159/81_MsgCenterActivity.tag=TextView.depth=9.text=消息通知.clicked.png to 20211027095159/82_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:32:56 INFO [AppiumClient.141.mark] read from 20211027095159/81_MsgCenterActivity.tag=TextView.depth=9.text=消息通知.clicked.png 2021-10-29 09:32:56 INFO [AppiumClient.154.mark] write png 20211027095159/81_MsgCenterActivity.tag=TextView.depth=9.text=消息通知.clicked.png 2021-10-29 09:32:56 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/82_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:32:56 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:56 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"]] 2021-10-29 09:32:56 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:56 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:57 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:57 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:57 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:57 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:57 INFO [Crawler.649.parsePageContext] url=MsgDetailActivity 2021-10-29 09:32:57 INFO [Crawler.673.parsePageContext] currentContentHash=19503b3e4cb485712c3d8cf84b94cbad lastContentHash=210a188c1fe703d2f59f995784b9fef9 2021-10-29 09:32:57 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:32:57 INFO [Crawler.931.saveDom] save to 20211027095159/82_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.dom 2021-10-29 09:32:57 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:57 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:58 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:58 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:58 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:58 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 83 2021-10-29 09:32:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:58 INFO [Crawler.425.needReturn] urlStack=Stack(MsgDetailActivity, MsgListActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:32:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:32:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:32:58 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:32:58 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:32:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:32:58 INFO [Crawler.843.crawl] found MsgDetailActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:32:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:58 INFO [Crawler.996.doElementAction] current element = MsgDetailActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:32:58 INFO [Crawler.997.doElementAction] current index = 83 2021-10-29 09:32:58 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:58 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:32:58 INFO [Crawler.1000.doElementAction] current url = MsgDetailActivity 2021-10-29 09:32:58 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:32:58 INFO [Crawler.1002.doElementAction] current file name = MsgDetailActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:32:58 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:58 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgDetailActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:32:58 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:32:58 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:32:58 INFO [Crawler.1080.doElementAction] mark 20211027095159/82_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png to 20211027095159/83_MsgDetailActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:32:58 INFO [AppiumClient.141.mark] read from 20211027095159/82_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:32:58 INFO [AppiumClient.154.mark] write png 20211027095159/82_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:32:58 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/83_MsgDetailActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:32:58 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:32:58 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:32:58 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:32:58 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:32:59 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:32:59 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:32:59 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:32:59 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:32:59 INFO [Crawler.649.parsePageContext] url=MsgDetailActivity 2021-10-29 09:32:59 INFO [Crawler.673.parsePageContext] currentContentHash=19503b3e4cb485712c3d8cf84b94cbad lastContentHash=19503b3e4cb485712c3d8cf84b94cbad 2021-10-29 09:32:59 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:32:59 INFO [Crawler.931.saveDom] save to 20211027095159/83_MsgDetailActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:32:59 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:32:59 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:32:59 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:32:59 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:32:59 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:32:59 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[MsgDetailActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:32:59 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 84 2021-10-29 09:32:59 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:32:59 INFO [Crawler.425.needReturn] urlStack=Stack(MsgDetailActivity, MsgListActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:32:59 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:32:59 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:32:59 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:32:59 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:32:59 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:32:59 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:32:59 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:32:59 INFO [Crawler.851.crawl] MsgDetailActivity all elements had be clicked 2021-10-29 09:32:59 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:32:59 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:32:59 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:32:59 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:32:59 INFO [Crawler.996.doElementAction] current element = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:32:59 INFO [Crawler.997.doElementAction] current index = 84 2021-10-29 09:32:59 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:32:59 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:32:59 INFO [Crawler.1000.doElementAction] current url = MsgDetailActivity 2021-10-29 09:32:59 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:32:59 INFO [Crawler.1002.doElementAction] current file name = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:32:59 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:32:59 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:32:59 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:00 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:00 INFO [Crawler.1080.doElementAction] mark 20211027095159/83_MsgDetailActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/84_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:00 INFO [AppiumClient.141.mark] read from 20211027095159/83_MsgDetailActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:33:00 INFO [AppiumClient.154.mark] write png 20211027095159/83_MsgDetailActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:33:00 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/84_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:00 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:00 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:33:00 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:00 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:00 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:00 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:01 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:01 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:01 INFO [Crawler.649.parsePageContext] url=MsgListActivity 2021-10-29 09:33:01 INFO [Crawler.673.parsePageContext] currentContentHash=210a188c1fe703d2f59f995784b9fef9 lastContentHash=19503b3e4cb485712c3d8cf84b94cbad 2021-10-29 09:33:01 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:01 INFO [Crawler.931.saveDom] save to 20211027095159/84_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:33:01 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:01 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:02 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:02 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:02 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:02 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 85 2021-10-29 09:33:02 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:02 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 7 2021-10-29 09:33:02 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:02 INFO [Crawler.814.crawl] found MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 by ElementActions 2021-10-29 09:33:02 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:02 INFO [Crawler.996.doElementAction] current element = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:02 INFO [Crawler.997.doElementAction] current index = 85 2021-10-29 09:33:02 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:02 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:02 INFO [Crawler.1000.doElementAction] current url = MsgListActivity 2021-10-29 09:33:02 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:33:02 INFO [Crawler.1002.doElementAction] current file name = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:02 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:02 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:02 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:02 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:02 INFO [Crawler.1080.doElementAction] mark 20211027095159/84_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/85_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:02 INFO [AppiumClient.141.mark] read from 20211027095159/84_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:02 INFO [AppiumClient.154.mark] write png 20211027095159/84_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:02 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/85_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:02 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:02 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"]] 2021-10-29 09:33:02 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:02 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:03 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:03 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:03 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:03 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:03 INFO [Crawler.649.parsePageContext] url=MsgDetailActivity 2021-10-29 09:33:03 INFO [Crawler.673.parsePageContext] currentContentHash=19503b3e4cb485712c3d8cf84b94cbad lastContentHash=210a188c1fe703d2f59f995784b9fef9 2021-10-29 09:33:03 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:03 INFO [Crawler.931.saveDom] save to 20211027095159/85_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.dom 2021-10-29 09:33:03 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:03 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:04 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:04 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:04 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:04 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 86 2021-10-29 09:33:04 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:04 INFO [Crawler.425.needReturn] urlStack=Stack(MsgDetailActivity, MsgListActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:04 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:04 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:33:04 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:33:04 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:33:04 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:33:04 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:33:04 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:33:04 INFO [Crawler.851.crawl] MsgDetailActivity all elements had be clicked 2021-10-29 09:33:04 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:33:04 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:33:04 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:04 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:04 INFO [Crawler.996.doElementAction] current element = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:04 INFO [Crawler.997.doElementAction] current index = 86 2021-10-29 09:33:04 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:04 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:04 INFO [Crawler.1000.doElementAction] current url = MsgDetailActivity 2021-10-29 09:33:04 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:33:04 INFO [Crawler.1002.doElementAction] current file name = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:04 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:04 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:04 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:04 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:04 INFO [Crawler.1080.doElementAction] mark 20211027095159/85_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png to 20211027095159/86_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:04 INFO [AppiumClient.141.mark] read from 20211027095159/85_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:04 INFO [AppiumClient.154.mark] write png 20211027095159/85_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:04 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/86_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:04 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:04 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:33:04 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:04 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:05 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:05 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:05 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:05 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:05 INFO [Crawler.649.parsePageContext] url=MsgListActivity 2021-10-29 09:33:05 INFO [Crawler.673.parsePageContext] currentContentHash=210a188c1fe703d2f59f995784b9fef9 lastContentHash=19503b3e4cb485712c3d8cf84b94cbad 2021-10-29 09:33:05 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:05 INFO [Crawler.931.saveDom] save to 20211027095159/86_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:33:05 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:05 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:06 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:06 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:06 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:06 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 87 2021-10-29 09:33:06 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:06 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 6 2021-10-29 09:33:06 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:06 INFO [Crawler.814.crawl] found MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 by ElementActions 2021-10-29 09:33:06 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:06 INFO [Crawler.996.doElementAction] current element = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:06 INFO [Crawler.997.doElementAction] current index = 87 2021-10-29 09:33:06 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:06 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:06 INFO [Crawler.1000.doElementAction] current url = MsgListActivity 2021-10-29 09:33:06 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:33:06 INFO [Crawler.1002.doElementAction] current file name = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:06 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:06 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:06 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:06 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:06 INFO [Crawler.1080.doElementAction] mark 20211027095159/86_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/87_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:06 INFO [AppiumClient.141.mark] read from 20211027095159/86_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:06 INFO [AppiumClient.154.mark] write png 20211027095159/86_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:06 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/87_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:06 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:06 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"]] 2021-10-29 09:33:06 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:06 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:07 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:07 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:07 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:07 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:07 INFO [Crawler.649.parsePageContext] url=MsgDetailActivity 2021-10-29 09:33:07 INFO [Crawler.673.parsePageContext] currentContentHash=19503b3e4cb485712c3d8cf84b94cbad lastContentHash=210a188c1fe703d2f59f995784b9fef9 2021-10-29 09:33:07 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:07 INFO [Crawler.931.saveDom] save to 20211027095159/87_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.dom 2021-10-29 09:33:07 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:07 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:08 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:08 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:08 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:08 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 88 2021-10-29 09:33:08 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:08 INFO [Crawler.425.needReturn] urlStack=Stack(MsgDetailActivity, MsgListActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:08 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:08 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:33:08 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:33:08 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:33:08 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:33:08 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:33:08 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:33:08 INFO [Crawler.851.crawl] MsgDetailActivity all elements had be clicked 2021-10-29 09:33:08 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:33:08 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:33:08 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:08 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:08 INFO [Crawler.996.doElementAction] current element = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:08 INFO [Crawler.997.doElementAction] current index = 88 2021-10-29 09:33:08 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:08 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:08 INFO [Crawler.1000.doElementAction] current url = MsgDetailActivity 2021-10-29 09:33:08 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:33:08 INFO [Crawler.1002.doElementAction] current file name = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:08 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:08 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:08 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:08 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:08 INFO [Crawler.1080.doElementAction] mark 20211027095159/87_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png to 20211027095159/88_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:08 INFO [AppiumClient.141.mark] read from 20211027095159/87_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:08 INFO [AppiumClient.154.mark] write png 20211027095159/87_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:08 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/88_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:08 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:08 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:33:08 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:08 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:09 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:09 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:09 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:09 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:09 INFO [Crawler.649.parsePageContext] url=MsgListActivity 2021-10-29 09:33:09 INFO [Crawler.673.parsePageContext] currentContentHash=210a188c1fe703d2f59f995784b9fef9 lastContentHash=19503b3e4cb485712c3d8cf84b94cbad 2021-10-29 09:33:09 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:09 INFO [Crawler.931.saveDom] save to 20211027095159/88_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:33:09 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:09 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:10 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:10 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:10 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:10 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 89 2021-10-29 09:33:10 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:10 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 5 2021-10-29 09:33:10 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:10 INFO [Crawler.814.crawl] found MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 by ElementActions 2021-10-29 09:33:10 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:10 INFO [Crawler.996.doElementAction] current element = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:10 INFO [Crawler.997.doElementAction] current index = 89 2021-10-29 09:33:10 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:10 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:10 INFO [Crawler.1000.doElementAction] current url = MsgListActivity 2021-10-29 09:33:10 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:33:10 INFO [Crawler.1002.doElementAction] current file name = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:10 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:10 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:10 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:10 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:10 INFO [Crawler.1080.doElementAction] mark 20211027095159/88_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/89_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:10 INFO [AppiumClient.141.mark] read from 20211027095159/88_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:10 INFO [AppiumClient.154.mark] write png 20211027095159/88_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:10 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/89_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:10 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:10 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"]] 2021-10-29 09:33:10 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:10 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:11 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:11 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:11 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:11 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:11 INFO [Crawler.649.parsePageContext] url=MsgDetailActivity 2021-10-29 09:33:11 INFO [Crawler.673.parsePageContext] currentContentHash=19503b3e4cb485712c3d8cf84b94cbad lastContentHash=210a188c1fe703d2f59f995784b9fef9 2021-10-29 09:33:11 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:11 INFO [Crawler.931.saveDom] save to 20211027095159/89_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.dom 2021-10-29 09:33:11 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:11 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:12 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:12 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:12 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:12 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 90 2021-10-29 09:33:12 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:12 INFO [Crawler.425.needReturn] urlStack=Stack(MsgDetailActivity, MsgListActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:12 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:12 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:33:12 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:33:12 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:33:12 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:33:12 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:33:12 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:33:12 INFO [Crawler.851.crawl] MsgDetailActivity all elements had be clicked 2021-10-29 09:33:12 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:33:12 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:33:12 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:12 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:12 INFO [Crawler.996.doElementAction] current element = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:12 INFO [Crawler.997.doElementAction] current index = 90 2021-10-29 09:33:12 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:12 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:12 INFO [Crawler.1000.doElementAction] current url = MsgDetailActivity 2021-10-29 09:33:12 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:33:12 INFO [Crawler.1002.doElementAction] current file name = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:12 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:12 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:12 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:12 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:12 INFO [Crawler.1080.doElementAction] mark 20211027095159/89_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png to 20211027095159/90_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:12 INFO [AppiumClient.141.mark] read from 20211027095159/89_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:12 INFO [AppiumClient.154.mark] write png 20211027095159/89_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:12 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/90_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:12 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:12 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:33:12 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:12 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:13 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:13 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:13 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:13 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:14 INFO [Crawler.649.parsePageContext] url=MsgListActivity 2021-10-29 09:33:14 INFO [Crawler.673.parsePageContext] currentContentHash=210a188c1fe703d2f59f995784b9fef9 lastContentHash=19503b3e4cb485712c3d8cf84b94cbad 2021-10-29 09:33:14 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:14 INFO [Crawler.931.saveDom] save to 20211027095159/90_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:33:14 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:14 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:14 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:14 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:14 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:14 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 91 2021-10-29 09:33:14 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:14 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 4 2021-10-29 09:33:14 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:14 INFO [Crawler.814.crawl] found MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 by ElementActions 2021-10-29 09:33:14 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:14 INFO [Crawler.996.doElementAction] current element = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:14 INFO [Crawler.997.doElementAction] current index = 91 2021-10-29 09:33:14 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:14 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:14 INFO [Crawler.1000.doElementAction] current url = MsgListActivity 2021-10-29 09:33:14 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:33:14 INFO [Crawler.1002.doElementAction] current file name = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:14 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:14 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:14 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:14 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:14 INFO [Crawler.1080.doElementAction] mark 20211027095159/90_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/91_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:14 INFO [AppiumClient.141.mark] read from 20211027095159/90_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:14 INFO [AppiumClient.154.mark] write png 20211027095159/90_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:14 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/91_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:15 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:15 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"]] 2021-10-29 09:33:15 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:15 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:15 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:15 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:16 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:16 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:16 INFO [Crawler.649.parsePageContext] url=MsgDetailActivity 2021-10-29 09:33:16 INFO [Crawler.673.parsePageContext] currentContentHash=19503b3e4cb485712c3d8cf84b94cbad lastContentHash=210a188c1fe703d2f59f995784b9fef9 2021-10-29 09:33:16 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:16 INFO [Crawler.931.saveDom] save to 20211027095159/91_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.dom 2021-10-29 09:33:16 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:16 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:16 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:16 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:16 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:16 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 92 2021-10-29 09:33:16 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:16 INFO [Crawler.425.needReturn] urlStack=Stack(MsgDetailActivity, MsgListActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:16 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:16 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:33:16 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:33:16 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:33:16 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:33:16 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:33:16 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:33:16 INFO [Crawler.851.crawl] MsgDetailActivity all elements had be clicked 2021-10-29 09:33:16 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:33:16 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:33:16 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:16 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:16 INFO [Crawler.996.doElementAction] current element = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:16 INFO [Crawler.997.doElementAction] current index = 92 2021-10-29 09:33:16 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:16 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:16 INFO [Crawler.1000.doElementAction] current url = MsgDetailActivity 2021-10-29 09:33:16 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:33:16 INFO [Crawler.1002.doElementAction] current file name = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:16 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:16 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:16 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:16 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:16 INFO [Crawler.1080.doElementAction] mark 20211027095159/91_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png to 20211027095159/92_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:16 INFO [AppiumClient.141.mark] read from 20211027095159/91_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:16 INFO [AppiumClient.154.mark] write png 20211027095159/91_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:16 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/92_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:17 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:17 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:33:17 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:17 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:17 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:17 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:18 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:18 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:18 INFO [Crawler.649.parsePageContext] url=MsgListActivity 2021-10-29 09:33:18 INFO [Crawler.673.parsePageContext] currentContentHash=210a188c1fe703d2f59f995784b9fef9 lastContentHash=19503b3e4cb485712c3d8cf84b94cbad 2021-10-29 09:33:18 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:18 INFO [Crawler.931.saveDom] save to 20211027095159/92_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:33:18 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:18 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 93 2021-10-29 09:33:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:18 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 3 2021-10-29 09:33:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:18 INFO [Crawler.814.crawl] found MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 by ElementActions 2021-10-29 09:33:18 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:18 INFO [Crawler.996.doElementAction] current element = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:18 INFO [Crawler.997.doElementAction] current index = 93 2021-10-29 09:33:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:18 INFO [Crawler.1000.doElementAction] current url = MsgListActivity 2021-10-29 09:33:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:33:18 INFO [Crawler.1002.doElementAction] current file name = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:18 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:18 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:18 INFO [Crawler.1080.doElementAction] mark 20211027095159/92_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/93_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:18 INFO [AppiumClient.141.mark] read from 20211027095159/92_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:19 INFO [AppiumClient.154.mark] write png 20211027095159/92_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:19 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/93_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:19 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:19 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"]] 2021-10-29 09:33:19 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:19 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:20 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:20 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:20 INFO [Crawler.649.parsePageContext] url=MsgDetailActivity 2021-10-29 09:33:20 INFO [Crawler.673.parsePageContext] currentContentHash=19503b3e4cb485712c3d8cf84b94cbad lastContentHash=210a188c1fe703d2f59f995784b9fef9 2021-10-29 09:33:20 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:20 INFO [Crawler.931.saveDom] save to 20211027095159/93_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.dom 2021-10-29 09:33:20 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:20 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:21 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:21 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:21 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:21 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 94 2021-10-29 09:33:21 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:21 INFO [Crawler.425.needReturn] urlStack=Stack(MsgDetailActivity, MsgListActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:21 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:21 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:33:21 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:33:21 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:33:21 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:33:21 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:33:21 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:33:21 INFO [Crawler.851.crawl] MsgDetailActivity all elements had be clicked 2021-10-29 09:33:21 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:33:21 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:33:21 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:21 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:21 INFO [Crawler.996.doElementAction] current element = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:21 INFO [Crawler.997.doElementAction] current index = 94 2021-10-29 09:33:21 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:21 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:21 INFO [Crawler.1000.doElementAction] current url = MsgDetailActivity 2021-10-29 09:33:21 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:33:21 INFO [Crawler.1002.doElementAction] current file name = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:21 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:21 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:21 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:21 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:21 INFO [Crawler.1080.doElementAction] mark 20211027095159/93_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png to 20211027095159/94_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:21 INFO [AppiumClient.141.mark] read from 20211027095159/93_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:21 INFO [AppiumClient.154.mark] write png 20211027095159/93_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:21 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/94_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:21 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:21 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:33:21 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:21 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:21 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:21 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:22 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:22 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:22 INFO [Crawler.649.parsePageContext] url=MsgListActivity 2021-10-29 09:33:22 INFO [Crawler.673.parsePageContext] currentContentHash=210a188c1fe703d2f59f995784b9fef9 lastContentHash=19503b3e4cb485712c3d8cf84b94cbad 2021-10-29 09:33:22 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:22 INFO [Crawler.931.saveDom] save to 20211027095159/94_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:33:22 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:22 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:23 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:23 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:23 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:23 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 95 2021-10-29 09:33:23 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:23 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 2 2021-10-29 09:33:23 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:23 INFO [Crawler.814.crawl] found MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 by ElementActions 2021-10-29 09:33:23 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:23 INFO [Crawler.996.doElementAction] current element = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:23 INFO [Crawler.997.doElementAction] current index = 95 2021-10-29 09:33:23 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:23 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:23 INFO [Crawler.1000.doElementAction] current url = MsgListActivity 2021-10-29 09:33:23 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:33:23 INFO [Crawler.1002.doElementAction] current file name = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:23 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:23 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:23 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:23 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:23 INFO [Crawler.1080.doElementAction] mark 20211027095159/94_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/95_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:23 INFO [AppiumClient.141.mark] read from 20211027095159/94_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:23 INFO [AppiumClient.154.mark] write png 20211027095159/94_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:23 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/95_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:23 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:23 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"]] 2021-10-29 09:33:23 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:23 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:24 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:24 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:24 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:24 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:24 INFO [Crawler.649.parsePageContext] url=MsgDetailActivity 2021-10-29 09:33:24 INFO [Crawler.673.parsePageContext] currentContentHash=19503b3e4cb485712c3d8cf84b94cbad lastContentHash=210a188c1fe703d2f59f995784b9fef9 2021-10-29 09:33:24 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:24 INFO [Crawler.931.saveDom] save to 20211027095159/95_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.dom 2021-10-29 09:33:24 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:24 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:25 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:25 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:25 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:25 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 96 2021-10-29 09:33:25 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:25 INFO [Crawler.425.needReturn] urlStack=Stack(MsgDetailActivity, MsgListActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:25 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:25 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:33:25 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:33:25 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:33:25 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:33:25 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:33:25 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:33:25 INFO [Crawler.851.crawl] MsgDetailActivity all elements had be clicked 2021-10-29 09:33:25 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:33:25 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:33:25 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:25 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:25 INFO [Crawler.996.doElementAction] current element = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:25 INFO [Crawler.997.doElementAction] current index = 96 2021-10-29 09:33:25 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:25 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:25 INFO [Crawler.1000.doElementAction] current url = MsgDetailActivity 2021-10-29 09:33:25 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:33:25 INFO [Crawler.1002.doElementAction] current file name = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:25 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:25 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:25 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:25 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:25 INFO [Crawler.1080.doElementAction] mark 20211027095159/95_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png to 20211027095159/96_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:25 INFO [AppiumClient.141.mark] read from 20211027095159/95_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:25 INFO [AppiumClient.154.mark] write png 20211027095159/95_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:25 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/96_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:25 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:25 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:33:25 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:25 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:26 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:26 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:26 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:26 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:26 INFO [Crawler.649.parsePageContext] url=MsgListActivity 2021-10-29 09:33:26 INFO [Crawler.673.parsePageContext] currentContentHash=210a188c1fe703d2f59f995784b9fef9 lastContentHash=19503b3e4cb485712c3d8cf84b94cbad 2021-10-29 09:33:26 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:26 INFO [Crawler.931.saveDom] save to 20211027095159/96_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:33:26 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:26 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:27 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:27 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:27 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:27 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 97 2021-10-29 09:33:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:27 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 1 2021-10-29 09:33:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:27 INFO [Crawler.814.crawl] found MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 by ElementActions 2021-10-29 09:33:27 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:27 INFO [Crawler.996.doElementAction] current element = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:27 INFO [Crawler.997.doElementAction] current index = 97 2021-10-29 09:33:27 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:27 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:27 INFO [Crawler.1000.doElementAction] current url = MsgListActivity 2021-10-29 09:33:27 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:33:27 INFO [Crawler.1002.doElementAction] current file name = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:27 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:27 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:27 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:27 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:27 INFO [Crawler.1080.doElementAction] mark 20211027095159/96_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/97_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:27 INFO [AppiumClient.141.mark] read from 20211027095159/96_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:27 INFO [AppiumClient.154.mark] write png 20211027095159/96_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:27 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/97_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:27 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:27 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"]] 2021-10-29 09:33:27 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:27 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:28 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:28 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:28 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:28 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:28 INFO [Crawler.649.parsePageContext] url=MsgDetailActivity 2021-10-29 09:33:28 INFO [Crawler.673.parsePageContext] currentContentHash=19503b3e4cb485712c3d8cf84b94cbad lastContentHash=210a188c1fe703d2f59f995784b9fef9 2021-10-29 09:33:28 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:28 INFO [Crawler.931.saveDom] save to 20211027095159/97_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.dom 2021-10-29 09:33:28 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:28 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:29 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:29 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:29 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:29 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 98 2021-10-29 09:33:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:29 INFO [Crawler.425.needReturn] urlStack=Stack(MsgDetailActivity, MsgListActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:33:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:33:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:33:29 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:33:29 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:33:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:33:29 INFO [Crawler.851.crawl] MsgDetailActivity all elements had be clicked 2021-10-29 09:33:29 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:33:29 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:33:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:29 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:29 INFO [Crawler.996.doElementAction] current element = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:29 INFO [Crawler.997.doElementAction] current index = 98 2021-10-29 09:33:29 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:29 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:29 INFO [Crawler.1000.doElementAction] current url = MsgDetailActivity 2021-10-29 09:33:29 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:33:29 INFO [Crawler.1002.doElementAction] current file name = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:29 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:29 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:29 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:29 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:29 INFO [Crawler.1080.doElementAction] mark 20211027095159/97_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png to 20211027095159/98_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:29 INFO [AppiumClient.141.mark] read from 20211027095159/97_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:29 INFO [AppiumClient.154.mark] write png 20211027095159/97_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:29 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/98_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:29 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:29 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:33:29 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:29 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:30 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:30 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:30 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:30 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:30 INFO [Crawler.649.parsePageContext] url=MsgListActivity 2021-10-29 09:33:30 INFO [Crawler.673.parsePageContext] currentContentHash=210a188c1fe703d2f59f995784b9fef9 lastContentHash=19503b3e4cb485712c3d8cf84b94cbad 2021-10-29 09:33:30 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:30 INFO [Crawler.931.saveDom] save to 20211027095159/98_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:33:30 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:30 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:31 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:31 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:31 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:31 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 99 2021-10-29 09:33:31 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:31 INFO [Crawler.1176.$anonfun$getElementByTriggerActions$1] remove rule Step(List(),null,List(),好,click,List(),1) 2021-10-29 09:33:31 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 0 2021-10-29 09:33:31 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:31 INFO [Crawler.814.crawl] found MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 by ElementActions 2021-10-29 09:33:31 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:31 INFO [Crawler.996.doElementAction] current element = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:31 INFO [Crawler.997.doElementAction] current index = 99 2021-10-29 09:33:31 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:31 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:31 INFO [Crawler.1000.doElementAction] current url = MsgListActivity 2021-10-29 09:33:31 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:33:31 INFO [Crawler.1002.doElementAction] current file name = MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:31 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:31 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦 2021-10-29 09:33:31 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"] 2021-10-29 09:33:31 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:31 INFO [Crawler.1080.doElementAction] mark 20211027095159/98_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/99_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:31 INFO [AppiumClient.141.mark] read from 20211027095159/98_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:31 INFO [AppiumClient.154.mark] write png 20211027095159/98_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:31 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/99_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.click.png 2021-10-29 09:33:32 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:32 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/tv_status"]] 2021-10-29 09:33:32 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:32 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:32 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:32 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:32 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:32 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:33 INFO [Crawler.649.parsePageContext] url=MsgDetailActivity 2021-10-29 09:33:33 INFO [Crawler.673.parsePageContext] currentContentHash=19503b3e4cb485712c3d8cf84b94cbad lastContentHash=210a188c1fe703d2f59f995784b9fef9 2021-10-29 09:33:33 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:33 INFO [Crawler.931.saveDom] save to 20211027095159/99_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.dom 2021-10-29 09:33:33 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:33 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:33 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:33 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:33 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:33 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 100 2021-10-29 09:33:33 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:33 INFO [Crawler.425.needReturn] urlStack=Stack(MsgDetailActivity, MsgListActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:33 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:33 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:33:33 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:33:33 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:33:33 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:33:33 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:33:33 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:33:33 INFO [Crawler.851.crawl] MsgDetailActivity all elements had be clicked 2021-10-29 09:33:33 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:33:33 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:33:33 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:33 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:33 INFO [Crawler.996.doElementAction] current element = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:33 INFO [Crawler.997.doElementAction] current index = 100 2021-10-29 09:33:33 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:33 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:33 INFO [Crawler.1000.doElementAction] current url = MsgDetailActivity 2021-10-29 09:33:33 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:33:33 INFO [Crawler.1002.doElementAction] current file name = MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:33 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:33 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:33 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:33 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:33 INFO [Crawler.1080.doElementAction] mark 20211027095159/99_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png to 20211027095159/100_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:33 INFO [AppiumClient.141.mark] read from 20211027095159/99_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:33 INFO [AppiumClient.154.mark] write png 20211027095159/99_MsgListActivity.tag=TextView.depth=13.id=tv_status.text=好消息!新版商户平台正式上线啦.clicked.png 2021-10-29 09:33:33 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/100_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:34 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:34 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:33:34 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:34 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:34 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:34 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:35 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:35 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:35 INFO [Crawler.649.parsePageContext] url=MsgListActivity 2021-10-29 09:33:35 INFO [Crawler.673.parsePageContext] currentContentHash=210a188c1fe703d2f59f995784b9fef9 lastContentHash=19503b3e4cb485712c3d8cf84b94cbad 2021-10-29 09:33:35 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:35 INFO [Crawler.931.saveDom] save to 20211027095159/100_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:33:35 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:35 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:35 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:35 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:35 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:35 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 101 2021-10-29 09:33:35 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:35 INFO [Crawler.425.needReturn] urlStack=Stack(MsgListActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:35 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:35 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:33:35 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:33:35 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:33:35 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:33:35 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:33:35 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:33:35 INFO [Crawler.843.crawl] found MsgListActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:33:35 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:35 INFO [Crawler.996.doElementAction] current element = MsgListActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:33:35 INFO [Crawler.997.doElementAction] current index = 101 2021-10-29 09:33:35 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:35 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:33:35 INFO [Crawler.1000.doElementAction] current url = MsgListActivity 2021-10-29 09:33:35 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:33:35 INFO [Crawler.1002.doElementAction] current file name = MsgListActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:33:35 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:35 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgListActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:33:35 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:33:36 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:36 INFO [Crawler.1080.doElementAction] mark 20211027095159/100_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/101_MsgListActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:33:36 INFO [AppiumClient.141.mark] read from 20211027095159/100_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:36 INFO [AppiumClient.154.mark] write png 20211027095159/100_MsgDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:36 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/101_MsgListActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:33:36 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:36 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:33:36 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:36 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:36 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:36 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:37 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:37 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:37 INFO [Crawler.649.parsePageContext] url=MsgListActivity 2021-10-29 09:33:37 INFO [Crawler.673.parsePageContext] currentContentHash=210a188c1fe703d2f59f995784b9fef9 lastContentHash=210a188c1fe703d2f59f995784b9fef9 2021-10-29 09:33:37 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:33:37 INFO [Crawler.931.saveDom] save to 20211027095159/101_MsgListActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:33:37 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:37 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:38 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:38 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:38 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:38 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[MsgListActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:33:38 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 102 2021-10-29 09:33:38 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:38 INFO [Crawler.425.needReturn] urlStack=Stack(MsgListActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:38 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:38 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:33:38 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:33:38 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:33:38 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:33:38 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:33:38 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:33:38 INFO [Crawler.851.crawl] MsgListActivity all elements had be clicked 2021-10-29 09:33:38 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:33:38 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:33:38 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:38 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:38 INFO [Crawler.996.doElementAction] current element = MsgListActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:38 INFO [Crawler.997.doElementAction] current index = 102 2021-10-29 09:33:38 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:38 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:38 INFO [Crawler.1000.doElementAction] current url = MsgListActivity 2021-10-29 09:33:38 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:33:38 INFO [Crawler.1002.doElementAction] current file name = MsgListActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:38 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:38 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgListActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:33:38 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:33:38 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:38 INFO [Crawler.1080.doElementAction] mark 20211027095159/101_MsgListActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/102_MsgListActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:38 INFO [AppiumClient.141.mark] read from 20211027095159/101_MsgListActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:33:38 INFO [AppiumClient.154.mark] write png 20211027095159/101_MsgListActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:33:38 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/102_MsgListActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:33:38 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:38 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:33:38 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:38 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:39 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:39 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:39 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:39 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:39 INFO [Crawler.649.parsePageContext] url=MsgCenterActivity 2021-10-29 09:33:39 INFO [Crawler.673.parsePageContext] currentContentHash=bb48abcb4db53377a59086d677004996 lastContentHash=210a188c1fe703d2f59f995784b9fef9 2021-10-29 09:33:39 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:39 INFO [Crawler.931.saveDom] save to 20211027095159/102_MsgListActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:33:39 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:39 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:40 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:40 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:40 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:40 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 103 2021-10-29 09:33:40 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:40 INFO [Crawler.425.needReturn] urlStack=Stack(MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:40 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:40 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:33:40 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:33:40 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:33:40 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:33:40 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:33:40 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:33:40 INFO [Crawler.843.crawl] found MsgCenterActivity.tag=TextView.depth=9.text=联系客服 by first available element 2021-10-29 09:33:40 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:40 INFO [Crawler.996.doElementAction] current element = MsgCenterActivity.tag=TextView.depth=9.text=联系客服 2021-10-29 09:33:40 INFO [Crawler.997.doElementAction] current index = 103 2021-10-29 09:33:40 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:40 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_customer_service"]//*[@text="联系客服"] 2021-10-29 09:33:40 INFO [Crawler.1000.doElementAction] current url = MsgCenterActivity 2021-10-29 09:33:40 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:33:40 INFO [Crawler.1002.doElementAction] current file name = MsgCenterActivity.tag=TextView.depth=9.text=联系客服 2021-10-29 09:33:40 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:40 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgCenterActivity.tag=TextView.depth=9.text=联系客服 2021-10-29 09:33:40 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_customer_service"]//*[@text="联系客服"] 2021-10-29 09:33:40 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:40 INFO [Crawler.1080.doElementAction] mark 20211027095159/102_MsgListActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/103_MsgCenterActivity.tag=TextView.depth=9.text=联系客服.click.png 2021-10-29 09:33:40 INFO [AppiumClient.141.mark] read from 20211027095159/102_MsgListActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:40 INFO [AppiumClient.154.mark] write png 20211027095159/102_MsgListActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:33:40 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/103_MsgCenterActivity.tag=TextView.depth=9.text=联系客服.click.png 2021-10-29 09:33:40 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:40 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_customer_service"]//*[@text="联系客服"]] 2021-10-29 09:33:41 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:41 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:41 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:41 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:42 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:42 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:42 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:33:42 INFO [Crawler.673.parsePageContext] currentContentHash=bde932b8609f0d744739209935661aef lastContentHash=bb48abcb4db53377a59086d677004996 2021-10-29 09:33:42 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:42 INFO [Crawler.931.saveDom] save to 20211027095159/103_MsgCenterActivity.tag=TextView.depth=9.text=联系客服.dom 2021-10-29 09:33:42 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:42 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:42 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:42 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:42 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:42 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 104 2021-10-29 09:33:42 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:42 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:42 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:42 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:33:42 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:33:42 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:33:42 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:33:42 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:33:42 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:33:42 INFO [Crawler.843.crawl] found WebviewActivity.tag=EditText.depth=16.id=js-textarea by first available element 2021-10-29 09:33:42 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:42 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=EditText.depth=16.id=js-textarea 2021-10-29 09:33:42 INFO [Crawler.997.doElementAction] current index = 104 2021-10-29 09:33:42 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:42 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="chatArea"]//*[@resource-id="js-textarea"] 2021-10-29 09:33:42 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:33:42 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.EditText 2021-10-29 09:33:42 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=EditText.depth=16.id=js-textarea 2021-10-29 09:33:42 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:42 INFO [AppiumClient.53.findElementByURI] find by uri element= WebviewActivity.tag=EditText.depth=16.id=js-textarea 2021-10-29 09:33:42 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="chatArea"]//*[@resource-id="js-textarea"] 2021-10-29 09:33:43 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:43 INFO [Crawler.1080.doElementAction] mark 20211027095159/103_MsgCenterActivity.tag=TextView.depth=9.text=联系客服.clicked.png to 20211027095159/104_WebviewActivity.tag=EditText.depth=16.id=js-textarea.click.png 2021-10-29 09:33:43 INFO [AppiumClient.141.mark] read from 20211027095159/103_MsgCenterActivity.tag=TextView.depth=9.text=联系客服.clicked.png 2021-10-29 09:33:43 INFO [AppiumClient.154.mark] write png 20211027095159/103_MsgCenterActivity.tag=TextView.depth=9.text=联系客服.clicked.png 2021-10-29 09:33:43 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/104_WebviewActivity.tag=EditText.depth=16.id=js-textarea.click.png 2021-10-29 09:33:43 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:43 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="chatArea"]//*[@resource-id="js-textarea"]] 2021-10-29 09:33:44 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:44 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:45 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:45 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:45 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:45 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:45 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:33:45 INFO [Crawler.673.parsePageContext] currentContentHash=48f395237f3c321ecc44bde90acabe55 lastContentHash=bde932b8609f0d744739209935661aef 2021-10-29 09:33:45 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:45 INFO [Crawler.931.saveDom] save to 20211027095159/104_WebviewActivity.tag=EditText.depth=16.id=js-textarea.dom 2021-10-29 09:33:45 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:45 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:46 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:46 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:46 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:46 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.EditText]=3 2021-10-29 09:33:46 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 105 2021-10-29 09:33:46 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:46 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:46 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:46 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:33:46 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:33:46 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:33:46 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:33:46 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:33:46 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:33:46 INFO [Crawler.843.crawl] found WebviewActivity.tag=TextView.depth=21.text=1. 客服热线 by first available element 2021-10-29 09:33:46 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:46 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=TextView.depth=21.text=1. 客服热线 2021-10-29 09:33:46 INFO [Crawler.997.doElementAction] current index = 105 2021-10-29 09:33:46 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:46 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="嘉联"]//*[@resource-id="js-scroller"]//*[@resource-id="chatPanelList"]//*[@content-desc="1. 客服热线"]//*[@text="1. 客服热线"] 2021-10-29 09:33:46 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:33:46 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.ListView/android.view.View/android.view.View/android.widget.TextView 2021-10-29 09:33:46 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=TextView.depth=21.text=1. 客服热线 2021-10-29 09:33:46 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:46 INFO [AppiumClient.53.findElementByURI] find by uri element= WebviewActivity.tag=TextView.depth=21.text=1. 客服热线 2021-10-29 09:33:46 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="嘉联"]//*[@resource-id="js-scroller"]//*[@resource-id="chatPanelList"]//*[@content-desc="1. 客服热线"]//*[@text="1. 客服热线"] 2021-10-29 09:33:46 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:47 INFO [Crawler.1080.doElementAction] mark 20211027095159/104_WebviewActivity.tag=EditText.depth=16.id=js-textarea.clicked.png to 20211027095159/105_WebviewActivity.tag=TextView.depth=21.text=1. 客服热线.click.png 2021-10-29 09:33:47 INFO [AppiumClient.141.mark] read from 20211027095159/104_WebviewActivity.tag=EditText.depth=16.id=js-textarea.clicked.png 2021-10-29 09:33:47 INFO [AppiumClient.154.mark] write png 20211027095159/104_WebviewActivity.tag=EditText.depth=16.id=js-textarea.clicked.png 2021-10-29 09:33:47 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/105_WebviewActivity.tag=TextView.depth=21.text=1. 客服热线.click.png 2021-10-29 09:33:47 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:47 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="嘉联"]//*[@resource-id="js-scroller"]//*[@resource-id="chatPanelList"]//*[@content-desc="1. 客服热线"]//*[@text="1. 客服热线"]] 2021-10-29 09:33:47 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:47 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:47 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:47 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:49 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:49 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:49 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:33:49 INFO [Crawler.673.parsePageContext] currentContentHash=b2fd5966c6dc0296e23bee4065f38485 lastContentHash=48f395237f3c321ecc44bde90acabe55 2021-10-29 09:33:49 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:49 INFO [Crawler.931.saveDom] save to 20211027095159/105_WebviewActivity.tag=TextView.depth=21.text=1. 客服热线.dom 2021-10-29 09:33:49 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:49 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:50 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:50 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:50 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:50 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.ListView/android.view.View/android.view.View/android.widget.TextView]=3 2021-10-29 09:33:50 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 106 2021-10-29 09:33:50 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:50 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:50 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:50 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:33:50 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:33:50 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:33:50 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:33:50 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:33:50 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:33:50 INFO [Crawler.843.crawl] found WebviewActivity.tag=EditText.depth=16.id=js-textarea.text=请简短描述您的问题 by first available element 2021-10-29 09:33:50 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:33:50 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=EditText.depth=16.id=js-textarea.text=请简短描述您的问题 2021-10-29 09:33:50 INFO [Crawler.997.doElementAction] current index = 106 2021-10-29 09:33:50 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:33:50 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="嘉联"]//*[@resource-id="chatArea"]//*[@text="请简短描述您的问题" and @resource-id="js-textarea"] 2021-10-29 09:33:50 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:33:50 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.EditText 2021-10-29 09:33:50 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=EditText.depth=16.id=js-textarea.text=请简短描述您的问题 2021-10-29 09:33:50 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:33:50 INFO [AppiumClient.53.findElementByURI] find by uri element= WebviewActivity.tag=EditText.depth=16.id=js-textarea.text=请简短描述您的问题 2021-10-29 09:33:50 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="嘉联"]//*[@resource-id="chatArea"]//*[@text="请简短描述您的问题" and @resource-id="js-textarea"] 2021-10-29 09:33:50 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:33:50 INFO [Crawler.1080.doElementAction] mark 20211027095159/105_WebviewActivity.tag=TextView.depth=21.text=1. 客服热线.clicked.png to 20211027095159/106_WebviewActivity.tag=EditText.depth=16.id=js-textarea.text=请简短描述您的问题.click.png 2021-10-29 09:33:50 INFO [AppiumClient.141.mark] read from 20211027095159/105_WebviewActivity.tag=TextView.depth=21.text=1. 客服热线.clicked.png 2021-10-29 09:33:50 INFO [AppiumClient.154.mark] write png 20211027095159/105_WebviewActivity.tag=TextView.depth=21.text=1. 客服热线.clicked.png 2021-10-29 09:33:50 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/106_WebviewActivity.tag=EditText.depth=16.id=js-textarea.text=请简短描述您的问题.click.png 2021-10-29 09:33:50 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:33:50 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="嘉联"]//*[@resource-id="chatArea"]//*[@text="请简短描述您的问题" and @resource-id="js-textarea"]] 2021-10-29 09:33:51 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:33:51 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:52 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:52 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:52 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:52 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:52 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:33:52 INFO [Crawler.673.parsePageContext] currentContentHash=b2fd5966c6dc0296e23bee4065f38485 lastContentHash=b2fd5966c6dc0296e23bee4065f38485 2021-10-29 09:33:52 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:33:52 INFO [Crawler.931.saveDom] save to 20211027095159/106_WebviewActivity.tag=EditText.depth=16.id=js-textarea.text=请简短描述您的问题.dom 2021-10-29 09:33:52 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:52 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:33:53 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:33:53 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:33:53 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:33:53 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.EditText]=2 2021-10-29 09:33:53 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 107 2021-10-29 09:33:53 INFO [ReportPlugin.39.afterElementAction] 107-76 > 107/10+20 2021-10-29 09:33:53 INFO [ReportPlugin.40.afterElementAction] generate test report 2021-10-29 09:33:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:33:58 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:33:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:33:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:33:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:33:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:33:58 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:33:58 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:33:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:33:58 INFO [Crawler.851.crawl] WebviewActivity all elements had be clicked 2021-10-29 09:33:58 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:33:58 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:33:58 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:33:58 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:33:58 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:33:58 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=Back.id=Back 2021-10-29 09:33:58 INFO [Crawler.997.doElementAction] current index = 107 2021-10-29 09:33:58 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:33:58 INFO [Crawler.999.doElementAction] current xpath = Back-107 2021-10-29 09:33:58 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:33:58 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:33:58 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=Back.id=Back 2021-10-29 09:33:58 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:33:58 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:33:58 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:33:58 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:33:59 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:33:59 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:33:59 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:33:59 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:33:59 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:33:59 INFO [Crawler.673.parsePageContext] currentContentHash=b246fe378be0f34136eec525a1efad01 lastContentHash=b2fd5966c6dc0296e23bee4065f38485 2021-10-29 09:33:59 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:33:59 INFO [Crawler.931.saveDom] save to 20211027095159/107_WebviewActivity.tag=Back.id=Back.dom 2021-10-29 09:33:59 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:33:59 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:00 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:00 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:34:00 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:00 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 108 2021-10-29 09:34:00 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:00 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:00 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:00 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:34:00 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:34:00 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:34:00 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:34:00 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:34:00 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:34:00 INFO [Crawler.843.crawl] found WebviewActivity.tag=ImageView.depth=10.id=iv_web_close by first available element 2021-10-29 09:34:00 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:00 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=ImageView.depth=10.id=iv_web_close 2021-10-29 09:34:00 INFO [Crawler.997.doElementAction] current index = 108 2021-10-29 09:34:00 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:00 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/iv_web_close"] 2021-10-29 09:34:00 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:34:00 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:34:00 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=ImageView.depth=10.id=iv_web_close 2021-10-29 09:34:00 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:00 INFO [AppiumClient.53.findElementByURI] find by uri element= WebviewActivity.tag=ImageView.depth=10.id=iv_web_close 2021-10-29 09:34:00 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/iv_web_close"] 2021-10-29 09:34:00 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:00 INFO [Crawler.1080.doElementAction] mark 20211027095159/107_WebviewActivity.tag=Back.id=Back.clicked.png to 20211027095159/108_WebviewActivity.tag=ImageView.depth=10.id=iv_web_close.click.png 2021-10-29 09:34:00 INFO [AppiumClient.141.mark] read from 20211027095159/107_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:34:00 INFO [AppiumClient.154.mark] write png 20211027095159/107_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:34:00 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/108_WebviewActivity.tag=ImageView.depth=10.id=iv_web_close.click.png 2021-10-29 09:34:00 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:00 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/iv_web_close"]] 2021-10-29 09:34:00 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:00 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:01 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:01 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:01 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:01 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:01 INFO [Crawler.649.parsePageContext] url=MsgCenterActivity 2021-10-29 09:34:01 INFO [Crawler.673.parsePageContext] currentContentHash=bb48abcb4db53377a59086d677004996 lastContentHash=b246fe378be0f34136eec525a1efad01 2021-10-29 09:34:01 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:01 INFO [Crawler.931.saveDom] save to 20211027095159/108_WebviewActivity.tag=ImageView.depth=10.id=iv_web_close.dom 2021-10-29 09:34:02 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:02 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:02 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:02 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:02 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:02 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 109 2021-10-29 09:34:02 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:02 INFO [Crawler.425.needReturn] urlStack=Stack(MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:02 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:02 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:34:02 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:34:02 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:34:02 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:34:02 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:34:02 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:34:02 INFO [Crawler.843.crawl] found MsgCenterActivity.tag=ImageView.depth=9 by first available element 2021-10-29 09:34:02 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:02 INFO [Crawler.996.doElementAction] current element = MsgCenterActivity.tag=ImageView.depth=9 2021-10-29 09:34:02 INFO [Crawler.997.doElementAction] current index = 109 2021-10-29 09:34:02 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:02 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_msg_noti"] 2021-10-29 09:34:02 INFO [Crawler.1000.doElementAction] current url = MsgCenterActivity 2021-10-29 09:34:02 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView 2021-10-29 09:34:02 INFO [Crawler.1002.doElementAction] current file name = MsgCenterActivity.tag=ImageView.depth=9 2021-10-29 09:34:02 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:02 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgCenterActivity.tag=ImageView.depth=9 2021-10-29 09:34:02 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_msg_noti"] 2021-10-29 09:34:02 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:02 INFO [Crawler.1080.doElementAction] mark 20211027095159/108_WebviewActivity.tag=ImageView.depth=10.id=iv_web_close.clicked.png to 20211027095159/109_MsgCenterActivity.tag=ImageView.depth=9.click.png 2021-10-29 09:34:02 INFO [AppiumClient.141.mark] read from 20211027095159/108_WebviewActivity.tag=ImageView.depth=10.id=iv_web_close.clicked.png 2021-10-29 09:34:02 INFO [AppiumClient.154.mark] write png 20211027095159/108_WebviewActivity.tag=ImageView.depth=10.id=iv_web_close.clicked.png 2021-10-29 09:34:02 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/109_MsgCenterActivity.tag=ImageView.depth=9.click.png 2021-10-29 09:34:02 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:02 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_msg_noti"]] 2021-10-29 09:34:04 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:04 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:04 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:04 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:04 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:04 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:04 INFO [Crawler.649.parsePageContext] url=MsgListActivity 2021-10-29 09:34:04 INFO [Crawler.673.parsePageContext] currentContentHash=19cba95ae5349f7b3b8b7ed225fbc970 lastContentHash=bb48abcb4db53377a59086d677004996 2021-10-29 09:34:04 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:04 INFO [Crawler.931.saveDom] save to 20211027095159/109_MsgCenterActivity.tag=ImageView.depth=9.dom 2021-10-29 09:34:04 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:04 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:05 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:05 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:05 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:05 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 110 2021-10-29 09:34:05 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:05 INFO [Crawler.425.needReturn] urlStack=Stack(MsgListActivity, MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:05 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:05 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:34:05 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:34:05 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:34:05 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:34:05 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:34:05 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:34:05 INFO [Crawler.851.crawl] MsgListActivity all elements had be clicked 2021-10-29 09:34:05 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:34:05 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:34:05 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:05 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:34:05 INFO [Crawler.996.doElementAction] current element = MsgListActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:34:05 INFO [Crawler.997.doElementAction] current index = 110 2021-10-29 09:34:05 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:05 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:34:05 INFO [Crawler.1000.doElementAction] current url = MsgListActivity 2021-10-29 09:34:05 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:34:05 INFO [Crawler.1002.doElementAction] current file name = MsgListActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:34:05 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:05 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgListActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:34:05 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:34:05 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:05 INFO [Crawler.1080.doElementAction] mark 20211027095159/109_MsgCenterActivity.tag=ImageView.depth=9.clicked.png to 20211027095159/110_MsgListActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:34:05 INFO [AppiumClient.141.mark] read from 20211027095159/109_MsgCenterActivity.tag=ImageView.depth=9.clicked.png 2021-10-29 09:34:05 INFO [AppiumClient.154.mark] write png 20211027095159/109_MsgCenterActivity.tag=ImageView.depth=9.clicked.png 2021-10-29 09:34:05 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/110_MsgListActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:34:06 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:06 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:34:06 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:06 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:06 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:06 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:07 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:07 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:07 INFO [Crawler.649.parsePageContext] url=MsgCenterActivity 2021-10-29 09:34:07 INFO [Crawler.673.parsePageContext] currentContentHash=bb48abcb4db53377a59086d677004996 lastContentHash=19cba95ae5349f7b3b8b7ed225fbc970 2021-10-29 09:34:07 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:07 INFO [Crawler.931.saveDom] save to 20211027095159/110_MsgListActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:34:07 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:07 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:07 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:07 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:07 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:07 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 111 2021-10-29 09:34:07 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:07 INFO [Crawler.425.needReturn] urlStack=Stack(MsgCenterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:07 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:07 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:34:07 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:34:07 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:34:07 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:34:07 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:34:07 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:34:07 INFO [Crawler.851.crawl] MsgCenterActivity all elements had be clicked 2021-10-29 09:34:07 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:34:07 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:34:07 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:07 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:34:07 INFO [Crawler.996.doElementAction] current element = MsgCenterActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:34:07 INFO [Crawler.997.doElementAction] current index = 111 2021-10-29 09:34:07 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:07 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:34:07 INFO [Crawler.1000.doElementAction] current url = MsgCenterActivity 2021-10-29 09:34:07 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:34:07 INFO [Crawler.1002.doElementAction] current file name = MsgCenterActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:34:07 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:07 INFO [AppiumClient.53.findElementByURI] find by uri element= MsgCenterActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:34:07 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:34:07 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:07 INFO [Crawler.1080.doElementAction] mark 20211027095159/110_MsgListActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/111_MsgCenterActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:34:07 INFO [AppiumClient.141.mark] read from 20211027095159/110_MsgListActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:34:08 INFO [AppiumClient.154.mark] write png 20211027095159/110_MsgListActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:34:08 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/111_MsgCenterActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:34:08 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:08 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:34:08 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:08 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:08 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:08 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:09 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:09 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:09 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:34:09 INFO [Crawler.673.parsePageContext] currentContentHash=4fc6740d77e4d4b407976942eb7d9da5 lastContentHash=bb48abcb4db53377a59086d677004996 2021-10-29 09:34:09 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:09 INFO [Crawler.931.saveDom] save to 20211027095159/111_MsgCenterActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:34:09 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:09 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:10 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:10 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:10 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:10 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 112 2021-10-29 09:34:10 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:10 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:10 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:10 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:34:10 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:34:10 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:34:10 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:34:10 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:34:10 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:34:10 INFO [Crawler.843.crawl] found MainActivity.tag=RadioButton.depth=10.id=rb_home.text=嘉联支付 by first available element 2021-10-29 09:34:10 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:10 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView]=20 2021-10-29 09:34:10 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=RadioButton.depth=10.id=rb_home.text=嘉联支付 2021-10-29 09:34:10 INFO [Crawler.997.doElementAction] current index = 112 2021-10-29 09:34:10 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:10 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="嘉联支付" and @resource-id="com.jlpay.merch:id/rb_home"] 2021-10-29 09:34:10 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:34:10 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton 2021-10-29 09:34:10 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=RadioButton.depth=10.id=rb_home.text=嘉联支付 2021-10-29 09:34:10 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:10 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=RadioButton.depth=10.id=rb_home.text=嘉联支付 2021-10-29 09:34:10 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="嘉联支付" and @resource-id="com.jlpay.merch:id/rb_home"] 2021-10-29 09:34:10 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:10 INFO [Crawler.1080.doElementAction] mark 20211027095159/111_MsgCenterActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/112_MainActivity.tag=RadioButton.depth=10.id=rb_home.text=嘉联支付.click.png 2021-10-29 09:34:10 INFO [AppiumClient.141.mark] read from 20211027095159/111_MsgCenterActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:34:10 INFO [AppiumClient.154.mark] write png 20211027095159/111_MsgCenterActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:34:10 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/112_MainActivity.tag=RadioButton.depth=10.id=rb_home.text=嘉联支付.click.png 2021-10-29 09:34:10 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:10 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="嘉联支付" and @resource-id="com.jlpay.merch:id/rb_home"]] 2021-10-29 09:34:11 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:11 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:11 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:11 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:12 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:12 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:12 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:34:12 INFO [Crawler.673.parsePageContext] currentContentHash=4fc6740d77e4d4b407976942eb7d9da5 lastContentHash=4fc6740d77e4d4b407976942eb7d9da5 2021-10-29 09:34:12 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:34:12 INFO [Crawler.931.saveDom] save to 20211027095159/112_MainActivity.tag=RadioButton.depth=10.id=rb_home.text=嘉联支付.dom 2021-10-29 09:34:12 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:12 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:12 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:12 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:12 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:12 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton]=3 2021-10-29 09:34:12 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 113 2021-10-29 09:34:12 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:12 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:12 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:12 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:34:12 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:34:12 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:34:12 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:34:12 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:34:12 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:34:12 INFO [Crawler.843.crawl] found MainActivity.tag=RadioButton.depth=10.id=rb_mine.text=我的 by first available element 2021-10-29 09:34:12 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:12 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=RadioButton.depth=10.id=rb_mine.text=我的 2021-10-29 09:34:12 INFO [Crawler.997.doElementAction] current index = 113 2021-10-29 09:34:12 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:12 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="我的" and @resource-id="com.jlpay.merch:id/rb_mine"] 2021-10-29 09:34:12 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:34:12 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton 2021-10-29 09:34:12 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=RadioButton.depth=10.id=rb_mine.text=我的 2021-10-29 09:34:12 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:12 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=RadioButton.depth=10.id=rb_mine.text=我的 2021-10-29 09:34:12 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="我的" and @resource-id="com.jlpay.merch:id/rb_mine"] 2021-10-29 09:34:13 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:13 INFO [Crawler.1080.doElementAction] mark 20211027095159/112_MainActivity.tag=RadioButton.depth=10.id=rb_home.text=嘉联支付.clicked.png to 20211027095159/113_MainActivity.tag=RadioButton.depth=10.id=rb_mine.text=我的.click.png 2021-10-29 09:34:13 INFO [AppiumClient.141.mark] read from 20211027095159/112_MainActivity.tag=RadioButton.depth=10.id=rb_home.text=嘉联支付.clicked.png 2021-10-29 09:34:13 INFO [AppiumClient.154.mark] write png 20211027095159/112_MainActivity.tag=RadioButton.depth=10.id=rb_home.text=嘉联支付.clicked.png 2021-10-29 09:34:13 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/113_MainActivity.tag=RadioButton.depth=10.id=rb_mine.text=我的.click.png 2021-10-29 09:34:13 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:13 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="我的" and @resource-id="com.jlpay.merch:id/rb_mine"]] 2021-10-29 09:34:13 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:13 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:14 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:14 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:14 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:14 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:14 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:34:14 INFO [Crawler.673.parsePageContext] currentContentHash=45b2efbd12c26f918782a09c5b9377e8 lastContentHash=4fc6740d77e4d4b407976942eb7d9da5 2021-10-29 09:34:14 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:14 INFO [Crawler.931.saveDom] save to 20211027095159/113_MainActivity.tag=RadioButton.depth=10.id=rb_mine.text=我的.dom 2021-10-29 09:34:14 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:14 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:15 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:15 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:15 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:15 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton]=2 2021-10-29 09:34:15 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 114 2021-10-29 09:34:15 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:15 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:15 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:15 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:34:15 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:34:15 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:34:15 INFO [Crawler.590.getAvailableElement] all - backButton size=25 2021-10-29 09:34:15 INFO [Crawler.598.getAvailableElement] all - clicked size=23 2021-10-29 09:34:15 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=23 2021-10-29 09:34:15 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_name.text=收款码 by first available element 2021-10-29 09:34:15 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:15 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_name.text=收款码 2021-10-29 09:34:15 INFO [Crawler.997.doElementAction] current index = 114 2021-10-29 09:34:15 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:15 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="收款码" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:34:15 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:34:15 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:34:15 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_name.text=收款码 2021-10-29 09:34:15 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:15 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_name.text=收款码 2021-10-29 09:34:15 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="收款码" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:34:15 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:15 INFO [Crawler.1080.doElementAction] mark 20211027095159/113_MainActivity.tag=RadioButton.depth=10.id=rb_mine.text=我的.clicked.png to 20211027095159/114_MainActivity.tag=TextView.depth=16.id=tv_name.text=收款码.click.png 2021-10-29 09:34:15 INFO [AppiumClient.141.mark] read from 20211027095159/113_MainActivity.tag=RadioButton.depth=10.id=rb_mine.text=我的.clicked.png 2021-10-29 09:34:15 INFO [AppiumClient.154.mark] write png 20211027095159/113_MainActivity.tag=RadioButton.depth=10.id=rb_mine.text=我的.clicked.png 2021-10-29 09:34:15 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/114_MainActivity.tag=TextView.depth=16.id=tv_name.text=收款码.click.png 2021-10-29 09:34:16 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:16 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="收款码" and @resource-id="com.jlpay.merch:id/tv_name"]] 2021-10-29 09:34:17 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:17 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:17 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:17 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:17 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:17 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:17 INFO [Crawler.649.parsePageContext] url=PayCodeActivity 2021-10-29 09:34:17 INFO [Crawler.673.parsePageContext] currentContentHash=8a278a8342b443ac38d60ce0a1b18a7e lastContentHash=45b2efbd12c26f918782a09c5b9377e8 2021-10-29 09:34:17 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:17 INFO [Crawler.931.saveDom] save to 20211027095159/114_MainActivity.tag=TextView.depth=16.id=tv_name.text=收款码.dom 2021-10-29 09:34:17 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:17 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 115 2021-10-29 09:34:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:18 INFO [Crawler.425.needReturn] urlStack=Stack(PayCodeActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:34:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:34:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:34:18 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:34:18 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:34:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:34:18 INFO [Crawler.843.crawl] found PayCodeActivity.tag=ImageView.depth=12.id=iv_paycode by first available element 2021-10-29 09:34:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:18 INFO [Crawler.996.doElementAction] current element = PayCodeActivity.tag=ImageView.depth=12.id=iv_paycode 2021-10-29 09:34:18 INFO [Crawler.997.doElementAction] current index = 115 2021-10-29 09:34:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@resource-id="com.jlpay.merch:id/iv_paycode"] 2021-10-29 09:34:18 INFO [Crawler.1000.doElementAction] current url = PayCodeActivity 2021-10-29 09:34:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.ImageView 2021-10-29 09:34:18 INFO [Crawler.1002.doElementAction] current file name = PayCodeActivity.tag=ImageView.depth=12.id=iv_paycode 2021-10-29 09:34:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:18 INFO [AppiumClient.53.findElementByURI] find by uri element= PayCodeActivity.tag=ImageView.depth=12.id=iv_paycode 2021-10-29 09:34:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@resource-id="com.jlpay.merch:id/iv_paycode"] 2021-10-29 09:34:18 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:18 INFO [Crawler.1080.doElementAction] mark 20211027095159/114_MainActivity.tag=TextView.depth=16.id=tv_name.text=收款码.clicked.png to 20211027095159/115_PayCodeActivity.tag=ImageView.depth=12.id=iv_paycode.click.png 2021-10-29 09:34:18 INFO [AppiumClient.141.mark] read from 20211027095159/114_MainActivity.tag=TextView.depth=16.id=tv_name.text=收款码.clicked.png 2021-10-29 09:34:18 INFO [AppiumClient.154.mark] write png 20211027095159/114_MainActivity.tag=TextView.depth=16.id=tv_name.text=收款码.clicked.png 2021-10-29 09:34:18 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/115_PayCodeActivity.tag=ImageView.depth=12.id=iv_paycode.click.png 2021-10-29 09:34:19 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:19 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@resource-id="com.jlpay.merch:id/iv_paycode"]] 2021-10-29 09:34:19 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:19 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:20 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:20 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:20 INFO [Crawler.649.parsePageContext] url=ViewPayCodeActivity 2021-10-29 09:34:20 INFO [Crawler.673.parsePageContext] currentContentHash=409ec7f291d5b4a9c2b8f4c27ba4204f lastContentHash=8a278a8342b443ac38d60ce0a1b18a7e 2021-10-29 09:34:20 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:20 INFO [Crawler.931.saveDom] save to 20211027095159/115_PayCodeActivity.tag=ImageView.depth=12.id=iv_paycode.dom 2021-10-29 09:34:20 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:20 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:21 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:21 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:21 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:21 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 116 2021-10-29 09:34:21 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:21 INFO [Crawler.425.needReturn] urlStack=Stack(ViewPayCodeActivity, PayCodeActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:21 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:21 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:34:21 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:34:21 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:34:21 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:34:21 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:34:21 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:34:21 INFO [Crawler.843.crawl] found ViewPayCodeActivity.tag=Button.depth=11.id=btn_edit.text=编辑 by first available element 2021-10-29 09:34:21 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:21 INFO [Crawler.996.doElementAction] current element = ViewPayCodeActivity.tag=Button.depth=11.id=btn_edit.text=编辑 2021-10-29 09:34:21 INFO [Crawler.997.doElementAction] current index = 116 2021-10-29 09:34:21 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:21 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="编辑" and @resource-id="com.jlpay.merch:id/btn_edit"] 2021-10-29 09:34:21 INFO [Crawler.1000.doElementAction] current url = ViewPayCodeActivity 2021-10-29 09:34:21 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:34:21 INFO [Crawler.1002.doElementAction] current file name = ViewPayCodeActivity.tag=Button.depth=11.id=btn_edit.text=编辑 2021-10-29 09:34:21 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:21 INFO [AppiumClient.53.findElementByURI] find by uri element= ViewPayCodeActivity.tag=Button.depth=11.id=btn_edit.text=编辑 2021-10-29 09:34:21 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="编辑" and @resource-id="com.jlpay.merch:id/btn_edit"] 2021-10-29 09:34:21 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:21 INFO [Crawler.1080.doElementAction] mark 20211027095159/115_PayCodeActivity.tag=ImageView.depth=12.id=iv_paycode.clicked.png to 20211027095159/116_ViewPayCodeActivity.tag=Button.depth=11.id=btn_edit.text=编辑.click.png 2021-10-29 09:34:21 INFO [AppiumClient.141.mark] read from 20211027095159/115_PayCodeActivity.tag=ImageView.depth=12.id=iv_paycode.clicked.png 2021-10-29 09:34:21 INFO [AppiumClient.154.mark] write png 20211027095159/115_PayCodeActivity.tag=ImageView.depth=12.id=iv_paycode.clicked.png 2021-10-29 09:34:21 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/116_ViewPayCodeActivity.tag=Button.depth=11.id=btn_edit.text=编辑.click.png 2021-10-29 09:34:21 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:21 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="编辑" and @resource-id="com.jlpay.merch:id/btn_edit"]] 2021-10-29 09:34:21 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:21 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:22 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:22 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:22 INFO [Crawler.649.parsePageContext] url=EditPayCodeActivity 2021-10-29 09:34:22 INFO [Crawler.673.parsePageContext] currentContentHash=82709c67b4e0fd110633d0fae1c37215 lastContentHash=409ec7f291d5b4a9c2b8f4c27ba4204f 2021-10-29 09:34:22 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:22 INFO [Crawler.931.saveDom] save to 20211027095159/116_ViewPayCodeActivity.tag=Button.depth=11.id=btn_edit.text=编辑.dom 2021-10-29 09:34:22 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:22 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:23 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:23 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:23 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:23 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 117 2021-10-29 09:34:23 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:23 INFO [Crawler.425.needReturn] urlStack=Stack(EditPayCodeActivity, ViewPayCodeActivity, PayCodeActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:23 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:23 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:34:23 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:34:23 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:34:23 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:34:23 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:34:23 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:34:23 INFO [Crawler.843.crawl] found EditPayCodeActivity.tag=EditText.depth=12.id=et_paycode_name.text=半山小王胖子 by first available element 2021-10-29 09:34:23 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:23 INFO [Crawler.996.doElementAction] current element = EditPayCodeActivity.tag=EditText.depth=12.id=et_paycode_name.text=半山小王胖子 2021-10-29 09:34:23 INFO [Crawler.997.doElementAction] current index = 117 2021-10-29 09:34:23 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:23 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_paycode"]//*[@text="半山小王胖子" and @resource-id="com.jlpay.merch:id/et_paycode_name"] 2021-10-29 09:34:23 INFO [Crawler.1000.doElementAction] current url = EditPayCodeActivity 2021-10-29 09:34:23 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:34:23 INFO [Crawler.1002.doElementAction] current file name = EditPayCodeActivity.tag=EditText.depth=12.id=et_paycode_name.text=半山小王胖子 2021-10-29 09:34:23 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:23 INFO [AppiumClient.53.findElementByURI] find by uri element= EditPayCodeActivity.tag=EditText.depth=12.id=et_paycode_name.text=半山小王胖子 2021-10-29 09:34:23 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_paycode"]//*[@text="半山小王胖子" and @resource-id="com.jlpay.merch:id/et_paycode_name"] 2021-10-29 09:34:23 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:23 INFO [Crawler.1080.doElementAction] mark 20211027095159/116_ViewPayCodeActivity.tag=Button.depth=11.id=btn_edit.text=编辑.clicked.png to 20211027095159/117_EditPayCodeActivity.tag=EditText.depth=12.id=et_paycode_name.text=半山小王胖子.click.png 2021-10-29 09:34:23 INFO [AppiumClient.141.mark] read from 20211027095159/116_ViewPayCodeActivity.tag=Button.depth=11.id=btn_edit.text=编辑.clicked.png 2021-10-29 09:34:23 INFO [AppiumClient.154.mark] write png 20211027095159/116_ViewPayCodeActivity.tag=Button.depth=11.id=btn_edit.text=编辑.clicked.png 2021-10-29 09:34:23 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/117_EditPayCodeActivity.tag=EditText.depth=12.id=et_paycode_name.text=半山小王胖子.click.png 2021-10-29 09:34:23 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:23 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_paycode"]//*[@text="半山小王胖子" and @resource-id="com.jlpay.merch:id/et_paycode_name"]] 2021-10-29 09:34:24 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:24 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:25 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:25 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:25 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:25 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:25 INFO [Crawler.649.parsePageContext] url=EditPayCodeActivity 2021-10-29 09:34:25 INFO [Crawler.673.parsePageContext] currentContentHash=82709c67b4e0fd110633d0fae1c37215 lastContentHash=82709c67b4e0fd110633d0fae1c37215 2021-10-29 09:34:25 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:34:25 INFO [Crawler.931.saveDom] save to 20211027095159/117_EditPayCodeActivity.tag=EditText.depth=12.id=et_paycode_name.text=半山小王胖子.dom 2021-10-29 09:34:25 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:25 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:26 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:26 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:26 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:26 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[EditPayCodeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:34:26 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 118 2021-10-29 09:34:26 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:26 INFO [Crawler.425.needReturn] urlStack=Stack(EditPayCodeActivity, ViewPayCodeActivity, PayCodeActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:26 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:26 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:34:26 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:34:26 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:34:26 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:34:26 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:34:26 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:34:26 INFO [Crawler.843.crawl] found EditPayCodeActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:34:26 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:26 INFO [Crawler.996.doElementAction] current element = EditPayCodeActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:34:26 INFO [Crawler.997.doElementAction] current index = 118 2021-10-29 09:34:26 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:26 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:34:26 INFO [Crawler.1000.doElementAction] current url = EditPayCodeActivity 2021-10-29 09:34:26 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:34:26 INFO [Crawler.1002.doElementAction] current file name = EditPayCodeActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:34:26 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:26 INFO [AppiumClient.53.findElementByURI] find by uri element= EditPayCodeActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:34:26 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:34:26 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:26 INFO [Crawler.1080.doElementAction] mark 20211027095159/117_EditPayCodeActivity.tag=EditText.depth=12.id=et_paycode_name.text=半山小王胖子.clicked.png to 20211027095159/118_EditPayCodeActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:34:26 INFO [AppiumClient.141.mark] read from 20211027095159/117_EditPayCodeActivity.tag=EditText.depth=12.id=et_paycode_name.text=半山小王胖子.clicked.png 2021-10-29 09:34:26 INFO [AppiumClient.154.mark] write png 20211027095159/117_EditPayCodeActivity.tag=EditText.depth=12.id=et_paycode_name.text=半山小王胖子.clicked.png 2021-10-29 09:34:26 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/118_EditPayCodeActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:34:26 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:26 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:34:26 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:26 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:27 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:27 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:27 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:27 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:27 INFO [Crawler.649.parsePageContext] url=EditPayCodeActivity 2021-10-29 09:34:27 INFO [Crawler.673.parsePageContext] currentContentHash=82709c67b4e0fd110633d0fae1c37215 lastContentHash=82709c67b4e0fd110633d0fae1c37215 2021-10-29 09:34:27 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:34:27 INFO [Crawler.931.saveDom] save to 20211027095159/118_EditPayCodeActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:34:27 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:27 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:27 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:27 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:27 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:27 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[EditPayCodeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:34:27 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 119 2021-10-29 09:34:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:27 INFO [Crawler.425.needReturn] urlStack=Stack(EditPayCodeActivity, ViewPayCodeActivity, PayCodeActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:34:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:34:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:34:27 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:34:27 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:34:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:34:27 INFO [Crawler.851.crawl] EditPayCodeActivity all elements had be clicked 2021-10-29 09:34:27 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:34:27 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:34:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:27 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:34:27 INFO [Crawler.996.doElementAction] current element = EditPayCodeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:34:27 INFO [Crawler.997.doElementAction] current index = 119 2021-10-29 09:34:27 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:27 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:34:27 INFO [Crawler.1000.doElementAction] current url = EditPayCodeActivity 2021-10-29 09:34:27 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:34:27 INFO [Crawler.1002.doElementAction] current file name = EditPayCodeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:34:27 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:27 INFO [AppiumClient.53.findElementByURI] find by uri element= EditPayCodeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:34:27 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:34:28 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:28 INFO [Crawler.1080.doElementAction] mark 20211027095159/118_EditPayCodeActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/119_EditPayCodeActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:34:28 INFO [AppiumClient.141.mark] read from 20211027095159/118_EditPayCodeActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:34:28 INFO [AppiumClient.154.mark] write png 20211027095159/118_EditPayCodeActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:34:28 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/119_EditPayCodeActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:34:28 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:28 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:34:28 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:28 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:29 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:29 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:29 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:29 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:29 INFO [Crawler.649.parsePageContext] url=PayCodeActivity 2021-10-29 09:34:29 INFO [Crawler.673.parsePageContext] currentContentHash=8a278a8342b443ac38d60ce0a1b18a7e lastContentHash=82709c67b4e0fd110633d0fae1c37215 2021-10-29 09:34:29 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:29 INFO [Crawler.931.saveDom] save to 20211027095159/119_EditPayCodeActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:34:29 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:29 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:30 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:30 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:30 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:30 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 120 2021-10-29 09:34:30 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:30 INFO [Crawler.425.needReturn] urlStack=Stack(PayCodeActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:30 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:30 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:34:30 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:34:30 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:34:30 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:34:30 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:34:30 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:34:30 INFO [Crawler.843.crawl] found PayCodeActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索 by first available element 2021-10-29 09:34:30 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:30 INFO [Crawler.996.doElementAction] current element = PayCodeActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索 2021-10-29 09:34:30 INFO [Crawler.997.doElementAction] current index = 120 2021-10-29 09:34:30 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:30 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search_select"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="根据机身号搜索" and @resource-id="com.jlpay.merch:id/edt_searchview"] 2021-10-29 09:34:30 INFO [Crawler.1000.doElementAction] current url = PayCodeActivity 2021-10-29 09:34:30 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:34:30 INFO [Crawler.1002.doElementAction] current file name = PayCodeActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索 2021-10-29 09:34:30 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:30 INFO [AppiumClient.53.findElementByURI] find by uri element= PayCodeActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索 2021-10-29 09:34:30 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search_select"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="根据机身号搜索" and @resource-id="com.jlpay.merch:id/edt_searchview"] 2021-10-29 09:34:30 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:30 INFO [Crawler.1080.doElementAction] mark 20211027095159/119_EditPayCodeActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/120_PayCodeActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索.click.png 2021-10-29 09:34:30 INFO [AppiumClient.141.mark] read from 20211027095159/119_EditPayCodeActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:34:30 INFO [AppiumClient.154.mark] write png 20211027095159/119_EditPayCodeActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:34:30 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/120_PayCodeActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索.click.png 2021-10-29 09:34:31 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:31 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search_select"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="根据机身号搜索" and @resource-id="com.jlpay.merch:id/edt_searchview"]] 2021-10-29 09:34:32 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:32 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:33 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:33 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:33 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:33 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:33 INFO [Crawler.649.parsePageContext] url=PayCodeActivity 2021-10-29 09:34:33 INFO [Crawler.673.parsePageContext] currentContentHash=5af6025735eff00e978c91ffe4f50e07 lastContentHash=8a278a8342b443ac38d60ce0a1b18a7e 2021-10-29 09:34:33 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:33 INFO [Crawler.931.saveDom] save to 20211027095159/120_PayCodeActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索.dom 2021-10-29 09:34:33 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:33 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:34 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:34 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:34 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:34 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PayCodeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:34:34 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 121 2021-10-29 09:34:34 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:34 INFO [Crawler.425.needReturn] urlStack=Stack(PayCodeActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:34 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:34 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:34:34 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:34:34 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:34:34 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:34:34 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:34:34 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:34:34 INFO [Crawler.843.crawl] found PayCodeActivity.tag=TextView.depth=9.id=tv_right.text=添加 by first available element 2021-10-29 09:34:34 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:34 INFO [Crawler.996.doElementAction] current element = PayCodeActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:34:34 INFO [Crawler.997.doElementAction] current index = 121 2021-10-29 09:34:34 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:34 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:34:34 INFO [Crawler.1000.doElementAction] current url = PayCodeActivity 2021-10-29 09:34:34 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:34:34 INFO [Crawler.1002.doElementAction] current file name = PayCodeActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:34:34 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:34 INFO [AppiumClient.53.findElementByURI] find by uri element= PayCodeActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:34:34 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:34:34 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:34 INFO [Crawler.1080.doElementAction] mark 20211027095159/120_PayCodeActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索.clicked.png to 20211027095159/121_PayCodeActivity.tag=TextView.depth=9.id=tv_right.text=添加.click.png 2021-10-29 09:34:34 INFO [AppiumClient.141.mark] read from 20211027095159/120_PayCodeActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索.clicked.png 2021-10-29 09:34:34 INFO [AppiumClient.154.mark] write png 20211027095159/120_PayCodeActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索.clicked.png 2021-10-29 09:34:34 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/121_PayCodeActivity.tag=TextView.depth=9.id=tv_right.text=添加.click.png 2021-10-29 09:34:34 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:34 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:34:34 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:34 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:35 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:35 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:35 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:35 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:35 INFO [Crawler.649.parsePageContext] url=PayCodeActivity 2021-10-29 09:34:35 INFO [Crawler.673.parsePageContext] currentContentHash=5af6025735eff00e978c91ffe4f50e07 lastContentHash=5af6025735eff00e978c91ffe4f50e07 2021-10-29 09:34:35 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:34:35 INFO [Crawler.931.saveDom] save to 20211027095159/121_PayCodeActivity.tag=TextView.depth=9.id=tv_right.text=添加.dom 2021-10-29 09:34:35 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:35 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:36 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:36 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:36 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:36 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PayCodeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:34:36 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 122 2021-10-29 09:34:36 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:36 INFO [Crawler.425.needReturn] urlStack=Stack(PayCodeActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:36 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:36 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:34:36 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:34:36 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:34:36 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:34:36 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:34:36 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:34:36 INFO [Crawler.843.crawl] found PayCodeActivity.tag=TextView.depth=9.id=tv_cancel.text=取消 by first available element 2021-10-29 09:34:36 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:36 INFO [TagLimitPlugin.35.beforeElementAction] tagLimit[PayCodeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=1000 with conf.tagLimit 2021-10-29 09:34:36 INFO [Crawler.996.doElementAction] current element = PayCodeActivity.tag=TextView.depth=9.id=tv_cancel.text=取消 2021-10-29 09:34:36 INFO [Crawler.997.doElementAction] current index = 122 2021-10-29 09:34:36 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:36 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search_select"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_cancel"] 2021-10-29 09:34:36 INFO [Crawler.1000.doElementAction] current url = PayCodeActivity 2021-10-29 09:34:36 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:34:36 INFO [Crawler.1002.doElementAction] current file name = PayCodeActivity.tag=TextView.depth=9.id=tv_cancel.text=取消 2021-10-29 09:34:36 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:36 INFO [AppiumClient.53.findElementByURI] find by uri element= PayCodeActivity.tag=TextView.depth=9.id=tv_cancel.text=取消 2021-10-29 09:34:36 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search_select"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_cancel"] 2021-10-29 09:34:36 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:36 INFO [Crawler.1080.doElementAction] mark 20211027095159/121_PayCodeActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png to 20211027095159/122_PayCodeActivity.tag=TextView.depth=9.id=tv_cancel.text=取消.click.png 2021-10-29 09:34:36 INFO [AppiumClient.141.mark] read from 20211027095159/121_PayCodeActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png 2021-10-29 09:34:36 INFO [AppiumClient.154.mark] write png 20211027095159/121_PayCodeActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png 2021-10-29 09:34:36 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/122_PayCodeActivity.tag=TextView.depth=9.id=tv_cancel.text=取消.click.png 2021-10-29 09:34:36 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:36 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search_select"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_cancel"]] 2021-10-29 09:34:36 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:36 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:36 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:36 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:37 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:37 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:37 INFO [Crawler.649.parsePageContext] url=PayCodeActivity 2021-10-29 09:34:37 INFO [Crawler.673.parsePageContext] currentContentHash=8a278a8342b443ac38d60ce0a1b18a7e lastContentHash=5af6025735eff00e978c91ffe4f50e07 2021-10-29 09:34:37 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:37 INFO [Crawler.931.saveDom] save to 20211027095159/122_PayCodeActivity.tag=TextView.depth=9.id=tv_cancel.text=取消.dom 2021-10-29 09:34:37 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:37 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:38 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:38 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:38 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:38 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PayCodeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=999 2021-10-29 09:34:38 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 123 2021-10-29 09:34:38 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:38 INFO [Crawler.425.needReturn] urlStack=Stack(PayCodeActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:38 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:38 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:34:38 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:34:38 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:34:38 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:34:38 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:34:38 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:34:38 INFO [Crawler.843.crawl] found PayCodeActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间 by first available element 2021-10-29 09:34:38 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:38 INFO [Crawler.996.doElementAction] current element = PayCodeActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间 2021-10-29 09:34:38 INFO [Crawler.997.doElementAction] current index = 123 2021-10-29 09:34:38 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:38 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search_select"]//*[@text="添加时间" and @resource-id="com.jlpay.merch:id/tv_select_time"] 2021-10-29 09:34:38 INFO [Crawler.1000.doElementAction] current url = PayCodeActivity 2021-10-29 09:34:38 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:34:38 INFO [Crawler.1002.doElementAction] current file name = PayCodeActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间 2021-10-29 09:34:38 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:38 INFO [AppiumClient.53.findElementByURI] find by uri element= PayCodeActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间 2021-10-29 09:34:38 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search_select"]//*[@text="添加时间" and @resource-id="com.jlpay.merch:id/tv_select_time"] 2021-10-29 09:34:38 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:38 INFO [Crawler.1080.doElementAction] mark 20211027095159/122_PayCodeActivity.tag=TextView.depth=9.id=tv_cancel.text=取消.clicked.png to 20211027095159/123_PayCodeActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间.click.png 2021-10-29 09:34:38 INFO [AppiumClient.141.mark] read from 20211027095159/122_PayCodeActivity.tag=TextView.depth=9.id=tv_cancel.text=取消.clicked.png 2021-10-29 09:34:38 INFO [AppiumClient.154.mark] write png 20211027095159/122_PayCodeActivity.tag=TextView.depth=9.id=tv_cancel.text=取消.clicked.png 2021-10-29 09:34:38 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/123_PayCodeActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间.click.png 2021-10-29 09:34:38 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:38 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search_select"]//*[@text="添加时间" and @resource-id="com.jlpay.merch:id/tv_select_time"]] 2021-10-29 09:34:38 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:38 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:39 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:39 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:39 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:39 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:39 INFO [Crawler.649.parsePageContext] url=PayCodeActivity 2021-10-29 09:34:39 INFO [Crawler.673.parsePageContext] currentContentHash=c34845a3deccc6976670f09c987c5692 lastContentHash=8a278a8342b443ac38d60ce0a1b18a7e 2021-10-29 09:34:39 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:39 INFO [Crawler.931.saveDom] save to 20211027095159/123_PayCodeActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间.dom 2021-10-29 09:34:39 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:39 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:40 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:40 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:40 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:40 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PayCodeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=998 2021-10-29 09:34:40 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 124 2021-10-29 09:34:40 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:40 INFO [Crawler.425.needReturn] urlStack=Stack(PayCodeActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:40 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:40 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:34:40 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:34:40 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:34:40 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:34:40 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:34:40 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:34:40 INFO [Crawler.843.crawl] found PayCodeActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序 by first available element 2021-10-29 09:34:40 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:40 INFO [Crawler.996.doElementAction] current element = PayCodeActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序 2021-10-29 09:34:40 INFO [Crawler.997.doElementAction] current index = 124 2021-10-29 09:34:40 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:40 INFO [Crawler.999.doElementAction] current xpath = //*[@text="时间降序" and @resource-id="com.jlpay.merch:id/tv_time_descending"] 2021-10-29 09:34:40 INFO [Crawler.1000.doElementAction] current url = PayCodeActivity 2021-10-29 09:34:40 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:34:40 INFO [Crawler.1002.doElementAction] current file name = PayCodeActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序 2021-10-29 09:34:40 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:40 INFO [AppiumClient.53.findElementByURI] find by uri element= PayCodeActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序 2021-10-29 09:34:40 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@text="时间降序" and @resource-id="com.jlpay.merch:id/tv_time_descending"] 2021-10-29 09:34:40 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:40 INFO [Crawler.1080.doElementAction] mark 20211027095159/123_PayCodeActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间.clicked.png to 20211027095159/124_PayCodeActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序.click.png 2021-10-29 09:34:40 INFO [AppiumClient.141.mark] read from 20211027095159/123_PayCodeActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间.clicked.png 2021-10-29 09:34:40 INFO [AppiumClient.154.mark] write png 20211027095159/123_PayCodeActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间.clicked.png 2021-10-29 09:34:40 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/124_PayCodeActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序.click.png 2021-10-29 09:34:41 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:41 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@text="时间降序" and @resource-id="com.jlpay.merch:id/tv_time_descending"]] 2021-10-29 09:34:41 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:41 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:42 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:42 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:42 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:42 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:42 INFO [Crawler.649.parsePageContext] url=PayCodeActivity 2021-10-29 09:34:42 INFO [Crawler.673.parsePageContext] currentContentHash=c34845a3deccc6976670f09c987c5692 lastContentHash=c34845a3deccc6976670f09c987c5692 2021-10-29 09:34:42 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:34:42 INFO [Crawler.931.saveDom] save to 20211027095159/124_PayCodeActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序.dom 2021-10-29 09:34:42 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:42 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:43 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:43 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:43 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:43 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PayCodeActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:34:43 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 125 2021-10-29 09:34:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:43 INFO [Crawler.425.needReturn] urlStack=Stack(PayCodeActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:34:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:34:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:34:43 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:34:43 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:34:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:34:43 INFO [Crawler.843.crawl] found PayCodeActivity.tag=TextView.depth=6.id=tv_time_ascending.text=时间升序 by first available element 2021-10-29 09:34:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:43 INFO [Crawler.996.doElementAction] current element = PayCodeActivity.tag=TextView.depth=6.id=tv_time_ascending.text=时间升序 2021-10-29 09:34:43 INFO [Crawler.997.doElementAction] current index = 125 2021-10-29 09:34:43 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:43 INFO [Crawler.999.doElementAction] current xpath = //*[@text="时间升序" and @resource-id="com.jlpay.merch:id/tv_time_ascending"] 2021-10-29 09:34:43 INFO [Crawler.1000.doElementAction] current url = PayCodeActivity 2021-10-29 09:34:43 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:34:43 INFO [Crawler.1002.doElementAction] current file name = PayCodeActivity.tag=TextView.depth=6.id=tv_time_ascending.text=时间升序 2021-10-29 09:34:43 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:43 INFO [AppiumClient.53.findElementByURI] find by uri element= PayCodeActivity.tag=TextView.depth=6.id=tv_time_ascending.text=时间升序 2021-10-29 09:34:43 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@text="时间升序" and @resource-id="com.jlpay.merch:id/tv_time_ascending"] 2021-10-29 09:34:43 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:43 INFO [Crawler.1080.doElementAction] mark 20211027095159/124_PayCodeActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序.clicked.png to 20211027095159/125_PayCodeActivity.tag=TextView.depth=6.id=tv_time_ascending.text=时间升序.click.png 2021-10-29 09:34:43 INFO [AppiumClient.141.mark] read from 20211027095159/124_PayCodeActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序.clicked.png 2021-10-29 09:34:43 INFO [AppiumClient.154.mark] write png 20211027095159/124_PayCodeActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序.clicked.png 2021-10-29 09:34:43 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/125_PayCodeActivity.tag=TextView.depth=6.id=tv_time_ascending.text=时间升序.click.png 2021-10-29 09:34:43 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:43 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@text="时间升序" and @resource-id="com.jlpay.merch:id/tv_time_ascending"]] 2021-10-29 09:34:44 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:44 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:45 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:45 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:45 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:45 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:45 INFO [Crawler.649.parsePageContext] url=PayCodeActivity 2021-10-29 09:34:45 INFO [Crawler.673.parsePageContext] currentContentHash=2f177899f7d13bfe6160d226be65c4c2 lastContentHash=c34845a3deccc6976670f09c987c5692 2021-10-29 09:34:45 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:45 INFO [Crawler.931.saveDom] save to 20211027095159/125_PayCodeActivity.tag=TextView.depth=6.id=tv_time_ascending.text=时间升序.dom 2021-10-29 09:34:45 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:45 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:46 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:46 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:46 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:46 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PayCodeActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=2 2021-10-29 09:34:46 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 126 2021-10-29 09:34:46 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:46 INFO [Crawler.425.needReturn] urlStack=Stack(PayCodeActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:46 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:46 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:34:46 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:34:46 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:34:46 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:34:46 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:34:46 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:34:46 INFO [Crawler.851.crawl] PayCodeActivity all elements had be clicked 2021-10-29 09:34:46 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:34:46 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:34:46 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:34:46 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:34:46 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:34:46 INFO [Crawler.996.doElementAction] current element = PayCodeActivity.tag=Back.id=Back 2021-10-29 09:34:46 INFO [Crawler.997.doElementAction] current index = 126 2021-10-29 09:34:46 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:34:46 INFO [Crawler.999.doElementAction] current xpath = Back-126 2021-10-29 09:34:46 INFO [Crawler.1000.doElementAction] current url = PayCodeActivity 2021-10-29 09:34:46 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:34:46 INFO [Crawler.1002.doElementAction] current file name = PayCodeActivity.tag=Back.id=Back 2021-10-29 09:34:46 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:34:46 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:34:47 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:34:47 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:47 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:47 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:48 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:48 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:48 INFO [Crawler.649.parsePageContext] url=PayCodeActivity 2021-10-29 09:34:48 INFO [Crawler.673.parsePageContext] currentContentHash=8a278a8342b443ac38d60ce0a1b18a7e lastContentHash=2f177899f7d13bfe6160d226be65c4c2 2021-10-29 09:34:48 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:48 INFO [Crawler.931.saveDom] save to 20211027095159/126_PayCodeActivity.tag=Back.id=Back.dom 2021-10-29 09:34:48 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:48 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:48 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:48 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:34:48 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:48 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 127 2021-10-29 09:34:48 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:48 INFO [Crawler.425.needReturn] urlStack=Stack(PayCodeActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:48 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:48 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:34:48 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:34:48 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:34:48 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:34:48 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:34:48 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:34:48 INFO [Crawler.851.crawl] PayCodeActivity all elements had be clicked 2021-10-29 09:34:48 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:34:48 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:34:48 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:48 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:34:48 INFO [Crawler.996.doElementAction] current element = PayCodeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:34:48 INFO [Crawler.997.doElementAction] current index = 127 2021-10-29 09:34:48 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:48 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:34:48 INFO [Crawler.1000.doElementAction] current url = PayCodeActivity 2021-10-29 09:34:48 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:34:48 INFO [Crawler.1002.doElementAction] current file name = PayCodeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:34:48 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:48 INFO [AppiumClient.53.findElementByURI] find by uri element= PayCodeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:34:48 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:34:48 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:49 INFO [Crawler.1080.doElementAction] mark 20211027095159/126_PayCodeActivity.tag=Back.id=Back.clicked.png to 20211027095159/127_PayCodeActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:34:49 INFO [AppiumClient.141.mark] read from 20211027095159/126_PayCodeActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:34:49 INFO [AppiumClient.154.mark] write png 20211027095159/126_PayCodeActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:34:49 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/127_PayCodeActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:34:49 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:49 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:34:49 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:49 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:49 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:49 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:50 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:50 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:50 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:34:50 INFO [Crawler.673.parsePageContext] currentContentHash=45b2efbd12c26f918782a09c5b9377e8 lastContentHash=8a278a8342b443ac38d60ce0a1b18a7e 2021-10-29 09:34:50 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:50 INFO [Crawler.931.saveDom] save to 20211027095159/127_PayCodeActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:34:50 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:50 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:51 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:51 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:51 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:51 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 128 2021-10-29 09:34:51 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:51 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:51 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:51 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:34:51 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:34:51 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:34:51 INFO [Crawler.590.getAvailableElement] all - backButton size=25 2021-10-29 09:34:51 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:34:51 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=22 2021-10-29 09:34:51 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_name.text=收款设备 by first available element 2021-10-29 09:34:51 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:51 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_name.text=收款设备 2021-10-29 09:34:51 INFO [Crawler.997.doElementAction] current index = 128 2021-10-29 09:34:51 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:51 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="收款设备" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:34:51 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:34:51 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:34:51 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_name.text=收款设备 2021-10-29 09:34:51 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:51 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_name.text=收款设备 2021-10-29 09:34:51 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="收款设备" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:34:51 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:51 INFO [Crawler.1080.doElementAction] mark 20211027095159/127_PayCodeActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/128_MainActivity.tag=TextView.depth=16.id=tv_name.text=收款设备.click.png 2021-10-29 09:34:51 INFO [AppiumClient.141.mark] read from 20211027095159/127_PayCodeActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:34:51 INFO [AppiumClient.154.mark] write png 20211027095159/127_PayCodeActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:34:51 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/128_MainActivity.tag=TextView.depth=16.id=tv_name.text=收款设备.click.png 2021-10-29 09:34:51 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:51 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="收款设备" and @resource-id="com.jlpay.merch:id/tv_name"]] 2021-10-29 09:34:52 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:52 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:53 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:53 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:53 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:53 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:53 INFO [Crawler.649.parsePageContext] url=CollectionDeviceActivity 2021-10-29 09:34:53 INFO [Crawler.673.parsePageContext] currentContentHash=fcdb5e3a8025628172eee2c0832ceb38 lastContentHash=45b2efbd12c26f918782a09c5b9377e8 2021-10-29 09:34:53 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:53 INFO [Crawler.931.saveDom] save to 20211027095159/128_MainActivity.tag=TextView.depth=16.id=tv_name.text=收款设备.dom 2021-10-29 09:34:53 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:53 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:54 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:54 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:54 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:54 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 129 2021-10-29 09:34:54 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:54 INFO [Crawler.425.needReturn] urlStack=Stack(CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:54 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:54 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:34:54 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:34:54 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:34:54 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:34:54 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:34:54 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:34:54 INFO [Crawler.843.crawl] found CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=取消注销 by first available element 2021-10-29 09:34:54 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:54 INFO [TagLimitPlugin.35.beforeElementAction] tagLimit[CollectionDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=1000 with conf.tagLimit 2021-10-29 09:34:54 INFO [Crawler.996.doElementAction] current element = CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=取消注销 2021-10-29 09:34:54 INFO [Crawler.997.doElementAction] current index = 129 2021-10-29 09:34:54 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:54 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/ll_operation"]//*[@text="取消注销" and @resource-id="com.jlpay.merch:id/tv_weaning"] 2021-10-29 09:34:54 INFO [Crawler.1000.doElementAction] current url = CollectionDeviceActivity 2021-10-29 09:34:54 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:34:54 INFO [Crawler.1002.doElementAction] current file name = CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=取消注销 2021-10-29 09:34:54 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:54 INFO [AppiumClient.53.findElementByURI] find by uri element= CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=取消注销 2021-10-29 09:34:54 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/ll_operation"]//*[@text="取消注销" and @resource-id="com.jlpay.merch:id/tv_weaning"] 2021-10-29 09:34:54 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:54 INFO [Crawler.1080.doElementAction] mark 20211027095159/128_MainActivity.tag=TextView.depth=16.id=tv_name.text=收款设备.clicked.png to 20211027095159/129_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=取消注销.click.png 2021-10-29 09:34:54 INFO [AppiumClient.141.mark] read from 20211027095159/128_MainActivity.tag=TextView.depth=16.id=tv_name.text=收款设备.clicked.png 2021-10-29 09:34:54 INFO [AppiumClient.154.mark] write png 20211027095159/128_MainActivity.tag=TextView.depth=16.id=tv_name.text=收款设备.clicked.png 2021-10-29 09:34:54 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/129_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=取消注销.click.png 2021-10-29 09:34:55 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:55 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/ll_operation"]//*[@text="取消注销" and @resource-id="com.jlpay.merch:id/tv_weaning"]] 2021-10-29 09:34:55 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:55 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:55 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:55 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:55 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:55 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:55 INFO [Crawler.649.parsePageContext] url=CollectionDeviceActivity 2021-10-29 09:34:55 INFO [Crawler.673.parsePageContext] currentContentHash=dd8ea1294e785eb6b0f2c2b59ec27f95 lastContentHash=fcdb5e3a8025628172eee2c0832ceb38 2021-10-29 09:34:55 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:55 INFO [Crawler.931.saveDom] save to 20211027095159/129_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=取消注销.dom 2021-10-29 09:34:55 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:55 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:56 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:56 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:56 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:56 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CollectionDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=999 2021-10-29 09:34:56 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 130 2021-10-29 09:34:56 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:56 INFO [Crawler.425.needReturn] urlStack=Stack(CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:56 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:56 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:34:56 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:34:56 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:34:56 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:34:56 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:34:56 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:34:56 INFO [Crawler.843.crawl] found CollectionDeviceActivity.tag=Button.depth=8.id=button2.text=取消 by first available element 2021-10-29 09:34:56 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:56 INFO [TagLimitPlugin.35.beforeElementAction] tagLimit[CollectionDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button]=1000 with conf.tagLimit 2021-10-29 09:34:56 INFO [Crawler.996.doElementAction] current element = CollectionDeviceActivity.tag=Button.depth=8.id=button2.text=取消 2021-10-29 09:34:56 INFO [Crawler.997.doElementAction] current index = 130 2021-10-29 09:34:56 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:56 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="android:id/parentPanel"]//*[@resource-id="android:id/buttonPanel"]//*[@text="取消" and @resource-id="android:id/button2"] 2021-10-29 09:34:56 INFO [Crawler.1000.doElementAction] current url = CollectionDeviceActivity 2021-10-29 09:34:56 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:34:56 INFO [Crawler.1002.doElementAction] current file name = CollectionDeviceActivity.tag=Button.depth=8.id=button2.text=取消 2021-10-29 09:34:56 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:56 INFO [AppiumClient.53.findElementByURI] find by uri element= CollectionDeviceActivity.tag=Button.depth=8.id=button2.text=取消 2021-10-29 09:34:56 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="android:id/parentPanel"]//*[@resource-id="android:id/buttonPanel"]//*[@text="取消" and @resource-id="android:id/button2"] 2021-10-29 09:34:56 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:56 INFO [Crawler.1080.doElementAction] mark 20211027095159/129_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=取消注销.clicked.png to 20211027095159/130_CollectionDeviceActivity.tag=Button.depth=8.id=button2.text=取消.click.png 2021-10-29 09:34:56 INFO [AppiumClient.141.mark] read from 20211027095159/129_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=取消注销.clicked.png 2021-10-29 09:34:56 INFO [AppiumClient.154.mark] write png 20211027095159/129_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=取消注销.clicked.png 2021-10-29 09:34:56 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/130_CollectionDeviceActivity.tag=Button.depth=8.id=button2.text=取消.click.png 2021-10-29 09:34:57 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:57 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="android:id/parentPanel"]//*[@resource-id="android:id/buttonPanel"]//*[@text="取消" and @resource-id="android:id/button2"]] 2021-10-29 09:34:57 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:57 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:57 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:57 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:34:57 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:34:57 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:34:57 INFO [Crawler.649.parsePageContext] url=CollectionDeviceActivity 2021-10-29 09:34:57 INFO [Crawler.673.parsePageContext] currentContentHash=fcdb5e3a8025628172eee2c0832ceb38 lastContentHash=dd8ea1294e785eb6b0f2c2b59ec27f95 2021-10-29 09:34:57 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:34:57 INFO [Crawler.931.saveDom] save to 20211027095159/130_CollectionDeviceActivity.tag=Button.depth=8.id=button2.text=取消.dom 2021-10-29 09:34:58 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:34:58 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:34:58 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:34:58 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:34:58 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:34:58 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CollectionDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button]=999 2021-10-29 09:34:58 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 131 2021-10-29 09:34:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:34:58 INFO [Crawler.425.needReturn] urlStack=Stack(CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:34:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:34:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:34:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:34:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:34:58 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:34:58 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:34:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:34:58 INFO [Crawler.843.crawl] found CollectionDeviceActivity.tag=TextView.depth=12.id=tv_setting.text=设置 by first available element 2021-10-29 09:34:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:34:58 INFO [Crawler.996.doElementAction] current element = CollectionDeviceActivity.tag=TextView.depth=12.id=tv_setting.text=设置 2021-10-29 09:34:58 INFO [Crawler.997.doElementAction] current index = 131 2021-10-29 09:34:58 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:34:58 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/ll_operation"]//*[@text="设置" and @resource-id="com.jlpay.merch:id/tv_setting"] 2021-10-29 09:34:58 INFO [Crawler.1000.doElementAction] current url = CollectionDeviceActivity 2021-10-29 09:34:58 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:34:58 INFO [Crawler.1002.doElementAction] current file name = CollectionDeviceActivity.tag=TextView.depth=12.id=tv_setting.text=设置 2021-10-29 09:34:58 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:34:58 INFO [AppiumClient.53.findElementByURI] find by uri element= CollectionDeviceActivity.tag=TextView.depth=12.id=tv_setting.text=设置 2021-10-29 09:34:58 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/ll_operation"]//*[@text="设置" and @resource-id="com.jlpay.merch:id/tv_setting"] 2021-10-29 09:34:58 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:34:58 INFO [Crawler.1080.doElementAction] mark 20211027095159/130_CollectionDeviceActivity.tag=Button.depth=8.id=button2.text=取消.clicked.png to 20211027095159/131_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_setting.text=设置.click.png 2021-10-29 09:34:58 INFO [AppiumClient.141.mark] read from 20211027095159/130_CollectionDeviceActivity.tag=Button.depth=8.id=button2.text=取消.clicked.png 2021-10-29 09:34:59 INFO [AppiumClient.154.mark] write png 20211027095159/130_CollectionDeviceActivity.tag=Button.depth=8.id=button2.text=取消.clicked.png 2021-10-29 09:34:59 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/131_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_setting.text=设置.click.png 2021-10-29 09:34:59 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:34:59 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/ll_operation"]//*[@text="设置" and @resource-id="com.jlpay.merch:id/tv_setting"]] 2021-10-29 09:34:59 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:34:59 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:34:59 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:34:59 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:00 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:00 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:00 INFO [Crawler.649.parsePageContext] url=DeviceDetailActivity 2021-10-29 09:35:00 INFO [Crawler.673.parsePageContext] currentContentHash=3146a61dcf10b39a3c6eecdfaacb68d7 lastContentHash=fcdb5e3a8025628172eee2c0832ceb38 2021-10-29 09:35:00 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:00 INFO [Crawler.931.saveDom] save to 20211027095159/131_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_setting.text=设置.dom 2021-10-29 09:35:00 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:00 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:01 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:01 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:01 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:01 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 132 2021-10-29 09:35:01 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:01 INFO [Crawler.425.needReturn] urlStack=Stack(DeviceDetailActivity, CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:01 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:01 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:35:01 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:35:01 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:35:01 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:35:01 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:35:01 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:35:01 INFO [Crawler.843.crawl] found DeviceDetailActivity.tag=TextView.depth=10.text=打印商户名称 by first available element 2021-10-29 09:35:01 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:01 INFO [Crawler.996.doElementAction] current element = DeviceDetailActivity.tag=TextView.depth=10.text=打印商户名称 2021-10-29 09:35:01 INFO [Crawler.997.doElementAction] current index = 132 2021-10-29 09:35:01 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:01 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_merchant_name"]//*[@text="打印商户名称"] 2021-10-29 09:35:01 INFO [Crawler.1000.doElementAction] current url = DeviceDetailActivity 2021-10-29 09:35:01 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:35:01 INFO [Crawler.1002.doElementAction] current file name = DeviceDetailActivity.tag=TextView.depth=10.text=打印商户名称 2021-10-29 09:35:01 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:01 INFO [AppiumClient.53.findElementByURI] find by uri element= DeviceDetailActivity.tag=TextView.depth=10.text=打印商户名称 2021-10-29 09:35:01 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_merchant_name"]//*[@text="打印商户名称"] 2021-10-29 09:35:01 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:01 INFO [Crawler.1080.doElementAction] mark 20211027095159/131_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_setting.text=设置.clicked.png to 20211027095159/132_DeviceDetailActivity.tag=TextView.depth=10.text=打印商户名称.click.png 2021-10-29 09:35:01 INFO [AppiumClient.141.mark] read from 20211027095159/131_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_setting.text=设置.clicked.png 2021-10-29 09:35:01 INFO [AppiumClient.154.mark] write png 20211027095159/131_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_setting.text=设置.clicked.png 2021-10-29 09:35:01 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/132_DeviceDetailActivity.tag=TextView.depth=10.text=打印商户名称.click.png 2021-10-29 09:35:01 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:01 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_merchant_name"]//*[@text="打印商户名称"]] 2021-10-29 09:35:01 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:01 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:02 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:02 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:02 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:02 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:02 INFO [Crawler.649.parsePageContext] url=ModifyShopNameActivity 2021-10-29 09:35:02 INFO [Crawler.673.parsePageContext] currentContentHash=41436b1fc7312a28a794ae726789f103 lastContentHash=3146a61dcf10b39a3c6eecdfaacb68d7 2021-10-29 09:35:02 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:02 INFO [Crawler.931.saveDom] save to 20211027095159/132_DeviceDetailActivity.tag=TextView.depth=10.text=打印商户名称.dom 2021-10-29 09:35:02 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:02 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:03 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:03 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:03 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:03 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 133 2021-10-29 09:35:03 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:03 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyShopNameActivity, DeviceDetailActivity, CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:03 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:03 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:35:03 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:35:03 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:35:03 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:35:03 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:35:03 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:35:03 INFO [Crawler.843.crawl] found ModifyShopNameActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:35:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:03 INFO [Crawler.996.doElementAction] current element = ModifyShopNameActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:35:03 INFO [Crawler.997.doElementAction] current index = 133 2021-10-29 09:35:03 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:03 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:35:03 INFO [Crawler.1000.doElementAction] current url = ModifyShopNameActivity 2021-10-29 09:35:03 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:35:03 INFO [Crawler.1002.doElementAction] current file name = ModifyShopNameActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:35:03 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:03 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyShopNameActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:35:03 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:35:03 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:03 INFO [Crawler.1080.doElementAction] mark 20211027095159/132_DeviceDetailActivity.tag=TextView.depth=10.text=打印商户名称.clicked.png to 20211027095159/133_ModifyShopNameActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:35:03 INFO [AppiumClient.141.mark] read from 20211027095159/132_DeviceDetailActivity.tag=TextView.depth=10.text=打印商户名称.clicked.png 2021-10-29 09:35:03 INFO [AppiumClient.154.mark] write png 20211027095159/132_DeviceDetailActivity.tag=TextView.depth=10.text=打印商户名称.clicked.png 2021-10-29 09:35:03 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/133_ModifyShopNameActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:35:03 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:03 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:35:03 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:03 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:04 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:04 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:04 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:04 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:04 INFO [Crawler.649.parsePageContext] url=ModifyShopNameActivity 2021-10-29 09:35:04 INFO [Crawler.673.parsePageContext] currentContentHash=41436b1fc7312a28a794ae726789f103 lastContentHash=41436b1fc7312a28a794ae726789f103 2021-10-29 09:35:04 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:35:04 INFO [Crawler.931.saveDom] save to 20211027095159/133_ModifyShopNameActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:35:04 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:04 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:05 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:05 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:05 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:05 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ModifyShopNameActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:35:05 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 134 2021-10-29 09:35:05 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:05 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyShopNameActivity, DeviceDetailActivity, CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:05 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:05 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:35:05 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:35:05 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:35:05 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:35:05 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:35:05 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:35:05 INFO [Crawler.843.crawl] found ModifyShopNameActivity.tag=EditText.depth=9.id=et_shop_name.text=半山小王子 by first available element 2021-10-29 09:35:05 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:05 INFO [Crawler.996.doElementAction] current element = ModifyShopNameActivity.tag=EditText.depth=9.id=et_shop_name.text=半山小王子 2021-10-29 09:35:05 INFO [Crawler.997.doElementAction] current index = 134 2021-10-29 09:35:05 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:05 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="半山小王子" and @resource-id="com.jlpay.merch:id/et_shop_name"] 2021-10-29 09:35:05 INFO [Crawler.1000.doElementAction] current url = ModifyShopNameActivity 2021-10-29 09:35:05 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:35:05 INFO [Crawler.1002.doElementAction] current file name = ModifyShopNameActivity.tag=EditText.depth=9.id=et_shop_name.text=半山小王子 2021-10-29 09:35:05 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:05 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyShopNameActivity.tag=EditText.depth=9.id=et_shop_name.text=半山小王子 2021-10-29 09:35:05 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="半山小王子" and @resource-id="com.jlpay.merch:id/et_shop_name"] 2021-10-29 09:35:05 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:05 INFO [Crawler.1080.doElementAction] mark 20211027095159/133_ModifyShopNameActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/134_ModifyShopNameActivity.tag=EditText.depth=9.id=et_shop_name.text=半山小王子.click.png 2021-10-29 09:35:05 INFO [AppiumClient.141.mark] read from 20211027095159/133_ModifyShopNameActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:35:05 INFO [AppiumClient.154.mark] write png 20211027095159/133_ModifyShopNameActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:35:05 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/134_ModifyShopNameActivity.tag=EditText.depth=9.id=et_shop_name.text=半山小王子.click.png 2021-10-29 09:35:05 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:05 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="半山小王子" and @resource-id="com.jlpay.merch:id/et_shop_name"]] 2021-10-29 09:35:06 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:06 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:06 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:06 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:07 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:07 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:07 INFO [Crawler.649.parsePageContext] url=ModifyShopNameActivity 2021-10-29 09:35:07 INFO [Crawler.673.parsePageContext] currentContentHash=41436b1fc7312a28a794ae726789f103 lastContentHash=41436b1fc7312a28a794ae726789f103 2021-10-29 09:35:07 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:35:07 INFO [Crawler.931.saveDom] save to 20211027095159/134_ModifyShopNameActivity.tag=EditText.depth=9.id=et_shop_name.text=半山小王子.dom 2021-10-29 09:35:07 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:07 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:07 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:07 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:07 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:07 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ModifyShopNameActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:35:07 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 135 2021-10-29 09:35:07 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:07 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyShopNameActivity, DeviceDetailActivity, CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:07 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:07 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:35:07 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:35:07 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:35:07 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:35:07 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:35:07 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:35:07 INFO [Crawler.843.crawl] found ModifyShopNameActivity.tag=Button.depth=8.id=btn_next.text=保存 by first available element 2021-10-29 09:35:07 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:07 INFO [Crawler.996.doElementAction] current element = ModifyShopNameActivity.tag=Button.depth=8.id=btn_next.text=保存 2021-10-29 09:35:07 INFO [Crawler.997.doElementAction] current index = 135 2021-10-29 09:35:07 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:07 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="保存" and @resource-id="com.jlpay.merch:id/btn_next"] 2021-10-29 09:35:07 INFO [Crawler.1000.doElementAction] current url = ModifyShopNameActivity 2021-10-29 09:35:07 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:35:07 INFO [Crawler.1002.doElementAction] current file name = ModifyShopNameActivity.tag=Button.depth=8.id=btn_next.text=保存 2021-10-29 09:35:07 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:07 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyShopNameActivity.tag=Button.depth=8.id=btn_next.text=保存 2021-10-29 09:35:07 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="保存" and @resource-id="com.jlpay.merch:id/btn_next"] 2021-10-29 09:35:07 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:07 INFO [Crawler.1080.doElementAction] mark 20211027095159/134_ModifyShopNameActivity.tag=EditText.depth=9.id=et_shop_name.text=半山小王子.clicked.png to 20211027095159/135_ModifyShopNameActivity.tag=Button.depth=8.id=btn_next.text=保存.click.png 2021-10-29 09:35:07 INFO [AppiumClient.141.mark] read from 20211027095159/134_ModifyShopNameActivity.tag=EditText.depth=9.id=et_shop_name.text=半山小王子.clicked.png 2021-10-29 09:35:08 INFO [AppiumClient.154.mark] write png 20211027095159/134_ModifyShopNameActivity.tag=EditText.depth=9.id=et_shop_name.text=半山小王子.clicked.png 2021-10-29 09:35:08 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/135_ModifyShopNameActivity.tag=Button.depth=8.id=btn_next.text=保存.click.png 2021-10-29 09:35:08 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:08 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="保存" and @resource-id="com.jlpay.merch:id/btn_next"]] 2021-10-29 09:35:08 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:08 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:08 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:08 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:09 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:09 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:09 INFO [Crawler.649.parsePageContext] url=ModifyShopNameActivity 2021-10-29 09:35:09 INFO [Crawler.673.parsePageContext] currentContentHash=41436b1fc7312a28a794ae726789f103 lastContentHash=41436b1fc7312a28a794ae726789f103 2021-10-29 09:35:09 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:35:09 INFO [Crawler.931.saveDom] save to 20211027095159/135_ModifyShopNameActivity.tag=Button.depth=8.id=btn_next.text=保存.dom 2021-10-29 09:35:09 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:09 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:10 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:10 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:10 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:10 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ModifyShopNameActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.Button]=3 2021-10-29 09:35:10 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 136 2021-10-29 09:35:10 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:10 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyShopNameActivity, DeviceDetailActivity, CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:10 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:10 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:35:10 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:35:10 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:35:10 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:35:10 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:35:10 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:35:10 INFO [Crawler.851.crawl] ModifyShopNameActivity all elements had be clicked 2021-10-29 09:35:10 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:35:10 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:35:10 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:10 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:35:10 INFO [Crawler.996.doElementAction] current element = ModifyShopNameActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:35:10 INFO [Crawler.997.doElementAction] current index = 136 2021-10-29 09:35:10 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:10 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:35:10 INFO [Crawler.1000.doElementAction] current url = ModifyShopNameActivity 2021-10-29 09:35:10 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:35:10 INFO [Crawler.1002.doElementAction] current file name = ModifyShopNameActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:35:10 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:10 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyShopNameActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:35:10 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:35:10 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:10 INFO [Crawler.1080.doElementAction] mark 20211027095159/135_ModifyShopNameActivity.tag=Button.depth=8.id=btn_next.text=保存.clicked.png to 20211027095159/136_ModifyShopNameActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:35:10 INFO [AppiumClient.141.mark] read from 20211027095159/135_ModifyShopNameActivity.tag=Button.depth=8.id=btn_next.text=保存.clicked.png 2021-10-29 09:35:10 INFO [AppiumClient.154.mark] write png 20211027095159/135_ModifyShopNameActivity.tag=Button.depth=8.id=btn_next.text=保存.clicked.png 2021-10-29 09:35:10 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/136_ModifyShopNameActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:35:10 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:10 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:35:10 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:10 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:11 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:11 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:11 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:11 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:11 INFO [Crawler.649.parsePageContext] url=CollectionDeviceActivity 2021-10-29 09:35:11 INFO [Crawler.673.parsePageContext] currentContentHash=fcdb5e3a8025628172eee2c0832ceb38 lastContentHash=41436b1fc7312a28a794ae726789f103 2021-10-29 09:35:11 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:11 INFO [Crawler.931.saveDom] save to 20211027095159/136_ModifyShopNameActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:35:11 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:11 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:12 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:12 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:12 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:12 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 137 2021-10-29 09:35:12 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:12 INFO [Crawler.425.needReturn] urlStack=Stack(CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:12 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:12 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:35:12 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:35:12 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:35:12 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:35:12 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:35:12 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:35:12 INFO [Crawler.843.crawl] found CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=注销 by first available element 2021-10-29 09:35:12 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:12 INFO [Crawler.996.doElementAction] current element = CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=注销 2021-10-29 09:35:12 INFO [Crawler.997.doElementAction] current index = 137 2021-10-29 09:35:12 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:12 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/ll_operation"]//*[@text="注销" and @resource-id="com.jlpay.merch:id/tv_weaning"] 2021-10-29 09:35:12 INFO [Crawler.1000.doElementAction] current url = CollectionDeviceActivity 2021-10-29 09:35:12 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:35:12 INFO [Crawler.1002.doElementAction] current file name = CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=注销 2021-10-29 09:35:12 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:12 INFO [AppiumClient.53.findElementByURI] find by uri element= CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=注销 2021-10-29 09:35:12 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/ll_operation"]//*[@text="注销" and @resource-id="com.jlpay.merch:id/tv_weaning"] 2021-10-29 09:35:12 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:12 INFO [Crawler.1080.doElementAction] mark 20211027095159/136_ModifyShopNameActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/137_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=注销.click.png 2021-10-29 09:35:12 INFO [AppiumClient.141.mark] read from 20211027095159/136_ModifyShopNameActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:35:12 INFO [AppiumClient.154.mark] write png 20211027095159/136_ModifyShopNameActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:35:12 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/137_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=注销.click.png 2021-10-29 09:35:12 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:12 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/ll_operation"]//*[@text="注销" and @resource-id="com.jlpay.merch:id/tv_weaning"]] 2021-10-29 09:35:13 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:13 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:13 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:13 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:13 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:13 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:13 INFO [Crawler.649.parsePageContext] url=ApplyRevokeTermActivity 2021-10-29 09:35:13 INFO [Crawler.673.parsePageContext] currentContentHash=21b5a86085035bd3581bc5435081396d lastContentHash=fcdb5e3a8025628172eee2c0832ceb38 2021-10-29 09:35:13 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:13 INFO [Crawler.931.saveDom] save to 20211027095159/137_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=注销.dom 2021-10-29 09:35:13 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:14 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:14 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:14 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:14 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:14 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 138 2021-10-29 09:35:14 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:14 INFO [Crawler.425.needReturn] urlStack=Stack(ApplyRevokeTermActivity, CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:14 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:14 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:35:14 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:35:14 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:35:14 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:35:14 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:35:14 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:35:14 INFO [Crawler.843.crawl] found ApplyRevokeTermActivity.tag=EditText.depth=11.id=et_revoke_person.text=朱** by first available element 2021-10-29 09:35:14 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:14 INFO [Crawler.996.doElementAction] current element = ApplyRevokeTermActivity.tag=EditText.depth=11.id=et_revoke_person.text=朱** 2021-10-29 09:35:14 INFO [Crawler.997.doElementAction] current index = 138 2021-10-29 09:35:14 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:14 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="朱**" and @resource-id="com.jlpay.merch:id/et_revoke_person"] 2021-10-29 09:35:14 INFO [Crawler.1000.doElementAction] current url = ApplyRevokeTermActivity 2021-10-29 09:35:14 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:35:14 INFO [Crawler.1002.doElementAction] current file name = ApplyRevokeTermActivity.tag=EditText.depth=11.id=et_revoke_person.text=朱** 2021-10-29 09:35:14 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:14 INFO [AppiumClient.53.findElementByURI] find by uri element= ApplyRevokeTermActivity.tag=EditText.depth=11.id=et_revoke_person.text=朱** 2021-10-29 09:35:14 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="朱**" and @resource-id="com.jlpay.merch:id/et_revoke_person"] 2021-10-29 09:35:14 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:14 INFO [Crawler.1080.doElementAction] mark 20211027095159/137_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=注销.clicked.png to 20211027095159/138_ApplyRevokeTermActivity.tag=EditText.depth=11.id=et_revoke_person.text=朱**.click.png 2021-10-29 09:35:14 INFO [AppiumClient.141.mark] read from 20211027095159/137_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=注销.clicked.png 2021-10-29 09:35:14 INFO [AppiumClient.154.mark] write png 20211027095159/137_CollectionDeviceActivity.tag=TextView.depth=12.id=tv_weaning.text=注销.clicked.png 2021-10-29 09:35:14 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/138_ApplyRevokeTermActivity.tag=EditText.depth=11.id=et_revoke_person.text=朱**.click.png 2021-10-29 09:35:15 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:15 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="朱**" and @resource-id="com.jlpay.merch:id/et_revoke_person"]] 2021-10-29 09:35:15 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:15 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:16 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:16 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:16 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:16 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:16 INFO [Crawler.649.parsePageContext] url=ApplyRevokeTermActivity 2021-10-29 09:35:16 INFO [Crawler.673.parsePageContext] currentContentHash=21b5a86085035bd3581bc5435081396d lastContentHash=21b5a86085035bd3581bc5435081396d 2021-10-29 09:35:16 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:35:16 INFO [Crawler.931.saveDom] save to 20211027095159/138_ApplyRevokeTermActivity.tag=EditText.depth=11.id=et_revoke_person.text=朱**.dom 2021-10-29 09:35:16 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:16 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:17 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:17 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:17 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:17 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ApplyRevokeTermActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:35:17 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 139 2021-10-29 09:35:17 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:17 INFO [Crawler.425.needReturn] urlStack=Stack(ApplyRevokeTermActivity, CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:17 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:17 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:35:17 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:35:17 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:35:17 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:35:17 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:35:17 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:35:17 INFO [Crawler.843.crawl] found ApplyRevokeTermActivity.tag=Button.depth=10.id=btn_ensure.text=提交申请 by first available element 2021-10-29 09:35:17 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:17 INFO [Crawler.996.doElementAction] current element = ApplyRevokeTermActivity.tag=Button.depth=10.id=btn_ensure.text=提交申请 2021-10-29 09:35:17 INFO [Crawler.997.doElementAction] current index = 139 2021-10-29 09:35:17 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:17 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提交申请" and @resource-id="com.jlpay.merch:id/btn_ensure"] 2021-10-29 09:35:17 INFO [Crawler.1000.doElementAction] current url = ApplyRevokeTermActivity 2021-10-29 09:35:17 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:35:17 INFO [Crawler.1002.doElementAction] current file name = ApplyRevokeTermActivity.tag=Button.depth=10.id=btn_ensure.text=提交申请 2021-10-29 09:35:17 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:17 INFO [AppiumClient.53.findElementByURI] find by uri element= ApplyRevokeTermActivity.tag=Button.depth=10.id=btn_ensure.text=提交申请 2021-10-29 09:35:17 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提交申请" and @resource-id="com.jlpay.merch:id/btn_ensure"] 2021-10-29 09:35:17 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:17 INFO [Crawler.1080.doElementAction] mark 20211027095159/138_ApplyRevokeTermActivity.tag=EditText.depth=11.id=et_revoke_person.text=朱**.clicked.png to 20211027095159/139_ApplyRevokeTermActivity.tag=Button.depth=10.id=btn_ensure.text=提交申请.click.png 2021-10-29 09:35:17 INFO [AppiumClient.141.mark] read from 20211027095159/138_ApplyRevokeTermActivity.tag=EditText.depth=11.id=et_revoke_person.text=朱**.clicked.png 2021-10-29 09:35:17 INFO [AppiumClient.154.mark] write png 20211027095159/138_ApplyRevokeTermActivity.tag=EditText.depth=11.id=et_revoke_person.text=朱**.clicked.png 2021-10-29 09:35:17 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/139_ApplyRevokeTermActivity.tag=Button.depth=10.id=btn_ensure.text=提交申请.click.png 2021-10-29 09:35:17 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:17 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提交申请" and @resource-id="com.jlpay.merch:id/btn_ensure"]] 2021-10-29 09:35:17 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:17 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:18 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:18 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:18 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:18 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:18 INFO [Crawler.649.parsePageContext] url=ApplyRevokeTermActivity 2021-10-29 09:35:18 INFO [Crawler.673.parsePageContext] currentContentHash=f0ba269cae0851cce208c9c9428fc624 lastContentHash=21b5a86085035bd3581bc5435081396d 2021-10-29 09:35:18 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:18 INFO [Crawler.931.saveDom] save to 20211027095159/139_ApplyRevokeTermActivity.tag=Button.depth=10.id=btn_ensure.text=提交申请.dom 2021-10-29 09:35:18 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:18 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:19 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:19 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:19 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:19 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ApplyRevokeTermActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button]=3 2021-10-29 09:35:19 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 140 2021-10-29 09:35:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:19 INFO [Crawler.425.needReturn] urlStack=Stack(ApplyRevokeTermActivity, CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:35:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:35:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:35:19 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:35:19 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:35:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:35:19 INFO [Crawler.843.crawl] found ApplyRevokeTermActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:35:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:19 INFO [Crawler.996.doElementAction] current element = ApplyRevokeTermActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:35:19 INFO [Crawler.997.doElementAction] current index = 140 2021-10-29 09:35:19 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:19 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:35:19 INFO [Crawler.1000.doElementAction] current url = ApplyRevokeTermActivity 2021-10-29 09:35:19 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:35:19 INFO [Crawler.1002.doElementAction] current file name = ApplyRevokeTermActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:35:19 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:19 INFO [AppiumClient.53.findElementByURI] find by uri element= ApplyRevokeTermActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:35:19 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:35:19 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:19 INFO [Crawler.1080.doElementAction] mark 20211027095159/139_ApplyRevokeTermActivity.tag=Button.depth=10.id=btn_ensure.text=提交申请.clicked.png to 20211027095159/140_ApplyRevokeTermActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:35:19 INFO [AppiumClient.141.mark] read from 20211027095159/139_ApplyRevokeTermActivity.tag=Button.depth=10.id=btn_ensure.text=提交申请.clicked.png 2021-10-29 09:35:19 INFO [AppiumClient.154.mark] write png 20211027095159/139_ApplyRevokeTermActivity.tag=Button.depth=10.id=btn_ensure.text=提交申请.clicked.png 2021-10-29 09:35:19 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/140_ApplyRevokeTermActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:35:20 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:20 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:35:20 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:20 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:20 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:20 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:20 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:20 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:20 INFO [Crawler.649.parsePageContext] url=ApplyRevokeTermActivity 2021-10-29 09:35:20 INFO [Crawler.673.parsePageContext] currentContentHash=f0ba269cae0851cce208c9c9428fc624 lastContentHash=f0ba269cae0851cce208c9c9428fc624 2021-10-29 09:35:20 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:35:20 INFO [Crawler.931.saveDom] save to 20211027095159/140_ApplyRevokeTermActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:35:21 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:21 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:21 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:21 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:21 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:21 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ApplyRevokeTermActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:35:21 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 141 2021-10-29 09:35:21 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:21 INFO [Crawler.425.needReturn] urlStack=Stack(ApplyRevokeTermActivity, CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:21 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:21 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:35:21 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:35:21 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:35:21 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:35:21 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:35:21 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:35:21 INFO [Crawler.851.crawl] ApplyRevokeTermActivity all elements had be clicked 2021-10-29 09:35:21 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:35:21 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:35:21 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:21 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:35:21 INFO [Crawler.996.doElementAction] current element = ApplyRevokeTermActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:35:21 INFO [Crawler.997.doElementAction] current index = 141 2021-10-29 09:35:21 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:21 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:35:21 INFO [Crawler.1000.doElementAction] current url = ApplyRevokeTermActivity 2021-10-29 09:35:21 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:35:21 INFO [Crawler.1002.doElementAction] current file name = ApplyRevokeTermActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:35:21 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:21 INFO [AppiumClient.53.findElementByURI] find by uri element= ApplyRevokeTermActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:35:21 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:35:21 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:21 INFO [Crawler.1080.doElementAction] mark 20211027095159/140_ApplyRevokeTermActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/141_ApplyRevokeTermActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:35:21 INFO [AppiumClient.141.mark] read from 20211027095159/140_ApplyRevokeTermActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:35:21 INFO [AppiumClient.154.mark] write png 20211027095159/140_ApplyRevokeTermActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:35:21 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/141_ApplyRevokeTermActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:35:21 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:21 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:35:22 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:22 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:23 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:23 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:23 INFO [Crawler.649.parsePageContext] url=CollectionDeviceActivity 2021-10-29 09:35:23 INFO [Crawler.673.parsePageContext] currentContentHash=fcdb5e3a8025628172eee2c0832ceb38 lastContentHash=f0ba269cae0851cce208c9c9428fc624 2021-10-29 09:35:23 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:23 INFO [Crawler.931.saveDom] save to 20211027095159/141_ApplyRevokeTermActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:35:23 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:23 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:24 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:24 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:24 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:24 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 142 2021-10-29 09:35:24 INFO [ReportPlugin.39.afterElementAction] 142-107 > 142/10+20 2021-10-29 09:35:24 INFO [ReportPlugin.40.afterElementAction] generate test report 2021-10-29 09:35:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:29 INFO [Crawler.425.needReturn] urlStack=Stack(CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:35:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:35:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:35:29 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:35:29 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:35:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:35:29 INFO [Crawler.843.crawl] found CollectionDeviceActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索 by first available element 2021-10-29 09:35:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:29 INFO [Crawler.996.doElementAction] current element = CollectionDeviceActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索 2021-10-29 09:35:29 INFO [Crawler.997.doElementAction] current index = 142 2021-10-29 09:35:29 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:29 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="根据机身号搜索" and @resource-id="com.jlpay.merch:id/edt_searchview"] 2021-10-29 09:35:29 INFO [Crawler.1000.doElementAction] current url = CollectionDeviceActivity 2021-10-29 09:35:29 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:35:29 INFO [Crawler.1002.doElementAction] current file name = CollectionDeviceActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索 2021-10-29 09:35:29 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:29 INFO [AppiumClient.53.findElementByURI] find by uri element= CollectionDeviceActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索 2021-10-29 09:35:29 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="根据机身号搜索" and @resource-id="com.jlpay.merch:id/edt_searchview"] 2021-10-29 09:35:29 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:29 INFO [Crawler.1080.doElementAction] mark 20211027095159/141_ApplyRevokeTermActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/142_CollectionDeviceActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索.click.png 2021-10-29 09:35:29 INFO [AppiumClient.141.mark] read from 20211027095159/141_ApplyRevokeTermActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:35:29 INFO [AppiumClient.154.mark] write png 20211027095159/141_ApplyRevokeTermActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:35:29 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/142_CollectionDeviceActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索.click.png 2021-10-29 09:35:29 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:29 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="根据机身号搜索" and @resource-id="com.jlpay.merch:id/edt_searchview"]] 2021-10-29 09:35:30 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:30 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:31 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:31 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:31 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:31 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:31 INFO [Crawler.649.parsePageContext] url=CollectionDeviceActivity 2021-10-29 09:35:31 INFO [Crawler.673.parsePageContext] currentContentHash=372c036a172f80ff81ae5926d1bc2d14 lastContentHash=fcdb5e3a8025628172eee2c0832ceb38 2021-10-29 09:35:31 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:31 INFO [Crawler.931.saveDom] save to 20211027095159/142_CollectionDeviceActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索.dom 2021-10-29 09:35:31 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:31 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:32 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:32 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:32 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:32 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CollectionDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:35:32 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 143 2021-10-29 09:35:32 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:32 INFO [Crawler.425.needReturn] urlStack=Stack(CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:32 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:32 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:35:32 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:35:32 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:35:32 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:35:32 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:35:32 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:35:32 INFO [Crawler.843.crawl] found CollectionDeviceActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:35:32 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:32 INFO [Crawler.996.doElementAction] current element = CollectionDeviceActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:35:32 INFO [Crawler.997.doElementAction] current index = 143 2021-10-29 09:35:32 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:32 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:35:32 INFO [Crawler.1000.doElementAction] current url = CollectionDeviceActivity 2021-10-29 09:35:32 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:35:32 INFO [Crawler.1002.doElementAction] current file name = CollectionDeviceActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:35:32 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:32 INFO [AppiumClient.53.findElementByURI] find by uri element= CollectionDeviceActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:35:32 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:35:32 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:32 INFO [Crawler.1080.doElementAction] mark 20211027095159/142_CollectionDeviceActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索.clicked.png to 20211027095159/143_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:35:32 INFO [AppiumClient.141.mark] read from 20211027095159/142_CollectionDeviceActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索.clicked.png 2021-10-29 09:35:32 INFO [AppiumClient.154.mark] write png 20211027095159/142_CollectionDeviceActivity.tag=EditText.depth=10.id=edt_searchview.text=根据机身号搜索.clicked.png 2021-10-29 09:35:32 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/143_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:35:32 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:32 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:35:32 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:32 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:33 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:33 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:33 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:33 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:33 INFO [Crawler.649.parsePageContext] url=CollectionDeviceActivity 2021-10-29 09:35:33 INFO [Crawler.673.parsePageContext] currentContentHash=372c036a172f80ff81ae5926d1bc2d14 lastContentHash=372c036a172f80ff81ae5926d1bc2d14 2021-10-29 09:35:33 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:35:33 INFO [Crawler.931.saveDom] save to 20211027095159/143_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:35:33 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:33 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:34 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:34 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:34 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:34 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CollectionDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:35:34 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 144 2021-10-29 09:35:34 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:34 INFO [Crawler.425.needReturn] urlStack=Stack(CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:34 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:34 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:35:34 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:35:34 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:35:34 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:35:34 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:35:34 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:35:34 INFO [Crawler.843.crawl] found CollectionDeviceActivity.tag=TextView.depth=9.id=tv_cancel.text=取消 by first available element 2021-10-29 09:35:34 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:34 INFO [TagLimitPlugin.35.beforeElementAction] tagLimit[CollectionDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=1000 with conf.tagLimit 2021-10-29 09:35:34 INFO [Crawler.996.doElementAction] current element = CollectionDeviceActivity.tag=TextView.depth=9.id=tv_cancel.text=取消 2021-10-29 09:35:34 INFO [Crawler.997.doElementAction] current index = 144 2021-10-29 09:35:34 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:34 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_cancel"] 2021-10-29 09:35:34 INFO [Crawler.1000.doElementAction] current url = CollectionDeviceActivity 2021-10-29 09:35:34 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:35:34 INFO [Crawler.1002.doElementAction] current file name = CollectionDeviceActivity.tag=TextView.depth=9.id=tv_cancel.text=取消 2021-10-29 09:35:34 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:34 INFO [AppiumClient.53.findElementByURI] find by uri element= CollectionDeviceActivity.tag=TextView.depth=9.id=tv_cancel.text=取消 2021-10-29 09:35:34 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_cancel"] 2021-10-29 09:35:34 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:34 INFO [Crawler.1080.doElementAction] mark 20211027095159/143_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/144_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_cancel.text=取消.click.png 2021-10-29 09:35:34 INFO [AppiumClient.141.mark] read from 20211027095159/143_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:35:34 INFO [AppiumClient.154.mark] write png 20211027095159/143_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:35:34 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/144_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_cancel.text=取消.click.png 2021-10-29 09:35:34 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:34 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_cancel"]] 2021-10-29 09:35:34 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:34 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:34 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:34 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:35 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:35 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:35 INFO [Crawler.649.parsePageContext] url=CollectionDeviceActivity 2021-10-29 09:35:35 INFO [Crawler.673.parsePageContext] currentContentHash=fcdb5e3a8025628172eee2c0832ceb38 lastContentHash=372c036a172f80ff81ae5926d1bc2d14 2021-10-29 09:35:35 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:35 INFO [Crawler.931.saveDom] save to 20211027095159/144_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_cancel.text=取消.dom 2021-10-29 09:35:35 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:35 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:36 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:36 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:36 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:36 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CollectionDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=999 2021-10-29 09:35:36 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 145 2021-10-29 09:35:36 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:36 INFO [Crawler.425.needReturn] urlStack=Stack(CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:36 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:36 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:35:36 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:35:36 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:35:36 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:35:36 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:35:36 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:35:36 INFO [Crawler.843.crawl] found CollectionDeviceActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间 by first available element 2021-10-29 09:35:36 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:36 INFO [Crawler.996.doElementAction] current element = CollectionDeviceActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间 2021-10-29 09:35:36 INFO [Crawler.997.doElementAction] current index = 145 2021-10-29 09:35:36 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:36 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="添加时间" and @resource-id="com.jlpay.merch:id/tv_select_time"] 2021-10-29 09:35:36 INFO [Crawler.1000.doElementAction] current url = CollectionDeviceActivity 2021-10-29 09:35:36 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:35:36 INFO [Crawler.1002.doElementAction] current file name = CollectionDeviceActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间 2021-10-29 09:35:36 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:36 INFO [AppiumClient.53.findElementByURI] find by uri element= CollectionDeviceActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间 2021-10-29 09:35:36 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="添加时间" and @resource-id="com.jlpay.merch:id/tv_select_time"] 2021-10-29 09:35:36 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:36 INFO [Crawler.1080.doElementAction] mark 20211027095159/144_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_cancel.text=取消.clicked.png to 20211027095159/145_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间.click.png 2021-10-29 09:35:36 INFO [AppiumClient.141.mark] read from 20211027095159/144_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_cancel.text=取消.clicked.png 2021-10-29 09:35:36 INFO [AppiumClient.154.mark] write png 20211027095159/144_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_cancel.text=取消.clicked.png 2021-10-29 09:35:36 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/145_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间.click.png 2021-10-29 09:35:36 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:36 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="添加时间" and @resource-id="com.jlpay.merch:id/tv_select_time"]] 2021-10-29 09:35:36 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:36 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:37 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:37 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:37 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:37 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:37 INFO [Crawler.649.parsePageContext] url=CollectionDeviceActivity 2021-10-29 09:35:37 INFO [Crawler.673.parsePageContext] currentContentHash=c34845a3deccc6976670f09c987c5692 lastContentHash=fcdb5e3a8025628172eee2c0832ceb38 2021-10-29 09:35:37 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:37 INFO [Crawler.931.saveDom] save to 20211027095159/145_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间.dom 2021-10-29 09:35:37 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:37 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:38 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:38 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:38 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:38 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CollectionDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=998 2021-10-29 09:35:38 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 146 2021-10-29 09:35:38 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:38 INFO [Crawler.425.needReturn] urlStack=Stack(CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:38 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:38 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:35:38 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:35:38 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:35:38 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:35:38 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:35:38 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:35:38 INFO [Crawler.843.crawl] found CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序 by first available element 2021-10-29 09:35:38 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:38 INFO [Crawler.996.doElementAction] current element = CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序 2021-10-29 09:35:38 INFO [Crawler.997.doElementAction] current index = 146 2021-10-29 09:35:38 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:38 INFO [Crawler.999.doElementAction] current xpath = //*[@text="时间降序" and @resource-id="com.jlpay.merch:id/tv_time_descending"] 2021-10-29 09:35:38 INFO [Crawler.1000.doElementAction] current url = CollectionDeviceActivity 2021-10-29 09:35:38 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:35:38 INFO [Crawler.1002.doElementAction] current file name = CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序 2021-10-29 09:35:38 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:38 INFO [AppiumClient.53.findElementByURI] find by uri element= CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序 2021-10-29 09:35:38 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@text="时间降序" and @resource-id="com.jlpay.merch:id/tv_time_descending"] 2021-10-29 09:35:38 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:38 INFO [Crawler.1080.doElementAction] mark 20211027095159/145_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间.clicked.png to 20211027095159/146_CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序.click.png 2021-10-29 09:35:38 INFO [AppiumClient.141.mark] read from 20211027095159/145_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间.clicked.png 2021-10-29 09:35:38 INFO [AppiumClient.154.mark] write png 20211027095159/145_CollectionDeviceActivity.tag=TextView.depth=9.id=tv_select_time.text=添加时间.clicked.png 2021-10-29 09:35:38 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/146_CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序.click.png 2021-10-29 09:35:39 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:39 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@text="时间降序" and @resource-id="com.jlpay.merch:id/tv_time_descending"]] 2021-10-29 09:35:39 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:39 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:40 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:40 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:40 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:40 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:40 INFO [Crawler.649.parsePageContext] url=CollectionDeviceActivity 2021-10-29 09:35:40 INFO [Crawler.673.parsePageContext] currentContentHash=c34845a3deccc6976670f09c987c5692 lastContentHash=c34845a3deccc6976670f09c987c5692 2021-10-29 09:35:40 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:35:40 INFO [Crawler.931.saveDom] save to 20211027095159/146_CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序.dom 2021-10-29 09:35:40 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:40 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:40 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:40 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:40 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:40 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CollectionDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:35:40 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 147 2021-10-29 09:35:40 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:40 INFO [Crawler.425.needReturn] urlStack=Stack(CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:40 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:40 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:35:40 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:35:40 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:35:40 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:35:40 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:35:40 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:35:40 INFO [Crawler.843.crawl] found CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_ascending.text=时间升序 by first available element 2021-10-29 09:35:40 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:40 INFO [Crawler.996.doElementAction] current element = CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_ascending.text=时间升序 2021-10-29 09:35:40 INFO [Crawler.997.doElementAction] current index = 147 2021-10-29 09:35:40 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:40 INFO [Crawler.999.doElementAction] current xpath = //*[@text="时间升序" and @resource-id="com.jlpay.merch:id/tv_time_ascending"] 2021-10-29 09:35:40 INFO [Crawler.1000.doElementAction] current url = CollectionDeviceActivity 2021-10-29 09:35:40 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:35:40 INFO [Crawler.1002.doElementAction] current file name = CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_ascending.text=时间升序 2021-10-29 09:35:40 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:40 INFO [AppiumClient.53.findElementByURI] find by uri element= CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_ascending.text=时间升序 2021-10-29 09:35:40 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@text="时间升序" and @resource-id="com.jlpay.merch:id/tv_time_ascending"] 2021-10-29 09:35:41 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:41 INFO [Crawler.1080.doElementAction] mark 20211027095159/146_CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序.clicked.png to 20211027095159/147_CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_ascending.text=时间升序.click.png 2021-10-29 09:35:41 INFO [AppiumClient.141.mark] read from 20211027095159/146_CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序.clicked.png 2021-10-29 09:35:41 INFO [AppiumClient.154.mark] write png 20211027095159/146_CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_descending.text=时间降序.clicked.png 2021-10-29 09:35:41 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/147_CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_ascending.text=时间升序.click.png 2021-10-29 09:35:41 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:41 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@text="时间升序" and @resource-id="com.jlpay.merch:id/tv_time_ascending"]] 2021-10-29 09:35:42 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:42 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:42 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:42 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:42 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:42 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:42 INFO [Crawler.649.parsePageContext] url=CollectionDeviceActivity 2021-10-29 09:35:42 INFO [Crawler.673.parsePageContext] currentContentHash=2f177899f7d13bfe6160d226be65c4c2 lastContentHash=c34845a3deccc6976670f09c987c5692 2021-10-29 09:35:42 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:42 INFO [Crawler.931.saveDom] save to 20211027095159/147_CollectionDeviceActivity.tag=TextView.depth=6.id=tv_time_ascending.text=时间升序.dom 2021-10-29 09:35:42 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:42 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:43 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:43 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:43 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:43 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CollectionDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=2 2021-10-29 09:35:43 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 148 2021-10-29 09:35:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:43 INFO [Crawler.425.needReturn] urlStack=Stack(CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:35:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:35:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:35:43 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:35:43 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:35:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:35:43 INFO [Crawler.851.crawl] CollectionDeviceActivity all elements had be clicked 2021-10-29 09:35:43 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:35:43 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:35:43 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:35:43 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:35:43 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:35:43 INFO [Crawler.996.doElementAction] current element = CollectionDeviceActivity.tag=Back.id=Back 2021-10-29 09:35:43 INFO [Crawler.997.doElementAction] current index = 148 2021-10-29 09:35:43 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:35:43 INFO [Crawler.999.doElementAction] current xpath = Back-148 2021-10-29 09:35:43 INFO [Crawler.1000.doElementAction] current url = CollectionDeviceActivity 2021-10-29 09:35:43 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:35:43 INFO [Crawler.1002.doElementAction] current file name = CollectionDeviceActivity.tag=Back.id=Back 2021-10-29 09:35:43 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:35:43 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:35:44 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:35:44 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:45 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:45 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:45 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:45 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:45 INFO [Crawler.649.parsePageContext] url=CollectionDeviceActivity 2021-10-29 09:35:45 INFO [Crawler.673.parsePageContext] currentContentHash=fcdb5e3a8025628172eee2c0832ceb38 lastContentHash=2f177899f7d13bfe6160d226be65c4c2 2021-10-29 09:35:45 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:45 INFO [Crawler.931.saveDom] save to 20211027095159/148_CollectionDeviceActivity.tag=Back.id=Back.dom 2021-10-29 09:35:45 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:45 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:46 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:46 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:35:46 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:46 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 149 2021-10-29 09:35:46 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:46 INFO [Crawler.425.needReturn] urlStack=Stack(CollectionDeviceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:46 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:46 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:35:46 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:35:46 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:35:46 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:35:46 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:35:46 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:35:46 INFO [Crawler.851.crawl] CollectionDeviceActivity all elements had be clicked 2021-10-29 09:35:46 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:35:46 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:35:46 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:46 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:35:46 INFO [Crawler.996.doElementAction] current element = CollectionDeviceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:35:46 INFO [Crawler.997.doElementAction] current index = 149 2021-10-29 09:35:46 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:46 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:35:46 INFO [Crawler.1000.doElementAction] current url = CollectionDeviceActivity 2021-10-29 09:35:46 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:35:46 INFO [Crawler.1002.doElementAction] current file name = CollectionDeviceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:35:46 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:46 INFO [AppiumClient.53.findElementByURI] find by uri element= CollectionDeviceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:35:46 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:35:46 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:46 INFO [Crawler.1080.doElementAction] mark 20211027095159/148_CollectionDeviceActivity.tag=Back.id=Back.clicked.png to 20211027095159/149_CollectionDeviceActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:35:46 INFO [AppiumClient.141.mark] read from 20211027095159/148_CollectionDeviceActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:35:46 INFO [AppiumClient.154.mark] write png 20211027095159/148_CollectionDeviceActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:35:46 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/149_CollectionDeviceActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:35:47 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:47 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:35:47 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:47 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:47 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:47 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:48 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:48 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:48 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:35:48 INFO [Crawler.673.parsePageContext] currentContentHash=45b2efbd12c26f918782a09c5b9377e8 lastContentHash=fcdb5e3a8025628172eee2c0832ceb38 2021-10-29 09:35:48 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:48 INFO [Crawler.931.saveDom] save to 20211027095159/149_CollectionDeviceActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:35:48 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:48 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:49 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:49 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:49 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:49 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 150 2021-10-29 09:35:49 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:49 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:49 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:49 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:35:49 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:35:49 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:35:49 INFO [Crawler.590.getAvailableElement] all - backButton size=25 2021-10-29 09:35:49 INFO [Crawler.598.getAvailableElement] all - clicked size=21 2021-10-29 09:35:49 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=21 2021-10-29 09:35:49 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_name.text=云音箱 by first available element 2021-10-29 09:35:49 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:49 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_name.text=云音箱 2021-10-29 09:35:49 INFO [Crawler.997.doElementAction] current index = 150 2021-10-29 09:35:49 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:49 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="云音箱" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:35:49 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:35:49 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:35:49 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_name.text=云音箱 2021-10-29 09:35:49 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:49 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_name.text=云音箱 2021-10-29 09:35:49 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="云音箱" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:35:49 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:49 INFO [Crawler.1080.doElementAction] mark 20211027095159/149_CollectionDeviceActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/150_MainActivity.tag=TextView.depth=16.id=tv_name.text=云音箱.click.png 2021-10-29 09:35:49 INFO [AppiumClient.141.mark] read from 20211027095159/149_CollectionDeviceActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:35:49 INFO [AppiumClient.154.mark] write png 20211027095159/149_CollectionDeviceActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:35:49 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/150_MainActivity.tag=TextView.depth=16.id=tv_name.text=云音箱.click.png 2021-10-29 09:35:49 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:49 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="云音箱" and @resource-id="com.jlpay.merch:id/tv_name"]] 2021-10-29 09:35:50 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:50 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:51 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:51 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:51 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:51 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:51 INFO [Crawler.649.parsePageContext] url=CloudSoundActivity 2021-10-29 09:35:51 INFO [Crawler.673.parsePageContext] currentContentHash=513dec694e7f06739fd54c4574a07079 lastContentHash=45b2efbd12c26f918782a09c5b9377e8 2021-10-29 09:35:51 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:51 INFO [Crawler.931.saveDom] save to 20211027095159/150_MainActivity.tag=TextView.depth=16.id=tv_name.text=云音箱.dom 2021-10-29 09:35:51 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:51 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:51 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:51 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:51 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:51 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 151 2021-10-29 09:35:51 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:51 INFO [Crawler.425.needReturn] urlStack=Stack(CloudSoundActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:51 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:51 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:35:51 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:35:51 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:35:51 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:35:51 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:35:51 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:35:51 INFO [Crawler.843.crawl] found CloudSoundActivity.tag=Button.depth=15.text=播放 by first available element 2021-10-29 09:35:51 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:51 INFO [Crawler.996.doElementAction] current element = CloudSoundActivity.tag=Button.depth=15.text=播放 2021-10-29 09:35:51 INFO [Crawler.997.doElementAction] current index = 151 2021-10-29 09:35:51 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:51 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_sound"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="播放"] 2021-10-29 09:35:52 INFO [Crawler.1000.doElementAction] current url = CloudSoundActivity 2021-10-29 09:35:52 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.widget.Button 2021-10-29 09:35:52 INFO [Crawler.1002.doElementAction] current file name = CloudSoundActivity.tag=Button.depth=15.text=播放 2021-10-29 09:35:52 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:52 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudSoundActivity.tag=Button.depth=15.text=播放 2021-10-29 09:35:52 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_sound"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="播放"] 2021-10-29 09:35:52 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:53 INFO [Crawler.1080.doElementAction] mark 20211027095159/150_MainActivity.tag=TextView.depth=16.id=tv_name.text=云音箱.clicked.png to 20211027095159/151_CloudSoundActivity.tag=Button.depth=15.text=播放.click.png 2021-10-29 09:35:53 INFO [AppiumClient.141.mark] read from 20211027095159/150_MainActivity.tag=TextView.depth=16.id=tv_name.text=云音箱.clicked.png 2021-10-29 09:35:53 INFO [AppiumClient.154.mark] write png 20211027095159/150_MainActivity.tag=TextView.depth=16.id=tv_name.text=云音箱.clicked.png 2021-10-29 09:35:53 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/151_CloudSoundActivity.tag=Button.depth=15.text=播放.click.png 2021-10-29 09:35:53 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:53 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_sound"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="播放"]] 2021-10-29 09:35:53 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:53 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:54 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:54 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:55 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:55 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:55 INFO [Crawler.649.parsePageContext] url=CloudSoundActivity 2021-10-29 09:35:55 INFO [Crawler.673.parsePageContext] currentContentHash=38afd8894d51faec69539df623950285 lastContentHash=513dec694e7f06739fd54c4574a07079 2021-10-29 09:35:55 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:55 INFO [Crawler.931.saveDom] save to 20211027095159/151_CloudSoundActivity.tag=Button.depth=15.text=播放.dom 2021-10-29 09:35:55 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:55 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:56 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:56 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:56 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:56 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloudSoundActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.widget.Button]=3 2021-10-29 09:35:56 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 152 2021-10-29 09:35:56 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:56 INFO [Crawler.425.needReturn] urlStack=Stack(CloudSoundActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:35:56 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:35:56 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:35:56 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:35:56 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:35:56 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:35:56 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:35:56 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:35:56 INFO [Crawler.843.crawl] found CloudSoundActivity.tag=Button.depth=9.id=btn_go_to_add.text=马上添加 by first available element 2021-10-29 09:35:56 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:56 INFO [Crawler.996.doElementAction] current element = CloudSoundActivity.tag=Button.depth=9.id=btn_go_to_add.text=马上添加 2021-10-29 09:35:56 INFO [Crawler.997.doElementAction] current index = 152 2021-10-29 09:35:56 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:56 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_sound"]//*[@text="马上添加" and @resource-id="com.jlpay.merch:id/btn_go_to_add"] 2021-10-29 09:35:56 INFO [Crawler.1000.doElementAction] current url = CloudSoundActivity 2021-10-29 09:35:56 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.Button 2021-10-29 09:35:56 INFO [Crawler.1002.doElementAction] current file name = CloudSoundActivity.tag=Button.depth=9.id=btn_go_to_add.text=马上添加 2021-10-29 09:35:56 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:56 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudSoundActivity.tag=Button.depth=9.id=btn_go_to_add.text=马上添加 2021-10-29 09:35:56 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_sound"]//*[@text="马上添加" and @resource-id="com.jlpay.merch:id/btn_go_to_add"] 2021-10-29 09:35:56 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:56 INFO [Crawler.1080.doElementAction] mark 20211027095159/151_CloudSoundActivity.tag=Button.depth=15.text=播放.clicked.png to 20211027095159/152_CloudSoundActivity.tag=Button.depth=9.id=btn_go_to_add.text=马上添加.click.png 2021-10-29 09:35:56 INFO [AppiumClient.141.mark] read from 20211027095159/151_CloudSoundActivity.tag=Button.depth=15.text=播放.clicked.png 2021-10-29 09:35:56 INFO [AppiumClient.154.mark] write png 20211027095159/151_CloudSoundActivity.tag=Button.depth=15.text=播放.clicked.png 2021-10-29 09:35:56 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/152_CloudSoundActivity.tag=Button.depth=9.id=btn_go_to_add.text=马上添加.click.png 2021-10-29 09:35:56 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:56 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_sound"]//*[@text="马上添加" and @resource-id="com.jlpay.merch:id/btn_go_to_add"]] 2021-10-29 09:35:56 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:56 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:57 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:57 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:57 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:57 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:57 INFO [Crawler.649.parsePageContext] url=CloudSoundActivity 2021-10-29 09:35:57 INFO [Crawler.673.parsePageContext] currentContentHash=e57629f08698e3bf9899c94dcd61a255 lastContentHash=38afd8894d51faec69539df623950285 2021-10-29 09:35:57 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:57 INFO [Crawler.931.saveDom] save to 20211027095159/152_CloudSoundActivity.tag=Button.depth=9.id=btn_go_to_add.text=马上添加.dom 2021-10-29 09:35:57 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:57 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:35:58 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:35:58 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:35:58 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:35:58 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloudSoundActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.Button]=3 2021-10-29 09:35:58 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 153 2021-10-29 09:35:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:35:58 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 8 2021-10-29 09:35:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:35:58 INFO [Crawler.814.crawl] found CloudSoundActivity.tag=Button.depth=8.id=button2.text=不允许 by ElementActions 2021-10-29 09:35:58 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:35:58 INFO [Crawler.996.doElementAction] current element = CloudSoundActivity.tag=Button.depth=8.id=button2.text=不允许 2021-10-29 09:35:58 INFO [Crawler.997.doElementAction] current index = 153 2021-10-29 09:35:58 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:35:58 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="android:id/parentPanel"]//*[@resource-id="android:id/buttonPanel"]//*[@text="不允许" and @resource-id="android:id/button2"] 2021-10-29 09:35:58 INFO [Crawler.1000.doElementAction] current url = CloudSoundActivity 2021-10-29 09:35:58 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:35:58 INFO [Crawler.1002.doElementAction] current file name = CloudSoundActivity.tag=Button.depth=8.id=button2.text=不允许 2021-10-29 09:35:58 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:35:58 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudSoundActivity.tag=Button.depth=8.id=button2.text=不允许 2021-10-29 09:35:58 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="android:id/parentPanel"]//*[@resource-id="android:id/buttonPanel"]//*[@text="不允许" and @resource-id="android:id/button2"] 2021-10-29 09:35:58 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:35:58 INFO [Crawler.1080.doElementAction] mark 20211027095159/152_CloudSoundActivity.tag=Button.depth=9.id=btn_go_to_add.text=马上添加.clicked.png to 20211027095159/153_CloudSoundActivity.tag=Button.depth=8.id=button2.text=不允许.click.png 2021-10-29 09:35:58 INFO [AppiumClient.141.mark] read from 20211027095159/152_CloudSoundActivity.tag=Button.depth=9.id=btn_go_to_add.text=马上添加.clicked.png 2021-10-29 09:35:58 INFO [AppiumClient.154.mark] write png 20211027095159/152_CloudSoundActivity.tag=Button.depth=9.id=btn_go_to_add.text=马上添加.clicked.png 2021-10-29 09:35:58 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/153_CloudSoundActivity.tag=Button.depth=8.id=button2.text=不允许.click.png 2021-10-29 09:35:58 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:35:58 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="android:id/parentPanel"]//*[@resource-id="android:id/buttonPanel"]//*[@text="不允许" and @resource-id="android:id/button2"]] 2021-10-29 09:35:58 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:35:58 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:35:59 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:35:59 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:35:59 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:35:59 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:35:59 INFO [Crawler.649.parsePageContext] url=CloudSoundActivity 2021-10-29 09:35:59 INFO [Crawler.673.parsePageContext] currentContentHash=38afd8894d51faec69539df623950285 lastContentHash=e57629f08698e3bf9899c94dcd61a255 2021-10-29 09:35:59 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:35:59 INFO [Crawler.931.saveDom] save to 20211027095159/153_CloudSoundActivity.tag=Button.depth=8.id=button2.text=不允许.dom 2021-10-29 09:35:59 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:35:59 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:00 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:00 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:00 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:00 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 154 2021-10-29 09:36:00 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:00 INFO [Crawler.425.needReturn] urlStack=Stack(CloudSoundActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:00 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:00 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:36:00 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:36:00 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:36:00 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:36:00 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:36:00 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:36:00 INFO [Crawler.843.crawl] found CloudSoundActivity.tag=TextView.depth=9.id=tv_right.text=添加 by first available element 2021-10-29 09:36:00 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:00 INFO [Crawler.996.doElementAction] current element = CloudSoundActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:36:00 INFO [Crawler.997.doElementAction] current index = 154 2021-10-29 09:36:00 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:00 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:36:00 INFO [Crawler.1000.doElementAction] current url = CloudSoundActivity 2021-10-29 09:36:00 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:36:00 INFO [Crawler.1002.doElementAction] current file name = CloudSoundActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:36:00 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:00 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudSoundActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:36:00 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:36:00 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:00 INFO [Crawler.1080.doElementAction] mark 20211027095159/153_CloudSoundActivity.tag=Button.depth=8.id=button2.text=不允许.clicked.png to 20211027095159/154_CloudSoundActivity.tag=TextView.depth=9.id=tv_right.text=添加.click.png 2021-10-29 09:36:00 INFO [AppiumClient.141.mark] read from 20211027095159/153_CloudSoundActivity.tag=Button.depth=8.id=button2.text=不允许.clicked.png 2021-10-29 09:36:00 INFO [AppiumClient.154.mark] write png 20211027095159/153_CloudSoundActivity.tag=Button.depth=8.id=button2.text=不允许.clicked.png 2021-10-29 09:36:00 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/154_CloudSoundActivity.tag=TextView.depth=9.id=tv_right.text=添加.click.png 2021-10-29 09:36:00 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:00 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:36:00 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:00 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:01 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:01 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:01 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:01 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:01 INFO [Crawler.649.parsePageContext] url=CloudSoundActivity 2021-10-29 09:36:01 INFO [Crawler.673.parsePageContext] currentContentHash=38afd8894d51faec69539df623950285 lastContentHash=38afd8894d51faec69539df623950285 2021-10-29 09:36:01 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:36:01 INFO [Crawler.931.saveDom] save to 20211027095159/154_CloudSoundActivity.tag=TextView.depth=9.id=tv_right.text=添加.dom 2021-10-29 09:36:01 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:01 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:02 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:02 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:02 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:02 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloudSoundActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:36:02 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 155 2021-10-29 09:36:02 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:02 INFO [Crawler.425.needReturn] urlStack=Stack(CloudSoundActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:02 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:02 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:36:02 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:36:02 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:36:02 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:36:02 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:36:02 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:36:02 INFO [Crawler.851.crawl] CloudSoundActivity all elements had be clicked 2021-10-29 09:36:02 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:36:02 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:36:02 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:02 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:36:02 INFO [Crawler.996.doElementAction] current element = CloudSoundActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:36:02 INFO [Crawler.997.doElementAction] current index = 155 2021-10-29 09:36:02 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:02 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:36:02 INFO [Crawler.1000.doElementAction] current url = CloudSoundActivity 2021-10-29 09:36:02 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:36:02 INFO [Crawler.1002.doElementAction] current file name = CloudSoundActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:36:02 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:02 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudSoundActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:36:02 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:36:02 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:02 INFO [Crawler.1080.doElementAction] mark 20211027095159/154_CloudSoundActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png to 20211027095159/155_CloudSoundActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:36:02 INFO [AppiumClient.141.mark] read from 20211027095159/154_CloudSoundActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png 2021-10-29 09:36:02 INFO [AppiumClient.154.mark] write png 20211027095159/154_CloudSoundActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png 2021-10-29 09:36:02 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/155_CloudSoundActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:36:02 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:02 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:36:03 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:03 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:03 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:03 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:04 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:04 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:04 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:36:04 INFO [Crawler.673.parsePageContext] currentContentHash=45b2efbd12c26f918782a09c5b9377e8 lastContentHash=38afd8894d51faec69539df623950285 2021-10-29 09:36:04 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:04 INFO [Crawler.931.saveDom] save to 20211027095159/155_CloudSoundActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:36:04 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:04 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:04 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:04 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:04 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:04 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 156 2021-10-29 09:36:04 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:04 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:04 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:04 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:36:04 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:36:04 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:36:04 INFO [Crawler.590.getAvailableElement] all - backButton size=25 2021-10-29 09:36:04 INFO [Crawler.598.getAvailableElement] all - clicked size=20 2021-10-29 09:36:04 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=20 2021-10-29 09:36:04 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_name.text=云打印机 by first available element 2021-10-29 09:36:04 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:04 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_name.text=云打印机 2021-10-29 09:36:04 INFO [Crawler.997.doElementAction] current index = 156 2021-10-29 09:36:04 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:04 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="云打印机" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:36:04 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:36:04 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:36:04 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_name.text=云打印机 2021-10-29 09:36:04 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:04 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_name.text=云打印机 2021-10-29 09:36:04 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="云打印机" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:36:05 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:05 INFO [Crawler.1080.doElementAction] mark 20211027095159/155_CloudSoundActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/156_MainActivity.tag=TextView.depth=16.id=tv_name.text=云打印机.click.png 2021-10-29 09:36:05 INFO [AppiumClient.141.mark] read from 20211027095159/155_CloudSoundActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:36:05 INFO [AppiumClient.154.mark] write png 20211027095159/155_CloudSoundActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:36:05 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/156_MainActivity.tag=TextView.depth=16.id=tv_name.text=云打印机.click.png 2021-10-29 09:36:05 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:05 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="云打印机" and @resource-id="com.jlpay.merch:id/tv_name"]] 2021-10-29 09:36:06 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:06 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:06 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:06 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:06 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:06 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:06 INFO [Crawler.649.parsePageContext] url=CloudPrinterActivity 2021-10-29 09:36:06 INFO [Crawler.673.parsePageContext] currentContentHash=89792c67d066b175d59f34e5658db0ed lastContentHash=45b2efbd12c26f918782a09c5b9377e8 2021-10-29 09:36:06 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:06 INFO [Crawler.931.saveDom] save to 20211027095159/156_MainActivity.tag=TextView.depth=16.id=tv_name.text=云打印机.dom 2021-10-29 09:36:07 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:07 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:07 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:07 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:07 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:07 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 157 2021-10-29 09:36:07 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:07 INFO [Crawler.425.needReturn] urlStack=Stack(CloudPrinterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:07 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:07 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:36:07 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:36:07 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:36:07 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:36:07 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:36:07 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:36:07 INFO [Crawler.843.crawl] found CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview by first available element 2021-10-29 09:36:07 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:07 INFO [Crawler.996.doElementAction] current element = CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview 2021-10-29 09:36:07 INFO [Crawler.997.doElementAction] current index = 157 2021-10-29 09:36:07 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:07 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@resource-id="com.jlpay.merch:id/iv_weview"] 2021-10-29 09:36:07 INFO [Crawler.1000.doElementAction] current url = CloudPrinterActivity 2021-10-29 09:36:07 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.ImageView 2021-10-29 09:36:07 INFO [Crawler.1002.doElementAction] current file name = CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview 2021-10-29 09:36:07 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:07 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview 2021-10-29 09:36:07 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@resource-id="com.jlpay.merch:id/iv_weview"] 2021-10-29 09:36:18 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:36:18 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.NoSuchElementException: An element could not be located on the page using the given search parameters. For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f *** Element info: {Using=xpath, value=//*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@resource-id="com.jlpay.merch:id/iv_weview"]} 2021-10-29 09:36:18 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.driver.ReactWebDriver.findElementByURI(ReactWebDriver.scala:55) com.testerhome.appcrawler.driver.ReactWebDriver.findElementByURI$(ReactWebDriver.scala:51) com.testerhome.appcrawler.driver.AppiumClient.findElementByURI(AppiumClient.scala:274) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1072) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:36:18 ERROR [AppiumClient.76.findElementByURI] find by xpath error 2021-10-29 09:36:18 ERROR [AppiumClient.77.findElementByURI] org.openqa.selenium.NoSuchElementException: An element could not be located on the page using the given search parameters. For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f *** Element info: {Using=xpath, value=//*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@resource-id="com.jlpay.merch:id/iv_weview"]} 2021-10-29 09:36:18 ERROR [Crawler.1074.doElementAction] not found CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview 2021-10-29 09:36:18 INFO [Crawler.728.setElementAction] set action to clear 2021-10-29 09:36:18 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:36:18 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:18 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:18 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:18 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:18 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:18 INFO [Crawler.649.parsePageContext] url=CloudPrinterActivity 2021-10-29 09:36:18 INFO [Crawler.673.parsePageContext] currentContentHash=0412857fb3325c7cf378c460963b035b lastContentHash=89792c67d066b175d59f34e5658db0ed 2021-10-29 09:36:18 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:18 INFO [Crawler.931.saveDom] save to 20211027095159/157_CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview.dom 2021-10-29 09:36:19 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:19 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:19 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:19 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:19 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:19 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 158 2021-10-29 09:36:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:19 ERROR [Crawler.785.crawl] last time not found CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview 2021-10-29 09:36:19 INFO [Crawler.425.needReturn] urlStack=Stack(CloudPrinterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:36:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:36:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:36:19 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:36:19 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:36:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:36:19 INFO [Crawler.843.crawl] found CloudPrinterActivity.tag=Button.depth=17.text=静音 by first available element 2021-10-29 09:36:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:19 INFO [Crawler.996.doElementAction] current element = CloudPrinterActivity.tag=Button.depth=17.text=静音 2021-10-29 09:36:19 INFO [Crawler.997.doElementAction] current index = 158 2021-10-29 09:36:19 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:19 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="静音"] 2021-10-29 09:36:19 INFO [Crawler.1000.doElementAction] current url = CloudPrinterActivity 2021-10-29 09:36:19 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button 2021-10-29 09:36:19 INFO [Crawler.1002.doElementAction] current file name = CloudPrinterActivity.tag=Button.depth=17.text=静音 2021-10-29 09:36:19 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:19 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudPrinterActivity.tag=Button.depth=17.text=静音 2021-10-29 09:36:19 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="静音"] 2021-10-29 09:36:19 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:19 INFO [Crawler.1080.doElementAction] mark 20211027095159/157_CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview.clicked.png to 20211027095159/158_CloudPrinterActivity.tag=Button.depth=17.text=静音.click.png 2021-10-29 09:36:19 INFO [AppiumClient.141.mark] read from 20211027095159/157_CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview.clicked.png 2021-10-29 09:36:19 INFO [AppiumClient.154.mark] write png 20211027095159/157_CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview.clicked.png 2021-10-29 09:36:19 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/158_CloudPrinterActivity.tag=Button.depth=17.text=静音.click.png 2021-10-29 09:36:20 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:20 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="静音"]] 2021-10-29 09:36:20 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:20 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:20 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:20 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:20 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:20 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:20 INFO [Crawler.649.parsePageContext] url=CloudPrinterActivity 2021-10-29 09:36:20 INFO [Crawler.673.parsePageContext] currentContentHash=71179af50c43d94cabf5b2752bc0b39b lastContentHash=0412857fb3325c7cf378c460963b035b 2021-10-29 09:36:20 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:20 INFO [Crawler.931.saveDom] save to 20211027095159/158_CloudPrinterActivity.tag=Button.depth=17.text=静音.dom 2021-10-29 09:36:21 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:21 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:21 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:21 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:21 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:21 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloudPrinterActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=3 2021-10-29 09:36:21 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 159 2021-10-29 09:36:21 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:21 INFO [Crawler.425.needReturn] urlStack=Stack(CloudPrinterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:21 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:21 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:36:21 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:36:21 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:36:21 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:36:21 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:36:21 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:36:21 INFO [Crawler.843.crawl] found CloudPrinterActivity.tag=Button.depth=17.text=取消静音 by first available element 2021-10-29 09:36:21 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:21 INFO [Crawler.996.doElementAction] current element = CloudPrinterActivity.tag=Button.depth=17.text=取消静音 2021-10-29 09:36:21 INFO [Crawler.997.doElementAction] current index = 159 2021-10-29 09:36:21 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:21 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="取消静音"] 2021-10-29 09:36:21 INFO [Crawler.1000.doElementAction] current url = CloudPrinterActivity 2021-10-29 09:36:21 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button 2021-10-29 09:36:21 INFO [Crawler.1002.doElementAction] current file name = CloudPrinterActivity.tag=Button.depth=17.text=取消静音 2021-10-29 09:36:21 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:21 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudPrinterActivity.tag=Button.depth=17.text=取消静音 2021-10-29 09:36:21 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="取消静音"] 2021-10-29 09:36:21 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:21 INFO [Crawler.1080.doElementAction] mark 20211027095159/158_CloudPrinterActivity.tag=Button.depth=17.text=静音.clicked.png to 20211027095159/159_CloudPrinterActivity.tag=Button.depth=17.text=取消静音.click.png 2021-10-29 09:36:21 INFO [AppiumClient.141.mark] read from 20211027095159/158_CloudPrinterActivity.tag=Button.depth=17.text=静音.clicked.png 2021-10-29 09:36:21 INFO [AppiumClient.154.mark] write png 20211027095159/158_CloudPrinterActivity.tag=Button.depth=17.text=静音.clicked.png 2021-10-29 09:36:21 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/159_CloudPrinterActivity.tag=Button.depth=17.text=取消静音.click.png 2021-10-29 09:36:22 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:22 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="取消静音"]] 2021-10-29 09:36:22 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:22 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:22 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:22 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:22 INFO [Crawler.649.parsePageContext] url=CloudPrinterActivity 2021-10-29 09:36:22 INFO [Crawler.673.parsePageContext] currentContentHash=0412857fb3325c7cf378c460963b035b lastContentHash=71179af50c43d94cabf5b2752bc0b39b 2021-10-29 09:36:22 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:22 INFO [Crawler.931.saveDom] save to 20211027095159/159_CloudPrinterActivity.tag=Button.depth=17.text=取消静音.dom 2021-10-29 09:36:22 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:22 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:23 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:23 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:23 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:23 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloudPrinterActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=2 2021-10-29 09:36:23 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 160 2021-10-29 09:36:23 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:23 INFO [Crawler.425.needReturn] urlStack=Stack(CloudPrinterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:23 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:23 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:36:23 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:36:23 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:36:23 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:36:23 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:36:23 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:36:23 INFO [Crawler.843.crawl] found CloudPrinterActivity.tag=Button.depth=16.text=进入全屏模式 by first available element 2021-10-29 09:36:23 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:23 INFO [Crawler.996.doElementAction] current element = CloudPrinterActivity.tag=Button.depth=16.text=进入全屏模式 2021-10-29 09:36:23 INFO [Crawler.997.doElementAction] current index = 160 2021-10-29 09:36:23 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:23 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="进入全屏模式"] 2021-10-29 09:36:23 INFO [Crawler.1000.doElementAction] current url = CloudPrinterActivity 2021-10-29 09:36:23 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button 2021-10-29 09:36:23 INFO [Crawler.1002.doElementAction] current file name = CloudPrinterActivity.tag=Button.depth=16.text=进入全屏模式 2021-10-29 09:36:23 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:23 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudPrinterActivity.tag=Button.depth=16.text=进入全屏模式 2021-10-29 09:36:23 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="进入全屏模式"] 2021-10-29 09:36:23 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:23 INFO [Crawler.1080.doElementAction] mark 20211027095159/159_CloudPrinterActivity.tag=Button.depth=17.text=取消静音.clicked.png to 20211027095159/160_CloudPrinterActivity.tag=Button.depth=16.text=进入全屏模式.click.png 2021-10-29 09:36:23 INFO [AppiumClient.141.mark] read from 20211027095159/159_CloudPrinterActivity.tag=Button.depth=17.text=取消静音.clicked.png 2021-10-29 09:36:23 INFO [AppiumClient.154.mark] write png 20211027095159/159_CloudPrinterActivity.tag=Button.depth=17.text=取消静音.clicked.png 2021-10-29 09:36:23 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/160_CloudPrinterActivity.tag=Button.depth=16.text=进入全屏模式.click.png 2021-10-29 09:36:24 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:24 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="进入全屏模式"]] 2021-10-29 09:36:24 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:24 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:24 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:24 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:25 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:25 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:25 INFO [Crawler.649.parsePageContext] url=CloudPrinterActivity 2021-10-29 09:36:25 INFO [Crawler.673.parsePageContext] currentContentHash=7c233caa4384c98d7cf0b4857aab74cf lastContentHash=0412857fb3325c7cf378c460963b035b 2021-10-29 09:36:25 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:25 INFO [Crawler.931.saveDom] save to 20211027095159/160_CloudPrinterActivity.tag=Button.depth=16.text=进入全屏模式.dom 2021-10-29 09:36:25 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:25 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:26 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:26 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:26 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:26 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloudPrinterActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=3 2021-10-29 09:36:26 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 161 2021-10-29 09:36:26 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:26 INFO [Crawler.425.needReturn] urlStack=Stack(CloudPrinterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:26 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:26 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:36:26 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:36:26 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:36:26 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:36:26 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:36:26 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:36:26 INFO [Crawler.843.crawl] found CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview by first available element 2021-10-29 09:36:26 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:26 INFO [Crawler.996.doElementAction] current element = CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview 2021-10-29 09:36:26 INFO [Crawler.997.doElementAction] current index = 161 2021-10-29 09:36:26 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:26 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@resource-id="com.jlpay.merch:id/iv_weview"] 2021-10-29 09:36:26 INFO [Crawler.1000.doElementAction] current url = CloudPrinterActivity 2021-10-29 09:36:26 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.ImageView 2021-10-29 09:36:26 INFO [Crawler.1002.doElementAction] current file name = CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview 2021-10-29 09:36:26 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:26 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview 2021-10-29 09:36:26 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@resource-id="com.jlpay.merch:id/iv_weview"] 2021-10-29 09:36:26 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:26 INFO [Crawler.1080.doElementAction] mark 20211027095159/160_CloudPrinterActivity.tag=Button.depth=16.text=进入全屏模式.clicked.png to 20211027095159/161_CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview.click.png 2021-10-29 09:36:26 INFO [AppiumClient.141.mark] read from 20211027095159/160_CloudPrinterActivity.tag=Button.depth=16.text=进入全屏模式.clicked.png 2021-10-29 09:36:26 INFO [AppiumClient.146.mark] scale the origin image 2021-10-29 09:36:26 INFO [AppiumClient.154.mark] write png 20211027095159/160_CloudPrinterActivity.tag=Button.depth=16.text=进入全屏模式.clicked.png 2021-10-29 09:36:26 INFO [AppiumClient.156.mark] scale the origin image and save 2021-10-29 09:36:26 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:36:26 ERROR [AppiumClient.238.asyncTask] java.awt.image.RasterFormatException: (y + height) is outside of Raster 2021-10-29 09:36:26 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:36:26 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:26 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@resource-id="com.jlpay.merch:id/iv_weview"]] 2021-10-29 09:36:27 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:36:27 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:27 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:27 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:28 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:28 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:28 INFO [Crawler.649.parsePageContext] url=CloudPrinterActivity 2021-10-29 09:36:28 INFO [Crawler.673.parsePageContext] currentContentHash=18763b69bcacb6b8fb2e7ebe5acab16b lastContentHash=7c233caa4384c98d7cf0b4857aab74cf 2021-10-29 09:36:28 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:28 INFO [Crawler.931.saveDom] save to 20211027095159/161_CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview.dom 2021-10-29 09:36:28 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:28 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:29 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:29 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:29 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:29 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloudPrinterActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.ImageView]=3 2021-10-29 09:36:29 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 162 2021-10-29 09:36:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:29 INFO [Crawler.425.needReturn] urlStack=Stack(CloudPrinterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:36:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:36:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:36:29 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:36:29 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:36:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:36:29 INFO [Crawler.843.crawl] found CloudPrinterActivity.tag=Button.depth=15.text=播放 by first available element 2021-10-29 09:36:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:29 INFO [Crawler.996.doElementAction] current element = CloudPrinterActivity.tag=Button.depth=15.text=播放 2021-10-29 09:36:29 INFO [Crawler.997.doElementAction] current index = 162 2021-10-29 09:36:29 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:29 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="播放"] 2021-10-29 09:36:29 INFO [Crawler.1000.doElementAction] current url = CloudPrinterActivity 2021-10-29 09:36:29 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.widget.Button 2021-10-29 09:36:29 INFO [Crawler.1002.doElementAction] current file name = CloudPrinterActivity.tag=Button.depth=15.text=播放 2021-10-29 09:36:29 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:29 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudPrinterActivity.tag=Button.depth=15.text=播放 2021-10-29 09:36:29 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="播放"] 2021-10-29 09:36:29 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:29 INFO [Crawler.1080.doElementAction] mark 20211027095159/161_CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview.clicked.png to 20211027095159/162_CloudPrinterActivity.tag=Button.depth=15.text=播放.click.png 2021-10-29 09:36:29 INFO [AppiumClient.141.mark] read from 20211027095159/161_CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview.clicked.png 2021-10-29 09:36:29 INFO [AppiumClient.146.mark] scale the origin image 2021-10-29 09:36:29 INFO [AppiumClient.154.mark] write png 20211027095159/161_CloudPrinterActivity.tag=ImageView.depth=10.id=iv_weview.clicked.png 2021-10-29 09:36:29 INFO [AppiumClient.156.mark] scale the origin image and save 2021-10-29 09:36:29 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:36:29 ERROR [AppiumClient.238.asyncTask] java.awt.image.RasterFormatException: (y + height) is outside of Raster 2021-10-29 09:36:29 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:36:29 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:29 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="播放"]] 2021-10-29 09:36:29 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:36:29 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:30 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:30 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:30 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:30 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:30 INFO [Crawler.649.parsePageContext] url=CloudPrinterActivity 2021-10-29 09:36:30 INFO [Crawler.673.parsePageContext] currentContentHash=25848f5dd99601fababc469b28a6a900 lastContentHash=18763b69bcacb6b8fb2e7ebe5acab16b 2021-10-29 09:36:30 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:30 INFO [Crawler.931.saveDom] save to 20211027095159/162_CloudPrinterActivity.tag=Button.depth=15.text=播放.dom 2021-10-29 09:36:30 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:30 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:31 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:31 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:31 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:31 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloudPrinterActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.widget.Button]=3 2021-10-29 09:36:31 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 163 2021-10-29 09:36:31 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:31 INFO [Crawler.425.needReturn] urlStack=Stack(CloudPrinterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:31 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:31 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:36:31 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:36:31 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:36:31 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:36:31 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:36:31 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:36:31 INFO [Crawler.843.crawl] found CloudPrinterActivity.tag=Button.depth=16.text=显示更多媒体控件 by first available element 2021-10-29 09:36:31 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:31 INFO [Crawler.996.doElementAction] current element = CloudPrinterActivity.tag=Button.depth=16.text=显示更多媒体控件 2021-10-29 09:36:31 INFO [Crawler.997.doElementAction] current index = 163 2021-10-29 09:36:31 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:31 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="显示更多媒体控件"] 2021-10-29 09:36:31 INFO [Crawler.1000.doElementAction] current url = CloudPrinterActivity 2021-10-29 09:36:31 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button 2021-10-29 09:36:31 INFO [Crawler.1002.doElementAction] current file name = CloudPrinterActivity.tag=Button.depth=16.text=显示更多媒体控件 2021-10-29 09:36:31 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:31 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudPrinterActivity.tag=Button.depth=16.text=显示更多媒体控件 2021-10-29 09:36:31 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="显示更多媒体控件"] 2021-10-29 09:36:31 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:31 INFO [Crawler.1080.doElementAction] mark 20211027095159/162_CloudPrinterActivity.tag=Button.depth=15.text=播放.clicked.png to 20211027095159/163_CloudPrinterActivity.tag=Button.depth=16.text=显示更多媒体控件.click.png 2021-10-29 09:36:31 INFO [AppiumClient.141.mark] read from 20211027095159/162_CloudPrinterActivity.tag=Button.depth=15.text=播放.clicked.png 2021-10-29 09:36:31 INFO [AppiumClient.146.mark] scale the origin image 2021-10-29 09:36:31 INFO [AppiumClient.154.mark] write png 20211027095159/162_CloudPrinterActivity.tag=Button.depth=15.text=播放.clicked.png 2021-10-29 09:36:31 INFO [AppiumClient.156.mark] scale the origin image and save 2021-10-29 09:36:31 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:36:31 ERROR [AppiumClient.238.asyncTask] java.awt.image.RasterFormatException: (y + height) is outside of Raster 2021-10-29 09:36:31 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:36:31 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:31 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_webview_cloud_printer"]//*[@resource-id="com.jlpay.merch:id/fl_webview"]//*[@text="显示更多媒体控件"]] 2021-10-29 09:36:31 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:36:31 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:31 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:31 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:32 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:32 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:32 INFO [Crawler.649.parsePageContext] url=CloudPrinterActivity 2021-10-29 09:36:32 INFO [Crawler.673.parsePageContext] currentContentHash=2b45d234fa0616a4427dc89437317a79 lastContentHash=25848f5dd99601fababc469b28a6a900 2021-10-29 09:36:32 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:32 INFO [Crawler.931.saveDom] save to 20211027095159/163_CloudPrinterActivity.tag=Button.depth=16.text=显示更多媒体控件.dom 2021-10-29 09:36:32 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:32 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:32 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:32 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:32 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:32 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloudPrinterActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=2 2021-10-29 09:36:32 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 164 2021-10-29 09:36:32 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:32 INFO [Crawler.425.needReturn] urlStack=Stack(CloudPrinterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:32 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:32 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:36:32 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:36:32 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:36:32 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:36:32 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:36:32 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:36:32 INFO [Crawler.843.crawl] found CloudPrinterActivity.tag=TextView.depth=9.id=tv_right.text=添加 by first available element 2021-10-29 09:36:32 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:32 INFO [Crawler.996.doElementAction] current element = CloudPrinterActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:36:32 INFO [Crawler.997.doElementAction] current index = 164 2021-10-29 09:36:32 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:32 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:36:32 INFO [Crawler.1000.doElementAction] current url = CloudPrinterActivity 2021-10-29 09:36:32 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:36:32 INFO [Crawler.1002.doElementAction] current file name = CloudPrinterActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:36:32 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:32 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudPrinterActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:36:32 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:36:33 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:33 INFO [Crawler.1080.doElementAction] mark 20211027095159/163_CloudPrinterActivity.tag=Button.depth=16.text=显示更多媒体控件.clicked.png to 20211027095159/164_CloudPrinterActivity.tag=TextView.depth=9.id=tv_right.text=添加.click.png 2021-10-29 09:36:33 INFO [AppiumClient.141.mark] read from 20211027095159/163_CloudPrinterActivity.tag=Button.depth=16.text=显示更多媒体控件.clicked.png 2021-10-29 09:36:33 INFO [AppiumClient.146.mark] scale the origin image 2021-10-29 09:36:33 INFO [AppiumClient.154.mark] write png 20211027095159/163_CloudPrinterActivity.tag=Button.depth=16.text=显示更多媒体控件.clicked.png 2021-10-29 09:36:33 INFO [AppiumClient.156.mark] scale the origin image and save 2021-10-29 09:36:33 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:36:33 ERROR [AppiumClient.238.asyncTask] java.awt.image.RasterFormatException: (y + height) is outside of Raster 2021-10-29 09:36:33 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:36:33 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:33 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:36:33 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:36:33 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:33 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:33 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:33 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:33 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:33 INFO [Crawler.649.parsePageContext] url=CloudPrinterActivity 2021-10-29 09:36:33 INFO [Crawler.673.parsePageContext] currentContentHash=e57629f08698e3bf9899c94dcd61a255 lastContentHash=2b45d234fa0616a4427dc89437317a79 2021-10-29 09:36:33 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:33 INFO [Crawler.931.saveDom] save to 20211027095159/164_CloudPrinterActivity.tag=TextView.depth=9.id=tv_right.text=添加.dom 2021-10-29 09:36:34 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:34 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:34 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:34 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:34 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:34 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloudPrinterActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:36:34 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 165 2021-10-29 09:36:34 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:34 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 7 2021-10-29 09:36:34 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:34 INFO [Crawler.814.crawl] found CloudPrinterActivity.tag=Button.depth=8.id=button2.text=不允许 by ElementActions 2021-10-29 09:36:34 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:36:34 INFO [Crawler.996.doElementAction] current element = CloudPrinterActivity.tag=Button.depth=8.id=button2.text=不允许 2021-10-29 09:36:34 INFO [Crawler.997.doElementAction] current index = 165 2021-10-29 09:36:34 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:34 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="android:id/parentPanel"]//*[@resource-id="android:id/buttonPanel"]//*[@text="不允许" and @resource-id="android:id/button2"] 2021-10-29 09:36:34 INFO [Crawler.1000.doElementAction] current url = CloudPrinterActivity 2021-10-29 09:36:34 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:36:34 INFO [Crawler.1002.doElementAction] current file name = CloudPrinterActivity.tag=Button.depth=8.id=button2.text=不允许 2021-10-29 09:36:34 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:34 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudPrinterActivity.tag=Button.depth=8.id=button2.text=不允许 2021-10-29 09:36:34 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="android:id/parentPanel"]//*[@resource-id="android:id/buttonPanel"]//*[@text="不允许" and @resource-id="android:id/button2"] 2021-10-29 09:36:34 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:34 INFO [Crawler.1080.doElementAction] mark 20211027095159/164_CloudPrinterActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png to 20211027095159/165_CloudPrinterActivity.tag=Button.depth=8.id=button2.text=不允许.click.png 2021-10-29 09:36:34 INFO [AppiumClient.141.mark] read from 20211027095159/164_CloudPrinterActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png 2021-10-29 09:36:34 INFO [AppiumClient.146.mark] scale the origin image 2021-10-29 09:36:34 INFO [AppiumClient.154.mark] write png 20211027095159/164_CloudPrinterActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png 2021-10-29 09:36:34 INFO [AppiumClient.156.mark] scale the origin image and save 2021-10-29 09:36:34 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:36:34 ERROR [AppiumClient.238.asyncTask] java.awt.image.RasterFormatException: (y + height) is outside of Raster 2021-10-29 09:36:34 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:36:34 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:34 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="android:id/parentPanel"]//*[@resource-id="android:id/buttonPanel"]//*[@text="不允许" and @resource-id="android:id/button2"]] 2021-10-29 09:36:34 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:36:34 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:35 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:35 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:35 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:35 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:35 INFO [Crawler.649.parsePageContext] url=CloudPrinterActivity 2021-10-29 09:36:35 INFO [Crawler.673.parsePageContext] currentContentHash=2b45d234fa0616a4427dc89437317a79 lastContentHash=e57629f08698e3bf9899c94dcd61a255 2021-10-29 09:36:35 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:35 INFO [Crawler.931.saveDom] save to 20211027095159/165_CloudPrinterActivity.tag=Button.depth=8.id=button2.text=不允许.dom 2021-10-29 09:36:35 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:35 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:36 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:36 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:36 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:36 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 166 2021-10-29 09:36:36 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:36 INFO [Crawler.425.needReturn] urlStack=Stack(CloudPrinterActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:36 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:36 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:36:36 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:36:36 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:36:36 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:36:36 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:36:36 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:36:36 INFO [Crawler.851.crawl] CloudPrinterActivity all elements had be clicked 2021-10-29 09:36:36 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:36:36 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:36:36 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:36 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:36:36 INFO [Crawler.996.doElementAction] current element = CloudPrinterActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:36:36 INFO [Crawler.997.doElementAction] current index = 166 2021-10-29 09:36:36 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:36 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:36:36 INFO [Crawler.1000.doElementAction] current url = CloudPrinterActivity 2021-10-29 09:36:36 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:36:36 INFO [Crawler.1002.doElementAction] current file name = CloudPrinterActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:36:36 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:36 INFO [AppiumClient.53.findElementByURI] find by uri element= CloudPrinterActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:36:36 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:36:36 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:36 INFO [Crawler.1080.doElementAction] mark 20211027095159/165_CloudPrinterActivity.tag=Button.depth=8.id=button2.text=不允许.clicked.png to 20211027095159/166_CloudPrinterActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:36:36 INFO [AppiumClient.141.mark] read from 20211027095159/165_CloudPrinterActivity.tag=Button.depth=8.id=button2.text=不允许.clicked.png 2021-10-29 09:36:36 INFO [AppiumClient.146.mark] scale the origin image 2021-10-29 09:36:36 INFO [AppiumClient.154.mark] write png 20211027095159/165_CloudPrinterActivity.tag=Button.depth=8.id=button2.text=不允许.clicked.png 2021-10-29 09:36:36 INFO [AppiumClient.156.mark] scale the origin image and save 2021-10-29 09:36:36 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:36:36 ERROR [AppiumClient.238.asyncTask] java.awt.image.RasterFormatException: (y + height) is outside of Raster 2021-10-29 09:36:36 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:36:36 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:36 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:36:36 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:36:36 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:37 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:37 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:38 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:38 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:38 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:36:38 INFO [Crawler.673.parsePageContext] currentContentHash=45b2efbd12c26f918782a09c5b9377e8 lastContentHash=2b45d234fa0616a4427dc89437317a79 2021-10-29 09:36:38 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:38 INFO [Crawler.931.saveDom] save to 20211027095159/166_CloudPrinterActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:36:38 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:38 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:39 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:39 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:39 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:39 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 167 2021-10-29 09:36:39 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:39 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:39 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:39 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:36:39 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:36:39 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:36:39 INFO [Crawler.590.getAvailableElement] all - backButton size=25 2021-10-29 09:36:39 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:36:39 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=19 2021-10-29 09:36:39 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_name.text=嘉联小店 by first available element 2021-10-29 09:36:39 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:39 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_name.text=嘉联小店 2021-10-29 09:36:39 INFO [Crawler.997.doElementAction] current index = 167 2021-10-29 09:36:39 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:39 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="嘉联小店" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:36:39 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:36:39 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:36:39 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_name.text=嘉联小店 2021-10-29 09:36:39 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:39 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_name.text=嘉联小店 2021-10-29 09:36:39 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="嘉联小店" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:36:39 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:39 INFO [Crawler.1080.doElementAction] mark 20211027095159/166_CloudPrinterActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/167_MainActivity.tag=TextView.depth=16.id=tv_name.text=嘉联小店.click.png 2021-10-29 09:36:39 INFO [AppiumClient.141.mark] read from 20211027095159/166_CloudPrinterActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:36:39 INFO [AppiumClient.154.mark] write png 20211027095159/166_CloudPrinterActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:36:39 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/167_MainActivity.tag=TextView.depth=16.id=tv_name.text=嘉联小店.click.png 2021-10-29 09:36:39 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:39 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="嘉联小店" and @resource-id="com.jlpay.merch:id/tv_name"]] 2021-10-29 09:36:40 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:40 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:41 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:41 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:41 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:41 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:41 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:36:41 INFO [Crawler.673.parsePageContext] currentContentHash=94ab57dcab5275a47b6c44507282852d lastContentHash=45b2efbd12c26f918782a09c5b9377e8 2021-10-29 09:36:41 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:41 INFO [Crawler.931.saveDom] save to 20211027095159/167_MainActivity.tag=TextView.depth=16.id=tv_name.text=嘉联小店.dom 2021-10-29 09:36:41 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:41 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:42 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:42 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:42 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:42 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 168 2021-10-29 09:36:42 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:42 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:42 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:42 INFO [Crawler.487.getAvailableElement] selected nodes size = 1 2021-10-29 09:36:42 INFO [Crawler.499.getAvailableElement] all - black elements size = 1 2021-10-29 09:36:42 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 1 2021-10-29 09:36:42 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:36:42 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:36:42 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:36:42 INFO [Crawler.851.crawl] WebviewActivity all elements had be clicked 2021-10-29 09:36:42 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:36:42 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:36:42 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:36:42 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:36:42 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:36:42 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=Back.id=Back 2021-10-29 09:36:42 INFO [Crawler.997.doElementAction] current index = 168 2021-10-29 09:36:42 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:36:42 INFO [Crawler.999.doElementAction] current xpath = Back-168 2021-10-29 09:36:42 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:36:42 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:36:42 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=Back.id=Back 2021-10-29 09:36:42 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:36:42 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:36:42 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:36:42 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:42 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:42 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:43 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:43 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:43 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:36:43 INFO [Crawler.673.parsePageContext] currentContentHash=45b2efbd12c26f918782a09c5b9377e8 lastContentHash=94ab57dcab5275a47b6c44507282852d 2021-10-29 09:36:43 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:43 INFO [Crawler.931.saveDom] save to 20211027095159/168_WebviewActivity.tag=Back.id=Back.dom 2021-10-29 09:36:43 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:43 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:44 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:44 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:36:44 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:44 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 169 2021-10-29 09:36:44 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:44 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:44 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:44 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:36:44 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:36:44 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:36:44 INFO [Crawler.590.getAvailableElement] all - backButton size=25 2021-10-29 09:36:44 INFO [Crawler.598.getAvailableElement] all - clicked size=18 2021-10-29 09:36:44 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=18 2021-10-29 09:36:44 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_name.text=语音播报 by first available element 2021-10-29 09:36:44 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:44 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_name.text=语音播报 2021-10-29 09:36:44 INFO [Crawler.997.doElementAction] current index = 169 2021-10-29 09:36:44 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:44 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="语音播报" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:36:44 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:36:44 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:36:44 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_name.text=语音播报 2021-10-29 09:36:44 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:44 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_name.text=语音播报 2021-10-29 09:36:44 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="语音播报" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:36:44 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:44 INFO [Crawler.1080.doElementAction] mark 20211027095159/168_WebviewActivity.tag=Back.id=Back.clicked.png to 20211027095159/169_MainActivity.tag=TextView.depth=16.id=tv_name.text=语音播报.click.png 2021-10-29 09:36:44 INFO [AppiumClient.141.mark] read from 20211027095159/168_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:36:44 INFO [AppiumClient.154.mark] write png 20211027095159/168_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:36:44 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/169_MainActivity.tag=TextView.depth=16.id=tv_name.text=语音播报.click.png 2021-10-29 09:36:44 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:44 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="语音播报" and @resource-id="com.jlpay.merch:id/tv_name"]] 2021-10-29 09:36:45 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:45 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:46 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:46 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:46 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:46 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:46 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:36:46 INFO [Crawler.673.parsePageContext] currentContentHash=2e08b8f2e52fa29175a68909a7374f87 lastContentHash=45b2efbd12c26f918782a09c5b9377e8 2021-10-29 09:36:46 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:46 INFO [Crawler.931.saveDom] save to 20211027095159/169_MainActivity.tag=TextView.depth=16.id=tv_name.text=语音播报.dom 2021-10-29 09:36:46 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:46 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:46 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:46 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:46 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:46 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 170 2021-10-29 09:36:46 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:47 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 6 2021-10-29 09:36:47 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:47 INFO [Crawler.814.crawl] found BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 by ElementActions 2021-10-29 09:36:47 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:36:47 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:47 INFO [Crawler.997.doElementAction] current index = 170 2021-10-29 09:36:47 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:47 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"] 2021-10-29 09:36:47 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:36:47 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:36:47 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:47 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:47 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:47 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"] 2021-10-29 09:36:47 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:47 INFO [Crawler.1080.doElementAction] mark 20211027095159/169_MainActivity.tag=TextView.depth=16.id=tv_name.text=语音播报.clicked.png to 20211027095159/170_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.click.png 2021-10-29 09:36:47 INFO [AppiumClient.141.mark] read from 20211027095159/169_MainActivity.tag=TextView.depth=16.id=tv_name.text=语音播报.clicked.png 2021-10-29 09:36:47 INFO [AppiumClient.154.mark] write png 20211027095159/169_MainActivity.tag=TextView.depth=16.id=tv_name.text=语音播报.clicked.png 2021-10-29 09:36:47 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/170_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.click.png 2021-10-29 09:36:47 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:47 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"]] 2021-10-29 09:36:47 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:47 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:47 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:47 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:47 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:47 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:47 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:36:47 INFO [Crawler.673.parsePageContext] currentContentHash=2e08b8f2e52fa29175a68909a7374f87 lastContentHash=2e08b8f2e52fa29175a68909a7374f87 2021-10-29 09:36:47 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:36:47 INFO [Crawler.931.saveDom] save to 20211027095159/170_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.dom 2021-10-29 09:36:48 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:48 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:48 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:48 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:48 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:48 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 171 2021-10-29 09:36:48 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:48 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 5 2021-10-29 09:36:48 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:48 INFO [Crawler.814.crawl] found BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 by ElementActions 2021-10-29 09:36:48 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:36:48 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:48 INFO [Crawler.997.doElementAction] current index = 171 2021-10-29 09:36:48 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:48 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"] 2021-10-29 09:36:48 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:36:48 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:36:48 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:48 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:48 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:48 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"] 2021-10-29 09:36:48 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:48 INFO [Crawler.1080.doElementAction] mark 20211027095159/170_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png to 20211027095159/171_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.click.png 2021-10-29 09:36:48 INFO [AppiumClient.141.mark] read from 20211027095159/170_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:48 INFO [AppiumClient.154.mark] write png 20211027095159/170_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:48 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/171_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.click.png 2021-10-29 09:36:48 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:48 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"]] 2021-10-29 09:36:48 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:48 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:49 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:49 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:49 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:49 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:49 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:36:49 INFO [Crawler.673.parsePageContext] currentContentHash=2e08b8f2e52fa29175a68909a7374f87 lastContentHash=2e08b8f2e52fa29175a68909a7374f87 2021-10-29 09:36:49 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:36:49 INFO [Crawler.931.saveDom] save to 20211027095159/171_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.dom 2021-10-29 09:36:49 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:49 INFO [Crawler.959.$anonfun$saveScreen$2] ui no change 2021-10-29 09:36:49 INFO [Crawler.963.$anonfun$saveScreen$2] copy from pre image file 20211027095159/170_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:49 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:49 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:49 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:49 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 172 2021-10-29 09:36:49 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:49 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 4 2021-10-29 09:36:49 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:49 INFO [Crawler.814.crawl] found BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 by ElementActions 2021-10-29 09:36:49 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:36:49 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:49 INFO [Crawler.997.doElementAction] current index = 172 2021-10-29 09:36:49 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:49 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"] 2021-10-29 09:36:49 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:36:49 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:36:49 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:49 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:49 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:49 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"] 2021-10-29 09:36:49 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:49 INFO [Crawler.1080.doElementAction] mark 20211027095159/171_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png to 20211027095159/172_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.click.png 2021-10-29 09:36:49 INFO [AppiumClient.141.mark] read from 20211027095159/171_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:49 INFO [AppiumClient.154.mark] write png 20211027095159/171_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:49 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/172_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.click.png 2021-10-29 09:36:50 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:50 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"]] 2021-10-29 09:36:50 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:50 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:50 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:50 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:50 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:50 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:51 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:36:51 INFO [Crawler.673.parsePageContext] currentContentHash=2e08b8f2e52fa29175a68909a7374f87 lastContentHash=2e08b8f2e52fa29175a68909a7374f87 2021-10-29 09:36:51 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:36:51 INFO [Crawler.931.saveDom] save to 20211027095159/172_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.dom 2021-10-29 09:36:51 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:51 INFO [Crawler.959.$anonfun$saveScreen$2] ui no change 2021-10-29 09:36:51 INFO [Crawler.963.$anonfun$saveScreen$2] copy from pre image file 20211027095159/171_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:51 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:51 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:51 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:51 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 173 2021-10-29 09:36:51 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:51 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 3 2021-10-29 09:36:51 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:51 INFO [Crawler.814.crawl] found BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 by ElementActions 2021-10-29 09:36:51 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:36:51 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:51 INFO [Crawler.997.doElementAction] current index = 173 2021-10-29 09:36:51 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:51 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"] 2021-10-29 09:36:51 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:36:51 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:36:51 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:51 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:51 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:51 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"] 2021-10-29 09:36:51 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:51 INFO [Crawler.1080.doElementAction] mark 20211027095159/172_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png to 20211027095159/173_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.click.png 2021-10-29 09:36:51 INFO [AppiumClient.141.mark] read from 20211027095159/172_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:51 INFO [AppiumClient.154.mark] write png 20211027095159/172_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:51 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/173_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.click.png 2021-10-29 09:36:51 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:51 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"]] 2021-10-29 09:36:51 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:51 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:52 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:52 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:52 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:52 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:52 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:36:52 INFO [Crawler.673.parsePageContext] currentContentHash=2e08b8f2e52fa29175a68909a7374f87 lastContentHash=2e08b8f2e52fa29175a68909a7374f87 2021-10-29 09:36:52 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:36:52 INFO [Crawler.931.saveDom] save to 20211027095159/173_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.dom 2021-10-29 09:36:52 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:52 INFO [Crawler.959.$anonfun$saveScreen$2] ui no change 2021-10-29 09:36:52 INFO [Crawler.963.$anonfun$saveScreen$2] copy from pre image file 20211027095159/172_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:52 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:52 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:52 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:52 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 174 2021-10-29 09:36:52 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:52 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 2 2021-10-29 09:36:52 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:52 INFO [Crawler.814.crawl] found BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 by ElementActions 2021-10-29 09:36:52 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:36:52 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:52 INFO [Crawler.997.doElementAction] current index = 174 2021-10-29 09:36:52 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:52 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"] 2021-10-29 09:36:52 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:36:52 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:36:52 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:52 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:52 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:52 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"] 2021-10-29 09:36:52 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:52 INFO [Crawler.1080.doElementAction] mark 20211027095159/173_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png to 20211027095159/174_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.click.png 2021-10-29 09:36:52 INFO [AppiumClient.141.mark] read from 20211027095159/173_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:52 INFO [AppiumClient.154.mark] write png 20211027095159/173_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:52 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/174_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.click.png 2021-10-29 09:36:52 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:52 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"]] 2021-10-29 09:36:52 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:52 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:53 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:53 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:53 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:53 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:53 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:36:53 INFO [Crawler.673.parsePageContext] currentContentHash=2e08b8f2e52fa29175a68909a7374f87 lastContentHash=2e08b8f2e52fa29175a68909a7374f87 2021-10-29 09:36:53 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:36:53 INFO [Crawler.931.saveDom] save to 20211027095159/174_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.dom 2021-10-29 09:36:53 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:53 INFO [Crawler.959.$anonfun$saveScreen$2] ui no change 2021-10-29 09:36:53 INFO [Crawler.963.$anonfun$saveScreen$2] copy from pre image file 20211027095159/173_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:53 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:53 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:53 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:53 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 175 2021-10-29 09:36:53 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:53 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 1 2021-10-29 09:36:53 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:53 INFO [Crawler.814.crawl] found BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 by ElementActions 2021-10-29 09:36:53 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:36:53 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:53 INFO [Crawler.997.doElementAction] current index = 175 2021-10-29 09:36:53 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:53 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"] 2021-10-29 09:36:53 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:36:53 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:36:53 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:53 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:53 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:53 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"] 2021-10-29 09:36:53 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:53 INFO [Crawler.1080.doElementAction] mark 20211027095159/174_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png to 20211027095159/175_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.click.png 2021-10-29 09:36:53 INFO [AppiumClient.141.mark] read from 20211027095159/174_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:54 INFO [AppiumClient.154.mark] write png 20211027095159/174_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:54 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/175_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.click.png 2021-10-29 09:36:54 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:54 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"]] 2021-10-29 09:36:54 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:54 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:54 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:54 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:54 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:54 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:55 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:36:55 INFO [Crawler.673.parsePageContext] currentContentHash=2e08b8f2e52fa29175a68909a7374f87 lastContentHash=2e08b8f2e52fa29175a68909a7374f87 2021-10-29 09:36:55 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:36:55 INFO [Crawler.931.saveDom] save to 20211027095159/175_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.dom 2021-10-29 09:36:55 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:55 INFO [Crawler.959.$anonfun$saveScreen$2] ui no change 2021-10-29 09:36:55 INFO [Crawler.963.$anonfun$saveScreen$2] copy from pre image file 20211027095159/174_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:55 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:55 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:55 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:55 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 176 2021-10-29 09:36:55 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:55 INFO [Crawler.1176.$anonfun$getElementByTriggerActions$1] remove rule Step(List(),null,List(),允许,click,List(),1) 2021-10-29 09:36:55 INFO [Crawler.1180.$anonfun$getElementByTriggerActions$1] step times = 0 2021-10-29 09:36:55 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:55 INFO [Crawler.814.crawl] found BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 by ElementActions 2021-10-29 09:36:55 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:36:55 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:55 INFO [Crawler.997.doElementAction] current index = 176 2021-10-29 09:36:55 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:55 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"] 2021-10-29 09:36:55 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:36:55 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:36:55 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:55 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:55 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报 2021-10-29 09:36:55 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"] 2021-10-29 09:36:55 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:55 INFO [Crawler.1080.doElementAction] mark 20211027095159/175_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png to 20211027095159/176_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.click.png 2021-10-29 09:36:55 INFO [AppiumClient.141.mark] read from 20211027095159/175_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:55 INFO [AppiumClient.154.mark] write png 20211027095159/175_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:55 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/176_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.click.png 2021-10-29 09:36:55 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:55 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@text="允许App语音播报" and @resource-id="com.jlpay.merch:id/tv_voice_switch"]] 2021-10-29 09:36:55 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:55 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:56 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:56 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:56 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:56 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:56 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:36:56 INFO [Crawler.673.parsePageContext] currentContentHash=2e08b8f2e52fa29175a68909a7374f87 lastContentHash=2e08b8f2e52fa29175a68909a7374f87 2021-10-29 09:36:56 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:36:56 INFO [Crawler.931.saveDom] save to 20211027095159/176_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.dom 2021-10-29 09:36:56 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:56 INFO [Crawler.959.$anonfun$saveScreen$2] ui no change 2021-10-29 09:36:56 INFO [Crawler.963.$anonfun$saveScreen$2] copy from pre image file 20211027095159/175_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:56 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:56 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:56 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:56 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 177 2021-10-29 09:36:56 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:56 INFO [Crawler.425.needReturn] urlStack=Stack(BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:56 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:56 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:36:56 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:36:56 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:36:56 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:36:56 INFO [Crawler.598.getAvailableElement] all - clicked size=9 2021-10-29 09:36:56 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:36:56 INFO [Crawler.843.crawl] found BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择11个终端 by first available element 2021-10-29 09:36:56 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:56 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择11个终端 2021-10-29 09:36:56 INFO [Crawler.997.doElementAction] current index = 177 2021-10-29 09:36:56 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:56 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_terminal_choose"]//*[@text="已选择11个终端" and @resource-id="com.jlpay.merch:id/tv_to_device"] 2021-10-29 09:36:56 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:36:56 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:36:56 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择11个终端 2021-10-29 09:36:56 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:56 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择11个终端 2021-10-29 09:36:56 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_terminal_choose"]//*[@text="已选择11个终端" and @resource-id="com.jlpay.merch:id/tv_to_device"] 2021-10-29 09:36:56 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:56 INFO [Crawler.1080.doElementAction] mark 20211027095159/176_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png to 20211027095159/177_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择11个终端.click.png 2021-10-29 09:36:56 INFO [AppiumClient.141.mark] read from 20211027095159/176_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:56 INFO [AppiumClient.154.mark] write png 20211027095159/176_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_switch.text=允许App语音播报.clicked.png 2021-10-29 09:36:56 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/177_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择11个终端.click.png 2021-10-29 09:36:56 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:56 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_terminal_choose"]//*[@text="已选择11个终端" and @resource-id="com.jlpay.merch:id/tv_to_device"]] 2021-10-29 09:36:57 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:57 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:57 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:57 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:36:57 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:36:57 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:36:58 INFO [Crawler.649.parsePageContext] url=SelectDeviceActivity 2021-10-29 09:36:58 INFO [Crawler.673.parsePageContext] currentContentHash=ee470c2078521b143f1bb9506dc410e3 lastContentHash=2e08b8f2e52fa29175a68909a7374f87 2021-10-29 09:36:58 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:36:58 INFO [Crawler.931.saveDom] save to 20211027095159/177_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择11个终端.dom 2021-10-29 09:36:58 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:36:58 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:36:58 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:36:58 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:36:58 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:36:58 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 178 2021-10-29 09:36:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:36:58 INFO [Crawler.425.needReturn] urlStack=Stack(SelectDeviceActivity, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:36:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:36:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:36:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:36:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:36:58 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:36:58 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:36:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:36:58 INFO [Crawler.843.crawl] found SelectDeviceActivity.tag=CheckBox.depth=11.id=cb_open_device by first available element 2021-10-29 09:36:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:36:58 INFO [Crawler.996.doElementAction] current element = SelectDeviceActivity.tag=CheckBox.depth=11.id=cb_open_device 2021-10-29 09:36:58 INFO [Crawler.997.doElementAction] current index = 178 2021-10-29 09:36:58 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:36:58 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_device_list"]//*[@resource-id="com.jlpay.merch:id/rv_device_list"]//*[@resource-id="com.jlpay.merch:id/cb_open_device"] 2021-10-29 09:36:58 INFO [Crawler.1000.doElementAction] current url = SelectDeviceActivity 2021-10-29 09:36:58 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.RelativeLayout/android.widget.CheckBox 2021-10-29 09:36:58 INFO [Crawler.1002.doElementAction] current file name = SelectDeviceActivity.tag=CheckBox.depth=11.id=cb_open_device 2021-10-29 09:36:58 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:36:58 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectDeviceActivity.tag=CheckBox.depth=11.id=cb_open_device 2021-10-29 09:36:58 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_device_list"]//*[@resource-id="com.jlpay.merch:id/rv_device_list"]//*[@resource-id="com.jlpay.merch:id/cb_open_device"] 2021-10-29 09:36:59 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:36:59 INFO [Crawler.1080.doElementAction] mark 20211027095159/177_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择11个终端.clicked.png to 20211027095159/178_SelectDeviceActivity.tag=CheckBox.depth=11.id=cb_open_device.click.png 2021-10-29 09:36:59 INFO [AppiumClient.141.mark] read from 20211027095159/177_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择11个终端.clicked.png 2021-10-29 09:36:59 INFO [AppiumClient.154.mark] write png 20211027095159/177_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择11个终端.clicked.png 2021-10-29 09:36:59 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/178_SelectDeviceActivity.tag=CheckBox.depth=11.id=cb_open_device.click.png 2021-10-29 09:36:59 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:36:59 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_device_list"]//*[@resource-id="com.jlpay.merch:id/rv_device_list"]//*[@resource-id="com.jlpay.merch:id/cb_open_device"]] 2021-10-29 09:36:59 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:36:59 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:36:59 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:36:59 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:00 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:00 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:00 INFO [Crawler.649.parsePageContext] url=SelectDeviceActivity 2021-10-29 09:37:00 INFO [Crawler.673.parsePageContext] currentContentHash=ee470c2078521b143f1bb9506dc410e3 lastContentHash=ee470c2078521b143f1bb9506dc410e3 2021-10-29 09:37:00 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:37:00 INFO [Crawler.931.saveDom] save to 20211027095159/178_SelectDeviceActivity.tag=CheckBox.depth=11.id=cb_open_device.dom 2021-10-29 09:37:00 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:00 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:01 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:01 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:01 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:01 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.RelativeLayout/android.widget.CheckBox]=3 2021-10-29 09:37:01 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 179 2021-10-29 09:37:01 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:01 INFO [Crawler.425.needReturn] urlStack=Stack(SelectDeviceActivity, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:01 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:01 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:37:01 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:37:01 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:37:01 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:37:01 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:37:01 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:37:01 INFO [Crawler.843.crawl] found SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_open_voice_all.text=全部打开 by first available element 2021-10-29 09:37:01 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:01 INFO [Crawler.996.doElementAction] current element = SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_open_voice_all.text=全部打开 2021-10-29 09:37:01 INFO [Crawler.997.doElementAction] current index = 179 2021-10-29 09:37:01 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:01 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_device_list"]//*[@resource-id="com.jlpay.merch:id/rg_open_device_voice"]//*[@text="全部打开" and @resource-id="com.jlpay.merch:id/rb_open_voice_all"] 2021-10-29 09:37:01 INFO [Crawler.1000.doElementAction] current url = SelectDeviceActivity 2021-10-29 09:37:01 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton 2021-10-29 09:37:01 INFO [Crawler.1002.doElementAction] current file name = SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_open_voice_all.text=全部打开 2021-10-29 09:37:01 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:01 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_open_voice_all.text=全部打开 2021-10-29 09:37:01 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_device_list"]//*[@resource-id="com.jlpay.merch:id/rg_open_device_voice"]//*[@text="全部打开" and @resource-id="com.jlpay.merch:id/rb_open_voice_all"] 2021-10-29 09:37:01 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:01 INFO [Crawler.1080.doElementAction] mark 20211027095159/178_SelectDeviceActivity.tag=CheckBox.depth=11.id=cb_open_device.clicked.png to 20211027095159/179_SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_open_voice_all.text=全部打开.click.png 2021-10-29 09:37:01 INFO [AppiumClient.141.mark] read from 20211027095159/178_SelectDeviceActivity.tag=CheckBox.depth=11.id=cb_open_device.clicked.png 2021-10-29 09:37:01 INFO [AppiumClient.154.mark] write png 20211027095159/178_SelectDeviceActivity.tag=CheckBox.depth=11.id=cb_open_device.clicked.png 2021-10-29 09:37:01 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/179_SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_open_voice_all.text=全部打开.click.png 2021-10-29 09:37:01 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:01 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_device_list"]//*[@resource-id="com.jlpay.merch:id/rg_open_device_voice"]//*[@text="全部打开" and @resource-id="com.jlpay.merch:id/rb_open_voice_all"]] 2021-10-29 09:37:01 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:01 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:02 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:02 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:02 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:02 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:02 INFO [Crawler.649.parsePageContext] url=SelectDeviceActivity 2021-10-29 09:37:02 INFO [Crawler.673.parsePageContext] currentContentHash=ee470c2078521b143f1bb9506dc410e3 lastContentHash=ee470c2078521b143f1bb9506dc410e3 2021-10-29 09:37:02 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:37:02 INFO [Crawler.931.saveDom] save to 20211027095159/179_SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_open_voice_all.text=全部打开.dom 2021-10-29 09:37:02 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:02 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:03 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:03 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:03 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:03 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton]=3 2021-10-29 09:37:03 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 180 2021-10-29 09:37:03 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:03 INFO [Crawler.425.needReturn] urlStack=Stack(SelectDeviceActivity, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:03 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:03 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:37:03 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:37:03 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:37:03 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:37:03 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:37:03 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:37:03 INFO [Crawler.843.crawl] found SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_close_voice_all.text=全部关闭 by first available element 2021-10-29 09:37:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:03 INFO [Crawler.996.doElementAction] current element = SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_close_voice_all.text=全部关闭 2021-10-29 09:37:03 INFO [Crawler.997.doElementAction] current index = 180 2021-10-29 09:37:03 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:03 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_device_list"]//*[@resource-id="com.jlpay.merch:id/rg_open_device_voice"]//*[@text="全部关闭" and @resource-id="com.jlpay.merch:id/rb_close_voice_all"] 2021-10-29 09:37:03 INFO [Crawler.1000.doElementAction] current url = SelectDeviceActivity 2021-10-29 09:37:03 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton 2021-10-29 09:37:03 INFO [Crawler.1002.doElementAction] current file name = SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_close_voice_all.text=全部关闭 2021-10-29 09:37:03 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:03 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_close_voice_all.text=全部关闭 2021-10-29 09:37:03 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_device_list"]//*[@resource-id="com.jlpay.merch:id/rg_open_device_voice"]//*[@text="全部关闭" and @resource-id="com.jlpay.merch:id/rb_close_voice_all"] 2021-10-29 09:37:03 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:03 INFO [Crawler.1080.doElementAction] mark 20211027095159/179_SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_open_voice_all.text=全部打开.clicked.png to 20211027095159/180_SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_close_voice_all.text=全部关闭.click.png 2021-10-29 09:37:03 INFO [AppiumClient.141.mark] read from 20211027095159/179_SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_open_voice_all.text=全部打开.clicked.png 2021-10-29 09:37:03 INFO [AppiumClient.154.mark] write png 20211027095159/179_SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_open_voice_all.text=全部打开.clicked.png 2021-10-29 09:37:03 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/180_SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_close_voice_all.text=全部关闭.click.png 2021-10-29 09:37:04 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:04 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_device_list"]//*[@resource-id="com.jlpay.merch:id/rg_open_device_voice"]//*[@text="全部关闭" and @resource-id="com.jlpay.merch:id/rb_close_voice_all"]] 2021-10-29 09:37:04 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:04 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:04 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:04 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:05 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:05 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:05 INFO [Crawler.649.parsePageContext] url=SelectDeviceActivity 2021-10-29 09:37:05 INFO [Crawler.673.parsePageContext] currentContentHash=ee470c2078521b143f1bb9506dc410e3 lastContentHash=ee470c2078521b143f1bb9506dc410e3 2021-10-29 09:37:05 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:37:05 INFO [Crawler.931.saveDom] save to 20211027095159/180_SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_close_voice_all.text=全部关闭.dom 2021-10-29 09:37:05 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:05 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:06 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:06 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:06 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:06 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton]=2 2021-10-29 09:37:06 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 181 2021-10-29 09:37:06 INFO [ReportPlugin.39.afterElementAction] 181-142 > 181/10+20 2021-10-29 09:37:06 INFO [ReportPlugin.40.afterElementAction] generate test report 2021-10-29 09:37:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:11 INFO [Crawler.425.needReturn] urlStack=Stack(SelectDeviceActivity, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:37:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:37:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:37:11 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:37:11 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:37:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:37:11 INFO [Crawler.843.crawl] found SelectDeviceActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:37:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:11 INFO [Crawler.996.doElementAction] current element = SelectDeviceActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:37:11 INFO [Crawler.997.doElementAction] current index = 181 2021-10-29 09:37:11 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:11 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:37:11 INFO [Crawler.1000.doElementAction] current url = SelectDeviceActivity 2021-10-29 09:37:11 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:37:11 INFO [Crawler.1002.doElementAction] current file name = SelectDeviceActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:37:11 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:11 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectDeviceActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:37:11 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:37:11 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:11 INFO [Crawler.1080.doElementAction] mark 20211027095159/180_SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_close_voice_all.text=全部关闭.clicked.png to 20211027095159/181_SelectDeviceActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:37:11 INFO [AppiumClient.141.mark] read from 20211027095159/180_SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_close_voice_all.text=全部关闭.clicked.png 2021-10-29 09:37:11 INFO [AppiumClient.154.mark] write png 20211027095159/180_SelectDeviceActivity.tag=RadioButton.depth=10.id=rb_close_voice_all.text=全部关闭.clicked.png 2021-10-29 09:37:11 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/181_SelectDeviceActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:37:12 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:12 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:37:12 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:12 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:12 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:12 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:12 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:12 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:12 INFO [Crawler.649.parsePageContext] url=SelectDeviceActivity 2021-10-29 09:37:12 INFO [Crawler.673.parsePageContext] currentContentHash=ee470c2078521b143f1bb9506dc410e3 lastContentHash=ee470c2078521b143f1bb9506dc410e3 2021-10-29 09:37:12 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:37:12 INFO [Crawler.931.saveDom] save to 20211027095159/181_SelectDeviceActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:37:13 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:13 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:13 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:13 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:13 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:13 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:37:13 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 182 2021-10-29 09:37:13 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:13 INFO [Crawler.425.needReturn] urlStack=Stack(SelectDeviceActivity, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:13 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:13 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:37:13 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:37:13 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:37:13 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:37:13 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:37:13 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:37:13 INFO [Crawler.843.crawl] found SelectDeviceActivity.tag=ImageView.depth=9.id=im_home by first available element 2021-10-29 09:37:13 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:13 INFO [Crawler.996.doElementAction] current element = SelectDeviceActivity.tag=ImageView.depth=9.id=im_home 2021-10-29 09:37:13 INFO [Crawler.997.doElementAction] current index = 182 2021-10-29 09:37:13 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:13 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_home"] 2021-10-29 09:37:13 INFO [Crawler.1000.doElementAction] current url = SelectDeviceActivity 2021-10-29 09:37:13 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:37:13 INFO [Crawler.1002.doElementAction] current file name = SelectDeviceActivity.tag=ImageView.depth=9.id=im_home 2021-10-29 09:37:13 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:13 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectDeviceActivity.tag=ImageView.depth=9.id=im_home 2021-10-29 09:37:13 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_home"] 2021-10-29 09:37:13 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:13 INFO [Crawler.1080.doElementAction] mark 20211027095159/181_SelectDeviceActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/182_SelectDeviceActivity.tag=ImageView.depth=9.id=im_home.click.png 2021-10-29 09:37:13 INFO [AppiumClient.141.mark] read from 20211027095159/181_SelectDeviceActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:37:13 INFO [AppiumClient.154.mark] write png 20211027095159/181_SelectDeviceActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:37:13 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/182_SelectDeviceActivity.tag=ImageView.depth=9.id=im_home.click.png 2021-10-29 09:37:14 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:14 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_home"]] 2021-10-29 09:37:14 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:14 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:14 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:14 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:14 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:14 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:15 INFO [Crawler.649.parsePageContext] url=SelectDeviceActivity 2021-10-29 09:37:15 INFO [Crawler.673.parsePageContext] currentContentHash=ee470c2078521b143f1bb9506dc410e3 lastContentHash=ee470c2078521b143f1bb9506dc410e3 2021-10-29 09:37:15 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:37:15 INFO [Crawler.931.saveDom] save to 20211027095159/182_SelectDeviceActivity.tag=ImageView.depth=9.id=im_home.dom 2021-10-29 09:37:15 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:15 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:15 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:15 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:15 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:15 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectDeviceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView]=3 2021-10-29 09:37:15 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 183 2021-10-29 09:37:15 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:15 INFO [Crawler.425.needReturn] urlStack=Stack(SelectDeviceActivity, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:15 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:15 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:37:15 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:37:15 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:37:15 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:37:15 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:37:15 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:37:15 INFO [Crawler.851.crawl] SelectDeviceActivity all elements had be clicked 2021-10-29 09:37:15 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:37:15 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:37:15 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:15 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:37:15 INFO [Crawler.996.doElementAction] current element = SelectDeviceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:15 INFO [Crawler.997.doElementAction] current index = 183 2021-10-29 09:37:15 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:15 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:37:15 INFO [Crawler.1000.doElementAction] current url = SelectDeviceActivity 2021-10-29 09:37:15 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:37:15 INFO [Crawler.1002.doElementAction] current file name = SelectDeviceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:15 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:15 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectDeviceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:15 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:37:16 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:16 INFO [Crawler.1080.doElementAction] mark 20211027095159/182_SelectDeviceActivity.tag=ImageView.depth=9.id=im_home.clicked.png to 20211027095159/183_SelectDeviceActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:37:16 INFO [AppiumClient.141.mark] read from 20211027095159/182_SelectDeviceActivity.tag=ImageView.depth=9.id=im_home.clicked.png 2021-10-29 09:37:16 INFO [AppiumClient.154.mark] write png 20211027095159/182_SelectDeviceActivity.tag=ImageView.depth=9.id=im_home.clicked.png 2021-10-29 09:37:16 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/183_SelectDeviceActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:37:16 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:16 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:37:16 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:16 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:16 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:16 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:17 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:17 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:17 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:37:17 INFO [Crawler.673.parsePageContext] currentContentHash=b04a00e993c11649d1607da09ec6d10f lastContentHash=ee470c2078521b143f1bb9506dc410e3 2021-10-29 09:37:17 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:17 INFO [Crawler.931.saveDom] save to 20211027095159/183_SelectDeviceActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:37:17 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:17 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 184 2021-10-29 09:37:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:18 INFO [Crawler.425.needReturn] urlStack=Stack(BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:37:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:37:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:37:18 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:37:18 INFO [Crawler.598.getAvailableElement] all - clicked size=9 2021-10-29 09:37:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:37:18 INFO [Crawler.843.crawl] found BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择0个终端 by first available element 2021-10-29 09:37:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:18 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择0个终端 2021-10-29 09:37:18 INFO [Crawler.997.doElementAction] current index = 184 2021-10-29 09:37:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_terminal_choose"]//*[@text="已选择0个终端" and @resource-id="com.jlpay.merch:id/tv_to_device"] 2021-10-29 09:37:18 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:37:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:37:18 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择0个终端 2021-10-29 09:37:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:18 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择0个终端 2021-10-29 09:37:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_terminal_choose"]//*[@text="已选择0个终端" and @resource-id="com.jlpay.merch:id/tv_to_device"] 2021-10-29 09:37:18 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:18 INFO [Crawler.1080.doElementAction] mark 20211027095159/183_SelectDeviceActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/184_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择0个终端.click.png 2021-10-29 09:37:18 INFO [AppiumClient.141.mark] read from 20211027095159/183_SelectDeviceActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:37:18 INFO [AppiumClient.154.mark] write png 20211027095159/183_SelectDeviceActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:37:18 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/184_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择0个终端.click.png 2021-10-29 09:37:18 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:18 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_terminal_choose"]//*[@text="已选择0个终端" and @resource-id="com.jlpay.merch:id/tv_to_device"]] 2021-10-29 09:37:18 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:18 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:19 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:19 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:19 INFO [Crawler.649.parsePageContext] url=SelectDeviceActivity 2021-10-29 09:37:19 INFO [Crawler.673.parsePageContext] currentContentHash=ee470c2078521b143f1bb9506dc410e3 lastContentHash=b04a00e993c11649d1607da09ec6d10f 2021-10-29 09:37:19 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:19 INFO [Crawler.931.saveDom] save to 20211027095159/184_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择0个终端.dom 2021-10-29 09:37:19 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:19 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:20 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:20 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:20 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:20 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 185 2021-10-29 09:37:20 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:20 INFO [Crawler.425.needReturn] urlStack=Stack(SelectDeviceActivity, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:20 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:20 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:37:20 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:37:20 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:37:20 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:37:20 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:37:20 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:37:20 INFO [Crawler.851.crawl] SelectDeviceActivity all elements had be clicked 2021-10-29 09:37:20 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:37:20 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:37:20 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:20 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:37:20 INFO [Crawler.996.doElementAction] current element = SelectDeviceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:20 INFO [Crawler.997.doElementAction] current index = 185 2021-10-29 09:37:20 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:20 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:37:20 INFO [Crawler.1000.doElementAction] current url = SelectDeviceActivity 2021-10-29 09:37:20 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:37:20 INFO [Crawler.1002.doElementAction] current file name = SelectDeviceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:20 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:20 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectDeviceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:20 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:37:20 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:20 INFO [Crawler.1080.doElementAction] mark 20211027095159/184_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择0个终端.clicked.png to 20211027095159/185_SelectDeviceActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:37:20 INFO [AppiumClient.141.mark] read from 20211027095159/184_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择0个终端.clicked.png 2021-10-29 09:37:20 INFO [AppiumClient.154.mark] write png 20211027095159/184_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_to_device.text=已选择0个终端.clicked.png 2021-10-29 09:37:20 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/185_SelectDeviceActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:37:21 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:21 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:37:21 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:21 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:21 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:21 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:21 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:21 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:22 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:37:22 INFO [Crawler.673.parsePageContext] currentContentHash=b04a00e993c11649d1607da09ec6d10f lastContentHash=ee470c2078521b143f1bb9506dc410e3 2021-10-29 09:37:22 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:22 INFO [Crawler.931.saveDom] save to 20211027095159/185_SelectDeviceActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:37:22 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:22 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:22 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:22 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:22 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:22 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 186 2021-10-29 09:37:22 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:22 INFO [Crawler.425.needReturn] urlStack=Stack(BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:22 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:22 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:37:22 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:37:22 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:37:22 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:37:22 INFO [Crawler.598.getAvailableElement] all - clicked size=8 2021-10-29 09:37:22 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:37:22 INFO [Crawler.843.crawl] found BoxVoiceSettingActivity.tag=TextView.depth=12.text=选择播报语音包 by first available element 2021-10-29 09:37:22 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:22 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=TextView.depth=12.text=选择播报语音包 2021-10-29 09:37:22 INFO [Crawler.997.doElementAction] current index = 186 2021-10-29 09:37:22 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:22 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_voice_pkg"]//*[@text="选择播报语音包"] 2021-10-29 09:37:22 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:37:22 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:37:22 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=TextView.depth=12.text=选择播报语音包 2021-10-29 09:37:22 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:22 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=TextView.depth=12.text=选择播报语音包 2021-10-29 09:37:22 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_voice_pkg"]//*[@text="选择播报语音包"] 2021-10-29 09:37:22 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:22 INFO [Crawler.1080.doElementAction] mark 20211027095159/185_SelectDeviceActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/186_BoxVoiceSettingActivity.tag=TextView.depth=12.text=选择播报语音包.click.png 2021-10-29 09:37:22 INFO [AppiumClient.141.mark] read from 20211027095159/185_SelectDeviceActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:37:22 INFO [AppiumClient.154.mark] write png 20211027095159/185_SelectDeviceActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:37:22 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/186_BoxVoiceSettingActivity.tag=TextView.depth=12.text=选择播报语音包.click.png 2021-10-29 09:37:22 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:22 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_voice_pkg"]//*[@text="选择播报语音包"]] 2021-10-29 09:37:22 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:22 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:23 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:23 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:23 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:23 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:24 INFO [Crawler.649.parsePageContext] url=VoicePkgActivity2 2021-10-29 09:37:24 INFO [Crawler.673.parsePageContext] currentContentHash=d81898a5dc10a04e0083ee24aab97eab lastContentHash=b04a00e993c11649d1607da09ec6d10f 2021-10-29 09:37:24 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:24 INFO [Crawler.931.saveDom] save to 20211027095159/186_BoxVoiceSettingActivity.tag=TextView.depth=12.text=选择播报语音包.dom 2021-10-29 09:37:24 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:24 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:24 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:24 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:24 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:24 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 187 2021-10-29 09:37:24 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:24 INFO [Crawler.425.needReturn] urlStack=Stack(VoicePkgActivity2, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:24 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:24 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:37:24 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:37:24 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:37:24 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:37:24 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:37:24 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:37:24 INFO [Crawler.843.crawl] found VoicePkgActivity2.tag=ImageView.depth=10.id=iv_listen by first available element 2021-10-29 09:37:24 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:24 INFO [Crawler.996.doElementAction] current element = VoicePkgActivity2.tag=ImageView.depth=10.id=iv_listen 2021-10-29 09:37:24 INFO [Crawler.997.doElementAction] current index = 187 2021-10-29 09:37:24 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:24 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rv_content"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/iv_listen"] 2021-10-29 09:37:24 INFO [Crawler.1000.doElementAction] current url = VoicePkgActivity2 2021-10-29 09:37:24 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.ImageView 2021-10-29 09:37:24 INFO [Crawler.1002.doElementAction] current file name = VoicePkgActivity2.tag=ImageView.depth=10.id=iv_listen 2021-10-29 09:37:24 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:24 INFO [AppiumClient.53.findElementByURI] find by uri element= VoicePkgActivity2.tag=ImageView.depth=10.id=iv_listen 2021-10-29 09:37:24 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rv_content"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/iv_listen"] 2021-10-29 09:37:24 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:24 INFO [Crawler.1080.doElementAction] mark 20211027095159/186_BoxVoiceSettingActivity.tag=TextView.depth=12.text=选择播报语音包.clicked.png to 20211027095159/187_VoicePkgActivity2.tag=ImageView.depth=10.id=iv_listen.click.png 2021-10-29 09:37:24 INFO [AppiumClient.141.mark] read from 20211027095159/186_BoxVoiceSettingActivity.tag=TextView.depth=12.text=选择播报语音包.clicked.png 2021-10-29 09:37:24 INFO [AppiumClient.154.mark] write png 20211027095159/186_BoxVoiceSettingActivity.tag=TextView.depth=12.text=选择播报语音包.clicked.png 2021-10-29 09:37:24 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/187_VoicePkgActivity2.tag=ImageView.depth=10.id=iv_listen.click.png 2021-10-29 09:37:25 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:25 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rv_content"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/iv_listen"]] 2021-10-29 09:37:25 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:25 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:26 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:26 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:26 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:26 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:26 INFO [Crawler.649.parsePageContext] url=VoicePkgActivity2 2021-10-29 09:37:26 INFO [Crawler.673.parsePageContext] currentContentHash=d81898a5dc10a04e0083ee24aab97eab lastContentHash=d81898a5dc10a04e0083ee24aab97eab 2021-10-29 09:37:26 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:37:26 INFO [Crawler.931.saveDom] save to 20211027095159/187_VoicePkgActivity2.tag=ImageView.depth=10.id=iv_listen.dom 2021-10-29 09:37:26 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:26 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:27 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:27 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:27 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:27 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[VoicePkgActivity2hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.ImageView]=3 2021-10-29 09:37:27 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 188 2021-10-29 09:37:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:27 INFO [Crawler.425.needReturn] urlStack=Stack(VoicePkgActivity2, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:37:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:37:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:37:27 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:37:27 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:37:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:37:27 INFO [Crawler.843.crawl] found VoicePkgActivity2.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:37:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:27 INFO [Crawler.996.doElementAction] current element = VoicePkgActivity2.tag=TextView.depth=9.id=tv_right 2021-10-29 09:37:27 INFO [Crawler.997.doElementAction] current index = 188 2021-10-29 09:37:27 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:27 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:37:27 INFO [Crawler.1000.doElementAction] current url = VoicePkgActivity2 2021-10-29 09:37:27 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:37:27 INFO [Crawler.1002.doElementAction] current file name = VoicePkgActivity2.tag=TextView.depth=9.id=tv_right 2021-10-29 09:37:27 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:27 INFO [AppiumClient.53.findElementByURI] find by uri element= VoicePkgActivity2.tag=TextView.depth=9.id=tv_right 2021-10-29 09:37:27 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:37:27 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:27 INFO [Crawler.1080.doElementAction] mark 20211027095159/187_VoicePkgActivity2.tag=ImageView.depth=10.id=iv_listen.clicked.png to 20211027095159/188_VoicePkgActivity2.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:37:27 INFO [AppiumClient.141.mark] read from 20211027095159/187_VoicePkgActivity2.tag=ImageView.depth=10.id=iv_listen.clicked.png 2021-10-29 09:37:27 INFO [AppiumClient.154.mark] write png 20211027095159/187_VoicePkgActivity2.tag=ImageView.depth=10.id=iv_listen.clicked.png 2021-10-29 09:37:27 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/188_VoicePkgActivity2.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:37:27 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:27 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:37:27 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:27 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:27 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:27 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:28 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:28 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:28 INFO [Crawler.649.parsePageContext] url=VoicePkgActivity2 2021-10-29 09:37:28 INFO [Crawler.673.parsePageContext] currentContentHash=d81898a5dc10a04e0083ee24aab97eab lastContentHash=d81898a5dc10a04e0083ee24aab97eab 2021-10-29 09:37:28 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:37:28 INFO [Crawler.931.saveDom] save to 20211027095159/188_VoicePkgActivity2.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:37:28 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:28 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:28 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:28 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:28 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:28 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[VoicePkgActivity2hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:37:28 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 189 2021-10-29 09:37:28 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:28 INFO [Crawler.425.needReturn] urlStack=Stack(VoicePkgActivity2, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:28 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:28 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:37:28 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:37:28 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:37:28 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:37:28 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:37:28 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:37:28 INFO [Crawler.851.crawl] VoicePkgActivity2 all elements had be clicked 2021-10-29 09:37:28 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:37:28 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:37:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:28 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:37:28 INFO [Crawler.996.doElementAction] current element = VoicePkgActivity2.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:28 INFO [Crawler.997.doElementAction] current index = 189 2021-10-29 09:37:28 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:28 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:37:28 INFO [Crawler.1000.doElementAction] current url = VoicePkgActivity2 2021-10-29 09:37:28 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:37:28 INFO [Crawler.1002.doElementAction] current file name = VoicePkgActivity2.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:28 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:28 INFO [AppiumClient.53.findElementByURI] find by uri element= VoicePkgActivity2.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:28 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:37:29 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:29 INFO [Crawler.1080.doElementAction] mark 20211027095159/188_VoicePkgActivity2.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/189_VoicePkgActivity2.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:37:29 INFO [AppiumClient.141.mark] read from 20211027095159/188_VoicePkgActivity2.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:37:29 INFO [AppiumClient.154.mark] write png 20211027095159/188_VoicePkgActivity2.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:37:29 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/189_VoicePkgActivity2.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:37:29 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:29 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:37:29 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:29 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:29 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:29 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:30 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:30 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:30 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:37:30 INFO [Crawler.673.parsePageContext] currentContentHash=b04a00e993c11649d1607da09ec6d10f lastContentHash=d81898a5dc10a04e0083ee24aab97eab 2021-10-29 09:37:30 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:30 INFO [Crawler.931.saveDom] save to 20211027095159/189_VoicePkgActivity2.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:37:30 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:30 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:31 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:31 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:31 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:31 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 190 2021-10-29 09:37:31 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:31 INFO [Crawler.425.needReturn] urlStack=Stack(BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:31 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:31 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:37:31 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:37:31 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:37:31 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:37:31 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:37:31 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:37:31 INFO [Crawler.843.crawl] found BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_pkg.text=女生普通话 by first available element 2021-10-29 09:37:31 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:31 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_pkg.text=女生普通话 2021-10-29 09:37:31 INFO [Crawler.997.doElementAction] current index = 190 2021-10-29 09:37:31 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:31 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_voice_pkg"]//*[@text="女生普通话" and @resource-id="com.jlpay.merch:id/tv_voice_pkg"] 2021-10-29 09:37:31 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:37:31 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:37:31 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_pkg.text=女生普通话 2021-10-29 09:37:31 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:31 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_pkg.text=女生普通话 2021-10-29 09:37:31 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_voice_pkg"]//*[@text="女生普通话" and @resource-id="com.jlpay.merch:id/tv_voice_pkg"] 2021-10-29 09:37:31 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:31 INFO [Crawler.1080.doElementAction] mark 20211027095159/189_VoicePkgActivity2.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/190_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_pkg.text=女生普通话.click.png 2021-10-29 09:37:31 INFO [AppiumClient.141.mark] read from 20211027095159/189_VoicePkgActivity2.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:37:31 INFO [AppiumClient.154.mark] write png 20211027095159/189_VoicePkgActivity2.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:37:31 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/190_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_pkg.text=女生普通话.click.png 2021-10-29 09:37:31 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:31 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_voice_pkg"]//*[@text="女生普通话" and @resource-id="com.jlpay.merch:id/tv_voice_pkg"]] 2021-10-29 09:37:31 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:31 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:31 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:31 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:32 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:32 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:32 INFO [Crawler.649.parsePageContext] url=VoicePkgActivity2 2021-10-29 09:37:32 INFO [Crawler.673.parsePageContext] currentContentHash=d81898a5dc10a04e0083ee24aab97eab lastContentHash=b04a00e993c11649d1607da09ec6d10f 2021-10-29 09:37:32 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:32 INFO [Crawler.931.saveDom] save to 20211027095159/190_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_pkg.text=女生普通话.dom 2021-10-29 09:37:32 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:32 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:33 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:33 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:33 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:33 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 191 2021-10-29 09:37:33 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:33 INFO [Crawler.425.needReturn] urlStack=Stack(VoicePkgActivity2, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:33 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:33 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:37:33 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:37:33 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:37:33 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:37:33 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:37:33 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:37:33 INFO [Crawler.851.crawl] VoicePkgActivity2 all elements had be clicked 2021-10-29 09:37:33 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:37:33 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:37:33 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:33 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:37:33 INFO [Crawler.996.doElementAction] current element = VoicePkgActivity2.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:33 INFO [Crawler.997.doElementAction] current index = 191 2021-10-29 09:37:33 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:33 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:37:33 INFO [Crawler.1000.doElementAction] current url = VoicePkgActivity2 2021-10-29 09:37:33 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:37:33 INFO [Crawler.1002.doElementAction] current file name = VoicePkgActivity2.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:33 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:33 INFO [AppiumClient.53.findElementByURI] find by uri element= VoicePkgActivity2.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:33 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:37:33 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:33 INFO [Crawler.1080.doElementAction] mark 20211027095159/190_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_pkg.text=女生普通话.clicked.png to 20211027095159/191_VoicePkgActivity2.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:37:33 INFO [AppiumClient.141.mark] read from 20211027095159/190_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_pkg.text=女生普通话.clicked.png 2021-10-29 09:37:33 INFO [AppiumClient.154.mark] write png 20211027095159/190_BoxVoiceSettingActivity.tag=TextView.depth=12.id=tv_voice_pkg.text=女生普通话.clicked.png 2021-10-29 09:37:33 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/191_VoicePkgActivity2.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:37:33 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:33 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:37:33 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:33 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:33 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:33 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:34 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:34 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:34 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:37:34 INFO [Crawler.673.parsePageContext] currentContentHash=b04a00e993c11649d1607da09ec6d10f lastContentHash=d81898a5dc10a04e0083ee24aab97eab 2021-10-29 09:37:34 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:34 INFO [Crawler.931.saveDom] save to 20211027095159/191_VoicePkgActivity2.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:37:34 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:34 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:35 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:35 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:35 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:35 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 192 2021-10-29 09:37:35 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:35 INFO [Crawler.425.needReturn] urlStack=Stack(BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:35 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:35 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:37:35 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:37:35 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:37:35 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:37:35 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:37:35 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:37:35 INFO [Crawler.843.crawl] found BoxVoiceSettingActivity.tag=TextView.depth=12.text=设置免打扰时间 by first available element 2021-10-29 09:37:35 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:35 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=TextView.depth=12.text=设置免打扰时间 2021-10-29 09:37:35 INFO [Crawler.997.doElementAction] current index = 192 2021-10-29 09:37:35 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:35 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_no_disturb"]//*[@text="设置免打扰时间"] 2021-10-29 09:37:35 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:37:35 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:37:35 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=TextView.depth=12.text=设置免打扰时间 2021-10-29 09:37:35 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:35 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=TextView.depth=12.text=设置免打扰时间 2021-10-29 09:37:35 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_no_disturb"]//*[@text="设置免打扰时间"] 2021-10-29 09:37:35 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:35 INFO [Crawler.1080.doElementAction] mark 20211027095159/191_VoicePkgActivity2.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/192_BoxVoiceSettingActivity.tag=TextView.depth=12.text=设置免打扰时间.click.png 2021-10-29 09:37:35 INFO [AppiumClient.141.mark] read from 20211027095159/191_VoicePkgActivity2.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:37:35 INFO [AppiumClient.154.mark] write png 20211027095159/191_VoicePkgActivity2.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:37:35 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/192_BoxVoiceSettingActivity.tag=TextView.depth=12.text=设置免打扰时间.click.png 2021-10-29 09:37:35 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:35 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_no_disturb"]//*[@text="设置免打扰时间"]] 2021-10-29 09:37:36 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:36 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:36 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:36 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:36 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:36 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:36 INFO [Crawler.649.parsePageContext] url=NoDisturbActivity 2021-10-29 09:37:36 INFO [Crawler.673.parsePageContext] currentContentHash=36d735aa4646e39cb0958b7bd6d9a693 lastContentHash=b04a00e993c11649d1607da09ec6d10f 2021-10-29 09:37:36 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:36 INFO [Crawler.931.saveDom] save to 20211027095159/192_BoxVoiceSettingActivity.tag=TextView.depth=12.text=设置免打扰时间.dom 2021-10-29 09:37:37 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:37 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:37 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:37 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:37 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:37 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 193 2021-10-29 09:37:37 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:37 INFO [Crawler.425.needReturn] urlStack=Stack(NoDisturbActivity, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:37 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:37 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:37:37 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:37:37 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:37:37 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:37:37 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:37:37 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:37:37 INFO [Crawler.843.crawl] found NoDisturbActivity.tag=CheckBox.depth=10.id=cb_no_disturb by first available element 2021-10-29 09:37:37 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:37 INFO [Crawler.996.doElementAction] current element = NoDisturbActivity.tag=CheckBox.depth=10.id=cb_no_disturb 2021-10-29 09:37:37 INFO [Crawler.997.doElementAction] current index = 193 2021-10-29 09:37:37 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:37 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/cb_no_disturb"] 2021-10-29 09:37:37 INFO [Crawler.1000.doElementAction] current url = NoDisturbActivity 2021-10-29 09:37:37 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.CheckBox 2021-10-29 09:37:37 INFO [Crawler.1002.doElementAction] current file name = NoDisturbActivity.tag=CheckBox.depth=10.id=cb_no_disturb 2021-10-29 09:37:37 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:37 INFO [AppiumClient.53.findElementByURI] find by uri element= NoDisturbActivity.tag=CheckBox.depth=10.id=cb_no_disturb 2021-10-29 09:37:37 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/cb_no_disturb"] 2021-10-29 09:37:37 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:37 INFO [Crawler.1080.doElementAction] mark 20211027095159/192_BoxVoiceSettingActivity.tag=TextView.depth=12.text=设置免打扰时间.clicked.png to 20211027095159/193_NoDisturbActivity.tag=CheckBox.depth=10.id=cb_no_disturb.click.png 2021-10-29 09:37:37 INFO [AppiumClient.141.mark] read from 20211027095159/192_BoxVoiceSettingActivity.tag=TextView.depth=12.text=设置免打扰时间.clicked.png 2021-10-29 09:37:37 INFO [AppiumClient.154.mark] write png 20211027095159/192_BoxVoiceSettingActivity.tag=TextView.depth=12.text=设置免打扰时间.clicked.png 2021-10-29 09:37:37 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/193_NoDisturbActivity.tag=CheckBox.depth=10.id=cb_no_disturb.click.png 2021-10-29 09:37:37 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:37 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/cb_no_disturb"]] 2021-10-29 09:37:38 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:38 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:39 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:39 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:39 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:39 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:39 INFO [Crawler.649.parsePageContext] url=NoDisturbActivity 2021-10-29 09:37:39 INFO [Crawler.673.parsePageContext] currentContentHash=acc127353069916b18e7d18a212ddc85 lastContentHash=36d735aa4646e39cb0958b7bd6d9a693 2021-10-29 09:37:39 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:39 INFO [Crawler.931.saveDom] save to 20211027095159/193_NoDisturbActivity.tag=CheckBox.depth=10.id=cb_no_disturb.dom 2021-10-29 09:37:39 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:39 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:39 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:39 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:39 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:39 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[NoDisturbActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.CheckBox]=3 2021-10-29 09:37:39 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 194 2021-10-29 09:37:39 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:39 INFO [Crawler.425.needReturn] urlStack=Stack(NoDisturbActivity, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:39 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:39 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:37:39 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:37:39 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:37:39 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:37:39 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:37:39 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:37:39 INFO [Crawler.843.crawl] found NoDisturbActivity.tag=TextView.depth=10.id=tv_start_time.text=23:00 by first available element 2021-10-29 09:37:39 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:39 INFO [Crawler.996.doElementAction] current element = NoDisturbActivity.tag=TextView.depth=10.id=tv_start_time.text=23:00 2021-10-29 09:37:39 INFO [Crawler.997.doElementAction] current index = 194 2021-10-29 09:37:39 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:39 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/ll_start_time"]//*[@text="23:00" and @resource-id="com.jlpay.merch:id/tv_start_time"] 2021-10-29 09:37:39 INFO [Crawler.1000.doElementAction] current url = NoDisturbActivity 2021-10-29 09:37:39 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:37:39 INFO [Crawler.1002.doElementAction] current file name = NoDisturbActivity.tag=TextView.depth=10.id=tv_start_time.text=23:00 2021-10-29 09:37:39 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:39 INFO [AppiumClient.53.findElementByURI] find by uri element= NoDisturbActivity.tag=TextView.depth=10.id=tv_start_time.text=23:00 2021-10-29 09:37:39 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/ll_start_time"]//*[@text="23:00" and @resource-id="com.jlpay.merch:id/tv_start_time"] 2021-10-29 09:37:39 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:39 INFO [Crawler.1080.doElementAction] mark 20211027095159/193_NoDisturbActivity.tag=CheckBox.depth=10.id=cb_no_disturb.clicked.png to 20211027095159/194_NoDisturbActivity.tag=TextView.depth=10.id=tv_start_time.text=23:00.click.png 2021-10-29 09:37:39 INFO [AppiumClient.141.mark] read from 20211027095159/193_NoDisturbActivity.tag=CheckBox.depth=10.id=cb_no_disturb.clicked.png 2021-10-29 09:37:39 INFO [AppiumClient.154.mark] write png 20211027095159/193_NoDisturbActivity.tag=CheckBox.depth=10.id=cb_no_disturb.clicked.png 2021-10-29 09:37:39 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/194_NoDisturbActivity.tag=TextView.depth=10.id=tv_start_time.text=23:00.click.png 2021-10-29 09:37:39 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:39 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/ll_start_time"]//*[@text="23:00" and @resource-id="com.jlpay.merch:id/tv_start_time"]] 2021-10-29 09:37:39 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:39 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:40 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:40 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:40 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:40 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:40 INFO [Crawler.649.parsePageContext] url=NoDisturbActivity 2021-10-29 09:37:40 INFO [Crawler.673.parsePageContext] currentContentHash=868144cee645b8fc4590f8322b8c0b54 lastContentHash=acc127353069916b18e7d18a212ddc85 2021-10-29 09:37:40 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:40 INFO [Crawler.931.saveDom] save to 20211027095159/194_NoDisturbActivity.tag=TextView.depth=10.id=tv_start_time.text=23:00.dom 2021-10-29 09:37:40 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:40 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:41 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:41 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:41 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:41 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[NoDisturbActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:37:41 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 195 2021-10-29 09:37:41 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:41 INFO [Crawler.425.needReturn] urlStack=Stack(NoDisturbActivity, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:41 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:41 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:37:41 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:37:41 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:37:41 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:37:41 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:37:41 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:37:41 INFO [Crawler.843.crawl] found NoDisturbActivity.tag=TextView.depth=10.id=tv_end_time.text=07:00 by first available element 2021-10-29 09:37:41 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:41 INFO [Crawler.996.doElementAction] current element = NoDisturbActivity.tag=TextView.depth=10.id=tv_end_time.text=07:00 2021-10-29 09:37:41 INFO [Crawler.997.doElementAction] current index = 195 2021-10-29 09:37:41 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:41 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/ll_end_time"]//*[@text="07:00" and @resource-id="com.jlpay.merch:id/tv_end_time"] 2021-10-29 09:37:41 INFO [Crawler.1000.doElementAction] current url = NoDisturbActivity 2021-10-29 09:37:41 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:37:41 INFO [Crawler.1002.doElementAction] current file name = NoDisturbActivity.tag=TextView.depth=10.id=tv_end_time.text=07:00 2021-10-29 09:37:41 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:41 INFO [AppiumClient.53.findElementByURI] find by uri element= NoDisturbActivity.tag=TextView.depth=10.id=tv_end_time.text=07:00 2021-10-29 09:37:41 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/ll_end_time"]//*[@text="07:00" and @resource-id="com.jlpay.merch:id/tv_end_time"] 2021-10-29 09:37:41 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:41 INFO [Crawler.1080.doElementAction] mark 20211027095159/194_NoDisturbActivity.tag=TextView.depth=10.id=tv_start_time.text=23:00.clicked.png to 20211027095159/195_NoDisturbActivity.tag=TextView.depth=10.id=tv_end_time.text=07:00.click.png 2021-10-29 09:37:41 INFO [AppiumClient.141.mark] read from 20211027095159/194_NoDisturbActivity.tag=TextView.depth=10.id=tv_start_time.text=23:00.clicked.png 2021-10-29 09:37:41 INFO [AppiumClient.154.mark] write png 20211027095159/194_NoDisturbActivity.tag=TextView.depth=10.id=tv_start_time.text=23:00.clicked.png 2021-10-29 09:37:41 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/195_NoDisturbActivity.tag=TextView.depth=10.id=tv_end_time.text=07:00.click.png 2021-10-29 09:37:41 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:41 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/ll_end_time"]//*[@text="07:00" and @resource-id="com.jlpay.merch:id/tv_end_time"]] 2021-10-29 09:37:42 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:42 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:42 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:42 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:42 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:42 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:43 INFO [Crawler.649.parsePageContext] url=NoDisturbActivity 2021-10-29 09:37:43 INFO [Crawler.673.parsePageContext] currentContentHash=acc127353069916b18e7d18a212ddc85 lastContentHash=868144cee645b8fc4590f8322b8c0b54 2021-10-29 09:37:43 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:43 INFO [Crawler.931.saveDom] save to 20211027095159/195_NoDisturbActivity.tag=TextView.depth=10.id=tv_end_time.text=07:00.dom 2021-10-29 09:37:43 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:43 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:43 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:43 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:43 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:43 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[NoDisturbActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:37:43 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 196 2021-10-29 09:37:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:43 INFO [Crawler.425.needReturn] urlStack=Stack(NoDisturbActivity, BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:37:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:37:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:37:43 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:37:43 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:37:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:37:43 INFO [Crawler.843.crawl] found NoDisturbActivity.tag=Button.depth=9.id=btn_confirm.text=确定 by first available element 2021-10-29 09:37:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:43 INFO [TagLimitPlugin.35.beforeElementAction] tagLimit[NoDisturbActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=1000 with conf.tagLimit 2021-10-29 09:37:43 INFO [Crawler.996.doElementAction] current element = NoDisturbActivity.tag=Button.depth=9.id=btn_confirm.text=确定 2021-10-29 09:37:43 INFO [Crawler.997.doElementAction] current index = 196 2021-10-29 09:37:43 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:43 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/btn_confirm"] 2021-10-29 09:37:43 INFO [Crawler.1000.doElementAction] current url = NoDisturbActivity 2021-10-29 09:37:43 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:37:43 INFO [Crawler.1002.doElementAction] current file name = NoDisturbActivity.tag=Button.depth=9.id=btn_confirm.text=确定 2021-10-29 09:37:43 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:43 INFO [AppiumClient.53.findElementByURI] find by uri element= NoDisturbActivity.tag=Button.depth=9.id=btn_confirm.text=确定 2021-10-29 09:37:43 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/btn_confirm"] 2021-10-29 09:37:43 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:43 INFO [Crawler.1080.doElementAction] mark 20211027095159/195_NoDisturbActivity.tag=TextView.depth=10.id=tv_end_time.text=07:00.clicked.png to 20211027095159/196_NoDisturbActivity.tag=Button.depth=9.id=btn_confirm.text=确定.click.png 2021-10-29 09:37:43 INFO [AppiumClient.141.mark] read from 20211027095159/195_NoDisturbActivity.tag=TextView.depth=10.id=tv_end_time.text=07:00.clicked.png 2021-10-29 09:37:44 INFO [AppiumClient.154.mark] write png 20211027095159/195_NoDisturbActivity.tag=TextView.depth=10.id=tv_end_time.text=07:00.clicked.png 2021-10-29 09:37:44 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/196_NoDisturbActivity.tag=Button.depth=9.id=btn_confirm.text=确定.click.png 2021-10-29 09:37:44 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:44 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/btn_confirm"]] 2021-10-29 09:37:44 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:44 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:44 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:44 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:45 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:45 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:45 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:37:45 INFO [Crawler.673.parsePageContext] currentContentHash=a49458e74c2451951f64c128eaa469c0 lastContentHash=acc127353069916b18e7d18a212ddc85 2021-10-29 09:37:45 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:45 INFO [Crawler.931.saveDom] save to 20211027095159/196_NoDisturbActivity.tag=Button.depth=9.id=btn_confirm.text=确定.dom 2021-10-29 09:37:45 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:45 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:46 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:46 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:46 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:46 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 197 2021-10-29 09:37:46 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:46 INFO [Crawler.425.needReturn] urlStack=Stack(BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:46 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:46 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:37:46 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:37:46 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:37:46 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:37:46 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:37:46 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:37:46 INFO [Crawler.843.crawl] found BoxVoiceSettingActivity.tag=CheckBox.depth=12.id=cb_open_device by first available element 2021-10-29 09:37:46 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:46 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=CheckBox.depth=12.id=cb_open_device 2021-10-29 09:37:46 INFO [Crawler.997.doElementAction] current index = 197 2021-10-29 09:37:46 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:46 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@resource-id="com.jlpay.merch:id/cb_open_device"] 2021-10-29 09:37:46 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:37:46 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.CheckBox 2021-10-29 09:37:46 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=CheckBox.depth=12.id=cb_open_device 2021-10-29 09:37:46 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:46 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=CheckBox.depth=12.id=cb_open_device 2021-10-29 09:37:46 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@resource-id="com.jlpay.merch:id/cb_open_device"] 2021-10-29 09:37:46 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:46 INFO [Crawler.1080.doElementAction] mark 20211027095159/196_NoDisturbActivity.tag=Button.depth=9.id=btn_confirm.text=确定.clicked.png to 20211027095159/197_BoxVoiceSettingActivity.tag=CheckBox.depth=12.id=cb_open_device.click.png 2021-10-29 09:37:46 INFO [AppiumClient.141.mark] read from 20211027095159/196_NoDisturbActivity.tag=Button.depth=9.id=btn_confirm.text=确定.clicked.png 2021-10-29 09:37:46 INFO [AppiumClient.154.mark] write png 20211027095159/196_NoDisturbActivity.tag=Button.depth=9.id=btn_confirm.text=确定.clicked.png 2021-10-29 09:37:46 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/197_BoxVoiceSettingActivity.tag=CheckBox.depth=12.id=cb_open_device.click.png 2021-10-29 09:37:46 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:46 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/rl_allow_voice"]//*[@resource-id="com.jlpay.merch:id/cb_open_device"]] 2021-10-29 09:37:46 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:46 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:46 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:46 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:47 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:47 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:47 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:37:47 INFO [Crawler.673.parsePageContext] currentContentHash=b0a2b65d3c6cd5e2c1d440b6b534dc47 lastContentHash=a49458e74c2451951f64c128eaa469c0 2021-10-29 09:37:47 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:47 INFO [Crawler.931.saveDom] save to 20211027095159/197_BoxVoiceSettingActivity.tag=CheckBox.depth=12.id=cb_open_device.dom 2021-10-29 09:37:47 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:47 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:48 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:48 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:48 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:48 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[BoxVoiceSettingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.CheckBox]=3 2021-10-29 09:37:48 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 198 2021-10-29 09:37:48 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:48 INFO [Crawler.425.needReturn] urlStack=Stack(BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:48 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:48 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:37:48 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:37:48 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:37:48 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:37:48 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:37:48 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:37:48 INFO [Crawler.843.crawl] found BoxVoiceSettingActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:37:48 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:48 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:37:48 INFO [Crawler.997.doElementAction] current index = 198 2021-10-29 09:37:48 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:48 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:37:48 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:37:48 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:37:48 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:37:48 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:48 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:37:48 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:37:48 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:48 INFO [Crawler.1080.doElementAction] mark 20211027095159/197_BoxVoiceSettingActivity.tag=CheckBox.depth=12.id=cb_open_device.clicked.png to 20211027095159/198_BoxVoiceSettingActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:37:48 INFO [AppiumClient.141.mark] read from 20211027095159/197_BoxVoiceSettingActivity.tag=CheckBox.depth=12.id=cb_open_device.clicked.png 2021-10-29 09:37:48 INFO [AppiumClient.154.mark] write png 20211027095159/197_BoxVoiceSettingActivity.tag=CheckBox.depth=12.id=cb_open_device.clicked.png 2021-10-29 09:37:48 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/198_BoxVoiceSettingActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:37:48 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:48 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:37:48 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:48 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:49 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:49 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:49 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:49 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:49 INFO [Crawler.649.parsePageContext] url=BoxVoiceSettingActivity 2021-10-29 09:37:49 INFO [Crawler.673.parsePageContext] currentContentHash=ba6230dbd65dfab42fcaa06797f23404 lastContentHash=b0a2b65d3c6cd5e2c1d440b6b534dc47 2021-10-29 09:37:49 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:49 INFO [Crawler.931.saveDom] save to 20211027095159/198_BoxVoiceSettingActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:37:49 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:49 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:50 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:50 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:50 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:50 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[BoxVoiceSettingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:37:50 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 199 2021-10-29 09:37:50 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:50 INFO [Crawler.425.needReturn] urlStack=Stack(BoxVoiceSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:50 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:50 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:37:50 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:37:50 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:37:50 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:37:50 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:37:50 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:37:50 INFO [Crawler.851.crawl] BoxVoiceSettingActivity all elements had be clicked 2021-10-29 09:37:50 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:37:50 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:37:50 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:50 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:37:50 INFO [Crawler.996.doElementAction] current element = BoxVoiceSettingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:50 INFO [Crawler.997.doElementAction] current index = 199 2021-10-29 09:37:50 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:50 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:37:50 INFO [Crawler.1000.doElementAction] current url = BoxVoiceSettingActivity 2021-10-29 09:37:50 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:37:50 INFO [Crawler.1002.doElementAction] current file name = BoxVoiceSettingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:50 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:50 INFO [AppiumClient.53.findElementByURI] find by uri element= BoxVoiceSettingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:37:50 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:37:50 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:50 INFO [Crawler.1080.doElementAction] mark 20211027095159/198_BoxVoiceSettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/199_BoxVoiceSettingActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:37:50 INFO [AppiumClient.141.mark] read from 20211027095159/198_BoxVoiceSettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:37:50 INFO [AppiumClient.154.mark] write png 20211027095159/198_BoxVoiceSettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:37:50 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/199_BoxVoiceSettingActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:37:50 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:50 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:37:50 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:50 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:50 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:50 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:51 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:51 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:51 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:37:51 INFO [Crawler.673.parsePageContext] currentContentHash=45b2efbd12c26f918782a09c5b9377e8 lastContentHash=ba6230dbd65dfab42fcaa06797f23404 2021-10-29 09:37:51 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:51 INFO [Crawler.931.saveDom] save to 20211027095159/199_BoxVoiceSettingActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:37:51 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:51 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:52 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:52 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:52 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:52 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 200 2021-10-29 09:37:52 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:52 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:52 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:52 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:37:52 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:37:52 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:37:52 INFO [Crawler.590.getAvailableElement] all - backButton size=25 2021-10-29 09:37:52 INFO [Crawler.598.getAvailableElement] all - clicked size=17 2021-10-29 09:37:52 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=17 2021-10-29 09:37:52 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_name.text=门店管理 by first available element 2021-10-29 09:37:52 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:52 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_name.text=门店管理 2021-10-29 09:37:52 INFO [Crawler.997.doElementAction] current index = 200 2021-10-29 09:37:52 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:52 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="门店管理" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:37:52 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:37:52 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:37:52 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_name.text=门店管理 2021-10-29 09:37:52 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:52 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_name.text=门店管理 2021-10-29 09:37:52 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="门店管理" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:37:52 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:52 INFO [Crawler.1080.doElementAction] mark 20211027095159/199_BoxVoiceSettingActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/200_MainActivity.tag=TextView.depth=16.id=tv_name.text=门店管理.click.png 2021-10-29 09:37:52 INFO [AppiumClient.141.mark] read from 20211027095159/199_BoxVoiceSettingActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:37:52 INFO [AppiumClient.154.mark] write png 20211027095159/199_BoxVoiceSettingActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:37:52 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/200_MainActivity.tag=TextView.depth=16.id=tv_name.text=门店管理.click.png 2021-10-29 09:37:53 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:53 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="门店管理" and @resource-id="com.jlpay.merch:id/tv_name"]] 2021-10-29 09:37:53 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:53 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:54 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:54 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:54 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:54 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:54 INFO [Crawler.649.parsePageContext] url=AdvancedSettingActivity 2021-10-29 09:37:54 INFO [Crawler.673.parsePageContext] currentContentHash=a7e72e540b3671d0f799b38c650ea716 lastContentHash=45b2efbd12c26f918782a09c5b9377e8 2021-10-29 09:37:54 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:54 INFO [Crawler.931.saveDom] save to 20211027095159/200_MainActivity.tag=TextView.depth=16.id=tv_name.text=门店管理.dom 2021-10-29 09:37:54 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:54 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:55 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:55 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:55 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:55 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 201 2021-10-29 09:37:55 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:55 INFO [Crawler.425.needReturn] urlStack=Stack(AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:55 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:55 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:37:55 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:37:55 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:37:55 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:37:55 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:37:55 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:37:55 INFO [Crawler.843.crawl] found AdvancedSettingActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:37:55 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:55 INFO [Crawler.996.doElementAction] current element = AdvancedSettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:37:55 INFO [Crawler.997.doElementAction] current index = 201 2021-10-29 09:37:55 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:55 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:37:55 INFO [Crawler.1000.doElementAction] current url = AdvancedSettingActivity 2021-10-29 09:37:55 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:37:55 INFO [Crawler.1002.doElementAction] current file name = AdvancedSettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:37:55 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:55 INFO [AppiumClient.53.findElementByURI] find by uri element= AdvancedSettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:37:55 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:37:55 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:55 INFO [Crawler.1080.doElementAction] mark 20211027095159/200_MainActivity.tag=TextView.depth=16.id=tv_name.text=门店管理.clicked.png to 20211027095159/201_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:37:55 INFO [AppiumClient.141.mark] read from 20211027095159/200_MainActivity.tag=TextView.depth=16.id=tv_name.text=门店管理.clicked.png 2021-10-29 09:37:55 INFO [AppiumClient.154.mark] write png 20211027095159/200_MainActivity.tag=TextView.depth=16.id=tv_name.text=门店管理.clicked.png 2021-10-29 09:37:55 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/201_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:37:55 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:55 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:37:55 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:55 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:55 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:55 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:55 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:55 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:56 INFO [Crawler.649.parsePageContext] url=AdvancedSettingActivity 2021-10-29 09:37:56 INFO [Crawler.673.parsePageContext] currentContentHash=a7e72e540b3671d0f799b38c650ea716 lastContentHash=a7e72e540b3671d0f799b38c650ea716 2021-10-29 09:37:56 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:37:56 INFO [Crawler.931.saveDom] save to 20211027095159/201_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:37:56 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:56 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:56 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:56 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:56 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:56 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AdvancedSettingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:37:56 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 202 2021-10-29 09:37:56 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:56 INFO [Crawler.425.needReturn] urlStack=Stack(AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:56 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:56 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:37:56 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:37:56 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:37:56 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:37:56 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:37:56 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:37:56 INFO [Crawler.843.crawl] found AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_manager.text=门店管理 by first available element 2021-10-29 09:37:56 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:56 INFO [Crawler.996.doElementAction] current element = AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_manager.text=门店管理 2021-10-29 09:37:56 INFO [Crawler.997.doElementAction] current index = 202 2021-10-29 09:37:56 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:56 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="门店管理" and @resource-id="com.jlpay.merch:id/tv_shop_manager"] 2021-10-29 09:37:56 INFO [Crawler.1000.doElementAction] current url = AdvancedSettingActivity 2021-10-29 09:37:56 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:37:56 INFO [Crawler.1002.doElementAction] current file name = AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_manager.text=门店管理 2021-10-29 09:37:56 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:56 INFO [AppiumClient.53.findElementByURI] find by uri element= AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_manager.text=门店管理 2021-10-29 09:37:56 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="门店管理" and @resource-id="com.jlpay.merch:id/tv_shop_manager"] 2021-10-29 09:37:56 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:56 INFO [Crawler.1080.doElementAction] mark 20211027095159/201_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/202_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_manager.text=门店管理.click.png 2021-10-29 09:37:56 INFO [AppiumClient.141.mark] read from 20211027095159/201_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:37:56 INFO [AppiumClient.154.mark] write png 20211027095159/201_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:37:56 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/202_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_manager.text=门店管理.click.png 2021-10-29 09:37:56 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:56 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="门店管理" and @resource-id="com.jlpay.merch:id/tv_shop_manager"]] 2021-10-29 09:37:56 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:56 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:57 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:57 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:37:57 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:37:57 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:37:57 INFO [Crawler.649.parsePageContext] url=ShopManagerActivity 2021-10-29 09:37:57 INFO [Crawler.673.parsePageContext] currentContentHash=7392c32738a7adf166e67b366d79c976 lastContentHash=a7e72e540b3671d0f799b38c650ea716 2021-10-29 09:37:57 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:37:57 INFO [Crawler.931.saveDom] save to 20211027095159/202_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_manager.text=门店管理.dom 2021-10-29 09:37:57 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:37:57 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:37:58 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:37:58 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:37:58 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:37:58 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 203 2021-10-29 09:37:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:37:58 INFO [Crawler.425.needReturn] urlStack=Stack(ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:37:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:37:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:37:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:37:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:37:58 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:37:58 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:37:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:37:58 INFO [Crawler.843.crawl] found ShopManagerActivity.tag=TextView.depth=14.id=tv_edit.text=编辑 by first available element 2021-10-29 09:37:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:37:58 INFO [Crawler.996.doElementAction] current element = ShopManagerActivity.tag=TextView.depth=14.id=tv_edit.text=编辑 2021-10-29 09:37:58 INFO [Crawler.997.doElementAction] current index = 203 2021-10-29 09:37:58 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:37:58 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="编辑" and @resource-id="com.jlpay.merch:id/tv_edit"] 2021-10-29 09:37:58 INFO [Crawler.1000.doElementAction] current url = ShopManagerActivity 2021-10-29 09:37:58 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:37:58 INFO [Crawler.1002.doElementAction] current file name = ShopManagerActivity.tag=TextView.depth=14.id=tv_edit.text=编辑 2021-10-29 09:37:58 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:37:58 INFO [AppiumClient.53.findElementByURI] find by uri element= ShopManagerActivity.tag=TextView.depth=14.id=tv_edit.text=编辑 2021-10-29 09:37:58 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="编辑" and @resource-id="com.jlpay.merch:id/tv_edit"] 2021-10-29 09:37:58 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:37:58 INFO [Crawler.1080.doElementAction] mark 20211027095159/202_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_manager.text=门店管理.clicked.png to 20211027095159/203_ShopManagerActivity.tag=TextView.depth=14.id=tv_edit.text=编辑.click.png 2021-10-29 09:37:58 INFO [AppiumClient.141.mark] read from 20211027095159/202_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_manager.text=门店管理.clicked.png 2021-10-29 09:37:58 INFO [AppiumClient.154.mark] write png 20211027095159/202_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_manager.text=门店管理.clicked.png 2021-10-29 09:37:58 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/203_ShopManagerActivity.tag=TextView.depth=14.id=tv_edit.text=编辑.click.png 2021-10-29 09:37:58 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:37:58 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="编辑" and @resource-id="com.jlpay.merch:id/tv_edit"]] 2021-10-29 09:37:59 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:37:59 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:37:59 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:37:59 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:00 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:00 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:00 INFO [Crawler.649.parsePageContext] url=AddShopActivity 2021-10-29 09:38:00 INFO [Crawler.673.parsePageContext] currentContentHash=f9c48f8280eeb0c2e24d7405c660029d lastContentHash=7392c32738a7adf166e67b366d79c976 2021-10-29 09:38:00 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:00 INFO [Crawler.931.saveDom] save to 20211027095159/203_ShopManagerActivity.tag=TextView.depth=14.id=tv_edit.text=编辑.dom 2021-10-29 09:38:00 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:00 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:00 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:00 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:00 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:00 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 204 2021-10-29 09:38:00 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:00 INFO [Crawler.425.needReturn] urlStack=Stack(AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:00 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:00 INFO [Crawler.487.getAvailableElement] selected nodes size = 11 2021-10-29 09:38:00 INFO [Crawler.499.getAvailableElement] all - black elements size = 11 2021-10-29 09:38:00 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 11 2021-10-29 09:38:00 INFO [Crawler.590.getAvailableElement] all - backButton size=10 2021-10-29 09:38:00 INFO [Crawler.598.getAvailableElement] all - clicked size=10 2021-10-29 09:38:00 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=10 2021-10-29 09:38:00 INFO [Crawler.843.crawl] found AddShopActivity.tag=CheckBox.depth=14.id=ckbox_termianl_unbind by first available element 2021-10-29 09:38:00 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:00 INFO [Crawler.996.doElementAction] current element = AddShopActivity.tag=CheckBox.depth=14.id=ckbox_termianl_unbind 2021-10-29 09:38:00 INFO [Crawler.997.doElementAction] current index = 204 2021-10-29 09:38:00 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:00 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/recy_terminal"]//*[@resource-id="com.jlpay.merch:id/ckbox_termianl_unbind"] 2021-10-29 09:38:00 INFO [Crawler.1000.doElementAction] current url = AddShopActivity 2021-10-29 09:38:00 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:38:00 INFO [Crawler.1002.doElementAction] current file name = AddShopActivity.tag=CheckBox.depth=14.id=ckbox_termianl_unbind 2021-10-29 09:38:00 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:00 INFO [AppiumClient.53.findElementByURI] find by uri element= AddShopActivity.tag=CheckBox.depth=14.id=ckbox_termianl_unbind 2021-10-29 09:38:00 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/recy_terminal"]//*[@resource-id="com.jlpay.merch:id/ckbox_termianl_unbind"] 2021-10-29 09:38:01 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:01 INFO [Crawler.1080.doElementAction] mark 20211027095159/203_ShopManagerActivity.tag=TextView.depth=14.id=tv_edit.text=编辑.clicked.png to 20211027095159/204_AddShopActivity.tag=CheckBox.depth=14.id=ckbox_termianl_unbind.click.png 2021-10-29 09:38:01 INFO [AppiumClient.141.mark] read from 20211027095159/203_ShopManagerActivity.tag=TextView.depth=14.id=tv_edit.text=编辑.clicked.png 2021-10-29 09:38:01 INFO [AppiumClient.154.mark] write png 20211027095159/203_ShopManagerActivity.tag=TextView.depth=14.id=tv_edit.text=编辑.clicked.png 2021-10-29 09:38:01 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/204_AddShopActivity.tag=CheckBox.depth=14.id=ckbox_termianl_unbind.click.png 2021-10-29 09:38:01 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:01 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/recy_terminal"]//*[@resource-id="com.jlpay.merch:id/ckbox_termianl_unbind"]] 2021-10-29 09:38:01 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:01 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:01 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:01 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:02 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:02 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:02 INFO [Crawler.649.parsePageContext] url=AddShopActivity 2021-10-29 09:38:02 INFO [Crawler.673.parsePageContext] currentContentHash=f9c48f8280eeb0c2e24d7405c660029d lastContentHash=f9c48f8280eeb0c2e24d7405c660029d 2021-10-29 09:38:02 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:38:02 INFO [Crawler.931.saveDom] save to 20211027095159/204_AddShopActivity.tag=CheckBox.depth=14.id=ckbox_termianl_unbind.dom 2021-10-29 09:38:02 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:02 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:03 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:03 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:03 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:03 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddShopActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=3 2021-10-29 09:38:03 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 205 2021-10-29 09:38:03 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:03 INFO [Crawler.425.needReturn] urlStack=Stack(AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:03 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:03 INFO [Crawler.487.getAvailableElement] selected nodes size = 11 2021-10-29 09:38:03 INFO [Crawler.499.getAvailableElement] all - black elements size = 11 2021-10-29 09:38:03 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 11 2021-10-29 09:38:03 INFO [Crawler.590.getAvailableElement] all - backButton size=10 2021-10-29 09:38:03 INFO [Crawler.598.getAvailableElement] all - clicked size=9 2021-10-29 09:38:03 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:38:03 INFO [Crawler.843.crawl] found AddShopActivity.tag=TextView.depth=12.id=text_province.text=北京市 by first available element 2021-10-29 09:38:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:03 INFO [Crawler.996.doElementAction] current element = AddShopActivity.tag=TextView.depth=12.id=text_province.text=北京市 2021-10-29 09:38:03 INFO [Crawler.997.doElementAction] current index = 205 2021-10-29 09:38:03 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:03 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="北京市" and @resource-id="com.jlpay.merch:id/text_province"] 2021-10-29 09:38:03 INFO [Crawler.1000.doElementAction] current url = AddShopActivity 2021-10-29 09:38:03 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:38:03 INFO [Crawler.1002.doElementAction] current file name = AddShopActivity.tag=TextView.depth=12.id=text_province.text=北京市 2021-10-29 09:38:03 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:03 INFO [AppiumClient.53.findElementByURI] find by uri element= AddShopActivity.tag=TextView.depth=12.id=text_province.text=北京市 2021-10-29 09:38:03 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="北京市" and @resource-id="com.jlpay.merch:id/text_province"] 2021-10-29 09:38:03 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:03 INFO [Crawler.1080.doElementAction] mark 20211027095159/204_AddShopActivity.tag=CheckBox.depth=14.id=ckbox_termianl_unbind.clicked.png to 20211027095159/205_AddShopActivity.tag=TextView.depth=12.id=text_province.text=北京市.click.png 2021-10-29 09:38:03 INFO [AppiumClient.141.mark] read from 20211027095159/204_AddShopActivity.tag=CheckBox.depth=14.id=ckbox_termianl_unbind.clicked.png 2021-10-29 09:38:03 INFO [AppiumClient.154.mark] write png 20211027095159/204_AddShopActivity.tag=CheckBox.depth=14.id=ckbox_termianl_unbind.clicked.png 2021-10-29 09:38:03 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/205_AddShopActivity.tag=TextView.depth=12.id=text_province.text=北京市.click.png 2021-10-29 09:38:03 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:03 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="北京市" and @resource-id="com.jlpay.merch:id/text_province"]] 2021-10-29 09:38:03 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:03 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:04 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:04 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:04 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:04 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:04 INFO [Crawler.649.parsePageContext] url=AddShopActivity 2021-10-29 09:38:04 INFO [Crawler.673.parsePageContext] currentContentHash=3b34e4cdaf656287db8f6c6ff9a5fd54 lastContentHash=f9c48f8280eeb0c2e24d7405c660029d 2021-10-29 09:38:04 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:04 INFO [Crawler.931.saveDom] save to 20211027095159/205_AddShopActivity.tag=TextView.depth=12.id=text_province.text=北京市.dom 2021-10-29 09:38:04 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:04 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:05 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:05 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:05 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:05 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddShopActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:38:05 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 206 2021-10-29 09:38:05 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:05 INFO [Crawler.425.needReturn] urlStack=Stack(AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:05 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:05 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:38:05 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:38:05 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:38:05 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:38:05 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:38:05 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:38:05 INFO [Crawler.843.crawl] found AddShopActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消 by first available element 2021-10-29 09:38:05 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:05 INFO [TagLimitPlugin.35.beforeElementAction] tagLimit[AddShopActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=1000 with conf.tagLimit 2021-10-29 09:38:05 INFO [Crawler.996.doElementAction] current element = AddShopActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消 2021-10-29 09:38:05 INFO [Crawler.997.doElementAction] current index = 206 2021-10-29 09:38:05 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:05 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_wheel_dialog_left"] 2021-10-29 09:38:05 INFO [Crawler.1000.doElementAction] current url = AddShopActivity 2021-10-29 09:38:05 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:38:05 INFO [Crawler.1002.doElementAction] current file name = AddShopActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消 2021-10-29 09:38:05 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:05 INFO [AppiumClient.53.findElementByURI] find by uri element= AddShopActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消 2021-10-29 09:38:05 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_wheel_dialog_left"] 2021-10-29 09:38:05 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:05 INFO [Crawler.1080.doElementAction] mark 20211027095159/205_AddShopActivity.tag=TextView.depth=12.id=text_province.text=北京市.clicked.png to 20211027095159/206_AddShopActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.click.png 2021-10-29 09:38:05 INFO [AppiumClient.141.mark] read from 20211027095159/205_AddShopActivity.tag=TextView.depth=12.id=text_province.text=北京市.clicked.png 2021-10-29 09:38:05 INFO [AppiumClient.154.mark] write png 20211027095159/205_AddShopActivity.tag=TextView.depth=12.id=text_province.text=北京市.clicked.png 2021-10-29 09:38:05 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/206_AddShopActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.click.png 2021-10-29 09:38:05 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:05 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_wheel_dialog_left"]] 2021-10-29 09:38:05 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:05 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:06 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:06 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:06 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:06 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:06 INFO [Crawler.649.parsePageContext] url=AddShopActivity 2021-10-29 09:38:06 INFO [Crawler.673.parsePageContext] currentContentHash=f9c48f8280eeb0c2e24d7405c660029d lastContentHash=3b34e4cdaf656287db8f6c6ff9a5fd54 2021-10-29 09:38:06 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:06 INFO [Crawler.931.saveDom] save to 20211027095159/206_AddShopActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.dom 2021-10-29 09:38:06 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:06 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:07 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:07 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:07 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:07 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddShopActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=999 2021-10-29 09:38:07 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 207 2021-10-29 09:38:07 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:07 INFO [Crawler.425.needReturn] urlStack=Stack(AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:07 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:07 INFO [Crawler.487.getAvailableElement] selected nodes size = 11 2021-10-29 09:38:07 INFO [Crawler.499.getAvailableElement] all - black elements size = 11 2021-10-29 09:38:07 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 11 2021-10-29 09:38:07 INFO [Crawler.590.getAvailableElement] all - backButton size=10 2021-10-29 09:38:07 INFO [Crawler.598.getAvailableElement] all - clicked size=8 2021-10-29 09:38:07 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:38:07 INFO [Crawler.843.crawl] found AddShopActivity.tag=TextView.depth=12.id=text_area.text=东城区 by first available element 2021-10-29 09:38:07 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:07 INFO [Crawler.996.doElementAction] current element = AddShopActivity.tag=TextView.depth=12.id=text_area.text=东城区 2021-10-29 09:38:07 INFO [Crawler.997.doElementAction] current index = 207 2021-10-29 09:38:07 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:07 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="东城区" and @resource-id="com.jlpay.merch:id/text_area"] 2021-10-29 09:38:07 INFO [Crawler.1000.doElementAction] current url = AddShopActivity 2021-10-29 09:38:07 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:38:07 INFO [Crawler.1002.doElementAction] current file name = AddShopActivity.tag=TextView.depth=12.id=text_area.text=东城区 2021-10-29 09:38:07 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:07 INFO [AppiumClient.53.findElementByURI] find by uri element= AddShopActivity.tag=TextView.depth=12.id=text_area.text=东城区 2021-10-29 09:38:07 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="东城区" and @resource-id="com.jlpay.merch:id/text_area"] 2021-10-29 09:38:07 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:07 INFO [Crawler.1080.doElementAction] mark 20211027095159/206_AddShopActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.clicked.png to 20211027095159/207_AddShopActivity.tag=TextView.depth=12.id=text_area.text=东城区.click.png 2021-10-29 09:38:07 INFO [AppiumClient.141.mark] read from 20211027095159/206_AddShopActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.clicked.png 2021-10-29 09:38:07 INFO [AppiumClient.154.mark] write png 20211027095159/206_AddShopActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.clicked.png 2021-10-29 09:38:07 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/207_AddShopActivity.tag=TextView.depth=12.id=text_area.text=东城区.click.png 2021-10-29 09:38:08 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:08 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="东城区" and @resource-id="com.jlpay.merch:id/text_area"]] 2021-10-29 09:38:08 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:08 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:09 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:09 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:09 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:09 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:09 INFO [Crawler.649.parsePageContext] url=AddShopActivity 2021-10-29 09:38:09 INFO [Crawler.673.parsePageContext] currentContentHash=eb5dfb4a4f4b980f8c2eba0b63f8aa1d lastContentHash=f9c48f8280eeb0c2e24d7405c660029d 2021-10-29 09:38:09 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:09 INFO [Crawler.931.saveDom] save to 20211027095159/207_AddShopActivity.tag=TextView.depth=12.id=text_area.text=东城区.dom 2021-10-29 09:38:09 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:09 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:10 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:10 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:10 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:10 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddShopActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:38:10 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 208 2021-10-29 09:38:10 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:10 INFO [Crawler.425.needReturn] urlStack=Stack(AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:10 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:10 INFO [Crawler.487.getAvailableElement] selected nodes size = 11 2021-10-29 09:38:10 INFO [Crawler.499.getAvailableElement] all - black elements size = 11 2021-10-29 09:38:10 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 11 2021-10-29 09:38:10 INFO [Crawler.590.getAvailableElement] all - backButton size=10 2021-10-29 09:38:10 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:38:10 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:38:10 INFO [Crawler.843.crawl] found AddShopActivity.tag=TextView.depth=12.id=text_city.text=北京市 by first available element 2021-10-29 09:38:10 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:10 INFO [Crawler.996.doElementAction] current element = AddShopActivity.tag=TextView.depth=12.id=text_city.text=北京市 2021-10-29 09:38:10 INFO [Crawler.997.doElementAction] current index = 208 2021-10-29 09:38:10 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:10 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="北京市" and @resource-id="com.jlpay.merch:id/text_city"] 2021-10-29 09:38:10 INFO [Crawler.1000.doElementAction] current url = AddShopActivity 2021-10-29 09:38:10 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:38:10 INFO [Crawler.1002.doElementAction] current file name = AddShopActivity.tag=TextView.depth=12.id=text_city.text=北京市 2021-10-29 09:38:10 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:10 INFO [AppiumClient.53.findElementByURI] find by uri element= AddShopActivity.tag=TextView.depth=12.id=text_city.text=北京市 2021-10-29 09:38:10 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="北京市" and @resource-id="com.jlpay.merch:id/text_city"] 2021-10-29 09:38:10 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:10 INFO [Crawler.1080.doElementAction] mark 20211027095159/207_AddShopActivity.tag=TextView.depth=12.id=text_area.text=东城区.clicked.png to 20211027095159/208_AddShopActivity.tag=TextView.depth=12.id=text_city.text=北京市.click.png 2021-10-29 09:38:10 INFO [AppiumClient.141.mark] read from 20211027095159/207_AddShopActivity.tag=TextView.depth=12.id=text_area.text=东城区.clicked.png 2021-10-29 09:38:10 INFO [AppiumClient.154.mark] write png 20211027095159/207_AddShopActivity.tag=TextView.depth=12.id=text_area.text=东城区.clicked.png 2021-10-29 09:38:10 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/208_AddShopActivity.tag=TextView.depth=12.id=text_city.text=北京市.click.png 2021-10-29 09:38:11 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:11 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="北京市" and @resource-id="com.jlpay.merch:id/text_city"]] 2021-10-29 09:38:11 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:11 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:11 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:11 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:11 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:11 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:11 INFO [Crawler.649.parsePageContext] url=AddShopActivity 2021-10-29 09:38:11 INFO [Crawler.673.parsePageContext] currentContentHash=ca564e9549ce1ec5d89d4fab5de3a18b lastContentHash=eb5dfb4a4f4b980f8c2eba0b63f8aa1d 2021-10-29 09:38:11 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:11 INFO [Crawler.931.saveDom] save to 20211027095159/208_AddShopActivity.tag=TextView.depth=12.id=text_city.text=北京市.dom 2021-10-29 09:38:12 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:12 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:12 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:12 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:12 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:12 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddShopActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=1 2021-10-29 09:38:12 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 209 2021-10-29 09:38:12 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:12 INFO [Crawler.425.needReturn] urlStack=Stack(AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:12 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:12 INFO [Crawler.487.getAvailableElement] selected nodes size = 11 2021-10-29 09:38:12 INFO [Crawler.499.getAvailableElement] all - black elements size = 11 2021-10-29 09:38:12 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 11 2021-10-29 09:38:12 INFO [Crawler.590.getAvailableElement] all - backButton size=10 2021-10-29 09:38:12 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:38:12 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:38:12 INFO [Crawler.843.crawl] found AddShopActivity.tag=TextView.depth=12.id=tv_search.text=查询 by first available element 2021-10-29 09:38:12 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:12 INFO [Crawler.996.doElementAction] current element = AddShopActivity.tag=TextView.depth=12.id=tv_search.text=查询 2021-10-29 09:38:12 INFO [Crawler.997.doElementAction] current index = 209 2021-10-29 09:38:12 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:12 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search"] 2021-10-29 09:38:12 INFO [Crawler.1000.doElementAction] current url = AddShopActivity 2021-10-29 09:38:12 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:38:12 INFO [Crawler.1002.doElementAction] current file name = AddShopActivity.tag=TextView.depth=12.id=tv_search.text=查询 2021-10-29 09:38:12 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:12 INFO [AppiumClient.53.findElementByURI] find by uri element= AddShopActivity.tag=TextView.depth=12.id=tv_search.text=查询 2021-10-29 09:38:12 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search"] 2021-10-29 09:38:12 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:12 INFO [Crawler.1080.doElementAction] mark 20211027095159/208_AddShopActivity.tag=TextView.depth=12.id=text_city.text=北京市.clicked.png to 20211027095159/209_AddShopActivity.tag=TextView.depth=12.id=tv_search.text=查询.click.png 2021-10-29 09:38:12 INFO [AppiumClient.141.mark] read from 20211027095159/208_AddShopActivity.tag=TextView.depth=12.id=text_city.text=北京市.clicked.png 2021-10-29 09:38:12 INFO [AppiumClient.154.mark] write png 20211027095159/208_AddShopActivity.tag=TextView.depth=12.id=text_city.text=北京市.clicked.png 2021-10-29 09:38:12 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/209_AddShopActivity.tag=TextView.depth=12.id=tv_search.text=查询.click.png 2021-10-29 09:38:13 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:13 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search"]] 2021-10-29 09:38:13 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:13 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:13 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:13 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:13 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:13 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:14 INFO [Crawler.649.parsePageContext] url=AddShopActivity 2021-10-29 09:38:14 INFO [Crawler.673.parsePageContext] currentContentHash=ca564e9549ce1ec5d89d4fab5de3a18b lastContentHash=ca564e9549ce1ec5d89d4fab5de3a18b 2021-10-29 09:38:14 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:38:14 INFO [Crawler.931.saveDom] save to 20211027095159/209_AddShopActivity.tag=TextView.depth=12.id=tv_search.text=查询.dom 2021-10-29 09:38:14 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:14 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:14 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:14 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:14 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:14 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddShopActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:38:14 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 210 2021-10-29 09:38:14 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:14 INFO [Crawler.425.needReturn] urlStack=Stack(AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:14 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:14 INFO [Crawler.487.getAvailableElement] selected nodes size = 11 2021-10-29 09:38:14 INFO [Crawler.499.getAvailableElement] all - black elements size = 11 2021-10-29 09:38:14 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 11 2021-10-29 09:38:14 INFO [Crawler.590.getAvailableElement] all - backButton size=10 2021-10-29 09:38:14 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:38:14 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:38:14 INFO [Crawler.843.crawl] found AddShopActivity.tag=EditText.depth=11.id=edit_shopname.text=清远白切鸡北京店 by first available element 2021-10-29 09:38:14 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:14 INFO [Crawler.996.doElementAction] current element = AddShopActivity.tag=EditText.depth=11.id=edit_shopname.text=清远白切鸡北京店 2021-10-29 09:38:14 INFO [Crawler.997.doElementAction] current index = 210 2021-10-29 09:38:14 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:14 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="清远白切鸡北京店" and @resource-id="com.jlpay.merch:id/edit_shopname"] 2021-10-29 09:38:14 INFO [Crawler.1000.doElementAction] current url = AddShopActivity 2021-10-29 09:38:14 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText 2021-10-29 09:38:14 INFO [Crawler.1002.doElementAction] current file name = AddShopActivity.tag=EditText.depth=11.id=edit_shopname.text=清远白切鸡北京店 2021-10-29 09:38:14 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:14 INFO [AppiumClient.53.findElementByURI] find by uri element= AddShopActivity.tag=EditText.depth=11.id=edit_shopname.text=清远白切鸡北京店 2021-10-29 09:38:14 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="清远白切鸡北京店" and @resource-id="com.jlpay.merch:id/edit_shopname"] 2021-10-29 09:38:15 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:15 INFO [Crawler.1080.doElementAction] mark 20211027095159/209_AddShopActivity.tag=TextView.depth=12.id=tv_search.text=查询.clicked.png to 20211027095159/210_AddShopActivity.tag=EditText.depth=11.id=edit_shopname.text=清远白切鸡北京店.click.png 2021-10-29 09:38:15 INFO [AppiumClient.141.mark] read from 20211027095159/209_AddShopActivity.tag=TextView.depth=12.id=tv_search.text=查询.clicked.png 2021-10-29 09:38:15 INFO [AppiumClient.154.mark] write png 20211027095159/209_AddShopActivity.tag=TextView.depth=12.id=tv_search.text=查询.clicked.png 2021-10-29 09:38:15 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/210_AddShopActivity.tag=EditText.depth=11.id=edit_shopname.text=清远白切鸡北京店.click.png 2021-10-29 09:38:15 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:15 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="清远白切鸡北京店" and @resource-id="com.jlpay.merch:id/edit_shopname"]] 2021-10-29 09:38:16 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:16 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:17 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:17 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:17 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:17 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:17 INFO [Crawler.649.parsePageContext] url=AddShopActivity 2021-10-29 09:38:17 INFO [Crawler.673.parsePageContext] currentContentHash=f9c48f8280eeb0c2e24d7405c660029d lastContentHash=ca564e9549ce1ec5d89d4fab5de3a18b 2021-10-29 09:38:17 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:17 INFO [Crawler.931.saveDom] save to 20211027095159/210_AddShopActivity.tag=EditText.depth=11.id=edit_shopname.text=清远白切鸡北京店.dom 2021-10-29 09:38:17 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:17 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:18 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddShopActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText]=3 2021-10-29 09:38:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 211 2021-10-29 09:38:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:18 INFO [Crawler.425.needReturn] urlStack=Stack(AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 11 2021-10-29 09:38:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 11 2021-10-29 09:38:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 11 2021-10-29 09:38:18 INFO [Crawler.590.getAvailableElement] all - backButton size=10 2021-10-29 09:38:18 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:38:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:38:18 INFO [Crawler.843.crawl] found AddShopActivity.tag=ImageView.depth=11.id=iv_add_shopphone by first available element 2021-10-29 09:38:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:18 INFO [Crawler.996.doElementAction] current element = AddShopActivity.tag=ImageView.depth=11.id=iv_add_shopphone 2021-10-29 09:38:18 INFO [Crawler.997.doElementAction] current index = 211 2021-10-29 09:38:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/iv_add_shopphone"] 2021-10-29 09:38:18 INFO [Crawler.1000.doElementAction] current url = AddShopActivity 2021-10-29 09:38:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:38:18 INFO [Crawler.1002.doElementAction] current file name = AddShopActivity.tag=ImageView.depth=11.id=iv_add_shopphone 2021-10-29 09:38:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:18 INFO [AppiumClient.53.findElementByURI] find by uri element= AddShopActivity.tag=ImageView.depth=11.id=iv_add_shopphone 2021-10-29 09:38:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/iv_add_shopphone"] 2021-10-29 09:38:18 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:18 INFO [Crawler.1080.doElementAction] mark 20211027095159/210_AddShopActivity.tag=EditText.depth=11.id=edit_shopname.text=清远白切鸡北京店.clicked.png to 20211027095159/211_AddShopActivity.tag=ImageView.depth=11.id=iv_add_shopphone.click.png 2021-10-29 09:38:18 INFO [AppiumClient.141.mark] read from 20211027095159/210_AddShopActivity.tag=EditText.depth=11.id=edit_shopname.text=清远白切鸡北京店.clicked.png 2021-10-29 09:38:18 INFO [AppiumClient.154.mark] write png 20211027095159/210_AddShopActivity.tag=EditText.depth=11.id=edit_shopname.text=清远白切鸡北京店.clicked.png 2021-10-29 09:38:18 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/211_AddShopActivity.tag=ImageView.depth=11.id=iv_add_shopphone.click.png 2021-10-29 09:38:18 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:18 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/iv_add_shopphone"]] 2021-10-29 09:38:18 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:18 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:19 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:19 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:19 INFO [Crawler.649.parsePageContext] url=AddShopActivity 2021-10-29 09:38:19 INFO [Crawler.673.parsePageContext] currentContentHash=975ff753ca507f98ceb7f7b7b6bff789 lastContentHash=f9c48f8280eeb0c2e24d7405c660029d 2021-10-29 09:38:19 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:19 INFO [Crawler.931.saveDom] save to 20211027095159/211_AddShopActivity.tag=ImageView.depth=11.id=iv_add_shopphone.dom 2021-10-29 09:38:19 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:19 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:20 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:20 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:20 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:20 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddShopActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView]=3 2021-10-29 09:38:20 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 212 2021-10-29 09:38:20 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:20 INFO [Crawler.425.needReturn] urlStack=Stack(AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:20 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:20 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:38:20 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:38:20 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:38:20 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:38:20 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:38:20 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:38:20 INFO [Crawler.843.crawl] found AddShopActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取 by first available element 2021-10-29 09:38:20 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:20 INFO [Crawler.996.doElementAction] current element = AddShopActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取 2021-10-29 09:38:20 INFO [Crawler.997.doElementAction] current index = 212 2021-10-29 09:38:20 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:20 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@text="从相册选取" and @resource-id="com.jlpay.merch:id/tv_album"] 2021-10-29 09:38:20 INFO [Crawler.1000.doElementAction] current url = AddShopActivity 2021-10-29 09:38:20 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:38:20 INFO [Crawler.1002.doElementAction] current file name = AddShopActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取 2021-10-29 09:38:20 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:20 INFO [AppiumClient.53.findElementByURI] find by uri element= AddShopActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取 2021-10-29 09:38:20 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@text="从相册选取" and @resource-id="com.jlpay.merch:id/tv_album"] 2021-10-29 09:38:20 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:20 INFO [Crawler.1080.doElementAction] mark 20211027095159/211_AddShopActivity.tag=ImageView.depth=11.id=iv_add_shopphone.clicked.png to 20211027095159/212_AddShopActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取.click.png 2021-10-29 09:38:20 INFO [AppiumClient.141.mark] read from 20211027095159/211_AddShopActivity.tag=ImageView.depth=11.id=iv_add_shopphone.clicked.png 2021-10-29 09:38:20 INFO [AppiumClient.154.mark] write png 20211027095159/211_AddShopActivity.tag=ImageView.depth=11.id=iv_add_shopphone.clicked.png 2021-10-29 09:38:20 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/212_AddShopActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取.click.png 2021-10-29 09:38:21 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:21 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@text="从相册选取" and @resource-id="com.jlpay.merch:id/tv_album"]] 2021-10-29 09:38:21 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:21 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:23 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:23 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:23 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:38:23 INFO [Crawler.673.parsePageContext] currentContentHash=553b5405c2d140e54b86831e6c01680e lastContentHash=975ff753ca507f98ceb7f7b7b6bff789 2021-10-29 09:38:23 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:23 INFO [Crawler.931.saveDom] save to 20211027095159/212_AddShopActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取.dom 2021-10-29 09:38:23 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:23 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:24 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:24 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:24 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:24 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 213 2021-10-29 09:38:24 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:24 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:24 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:24 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:38:24 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:38:24 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:38:24 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:38:24 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:38:24 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=22 2021-10-29 09:38:24 INFO [Crawler.843.crawl] found PickActivity.tag=ImageView.depth=18 by first available element 2021-10-29 09:38:24 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:24 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=ImageView.depth=18 2021-10-29 09:38:24 INFO [Crawler.997.doElementAction] current index = 213 2021-10-29 09:38:24 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:24 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/container_directory"]//*[@resource-id="com.google.android.documentsui:id/refresh_layout"]//*[@resource-id="com.google.android.documentsui:id/dir_list"]//*[@content-desc="IMG1635470988253.jpg, 354 kB, 09:29"]//*[@content-desc="预览“IMG1635470988253.jpg”文件" and @resource-id="com.google.android.documentsui:id/preview_icon"] 2021-10-29 09:38:24 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:38:24 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.ImageView 2021-10-29 09:38:24 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=ImageView.depth=18 2021-10-29 09:38:24 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:24 INFO [AppiumClient.53.findElementByURI] find by uri element= PickActivity.tag=ImageView.depth=18 2021-10-29 09:38:24 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/container_directory"]//*[@resource-id="com.google.android.documentsui:id/refresh_layout"]//*[@resource-id="com.google.android.documentsui:id/dir_list"]//*[@content-desc="IMG1635470988253.jpg, 354 kB, 09:29"]//*[@content-desc="预览“IMG1635470988253.jpg”文件" and @resource-id="com.google.android.documentsui:id/preview_icon"] 2021-10-29 09:38:24 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:24 INFO [Crawler.1080.doElementAction] mark 20211027095159/212_AddShopActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取.clicked.png to 20211027095159/213_PickActivity.tag=ImageView.depth=18.click.png 2021-10-29 09:38:24 INFO [AppiumClient.141.mark] read from 20211027095159/212_AddShopActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取.clicked.png 2021-10-29 09:38:24 INFO [AppiumClient.154.mark] write png 20211027095159/212_AddShopActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取.clicked.png 2021-10-29 09:38:24 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/213_PickActivity.tag=ImageView.depth=18.click.png 2021-10-29 09:38:25 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:25 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/container_directory"]//*[@resource-id="com.google.android.documentsui:id/refresh_layout"]//*[@resource-id="com.google.android.documentsui:id/dir_list"]//*[@content-desc="IMG1635470988253.jpg, 354 kB, 09:29"]//*[@content-desc="预览“IMG1635470988253.jpg”文件" and @resource-id="com.google.android.documentsui:id/preview_icon"]] 2021-10-29 09:38:26 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:26 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:26 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:26 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:26 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:26 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:26 INFO [Crawler.649.parsePageContext] url=ViewGallery 2021-10-29 09:38:26 INFO [Crawler.673.parsePageContext] currentContentHash=a242514d124471c7f1930f1889340530 lastContentHash=553b5405c2d140e54b86831e6c01680e 2021-10-29 09:38:26 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:26 INFO [Crawler.931.saveDom] save to 20211027095159/213_PickActivity.tag=ImageView.depth=18.dom 2021-10-29 09:38:26 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:26 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:27 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:27 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:27 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:27 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 214 2021-10-29 09:38:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:27 INFO [Crawler.425.needReturn] urlStack=Stack(ViewGallery, PickActivity, AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 0 2021-10-29 09:38:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 0 2021-10-29 09:38:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 0 2021-10-29 09:38:27 INFO [Crawler.590.getAvailableElement] all - backButton size=0 2021-10-29 09:38:27 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:38:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:38:27 INFO [Crawler.851.crawl] ViewGallery all elements had be clicked 2021-10-29 09:38:27 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:38:27 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:38:27 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:38:27 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:38:27 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:38:27 INFO [Crawler.996.doElementAction] current element = ViewGallery.tag=Back.id=Back 2021-10-29 09:38:27 INFO [Crawler.997.doElementAction] current index = 214 2021-10-29 09:38:27 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:38:27 INFO [Crawler.999.doElementAction] current xpath = Back-214 2021-10-29 09:38:27 INFO [Crawler.1000.doElementAction] current url = ViewGallery 2021-10-29 09:38:27 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:38:27 INFO [Crawler.1002.doElementAction] current file name = ViewGallery.tag=Back.id=Back 2021-10-29 09:38:27 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:38:27 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:38:28 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:38:28 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:28 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:28 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:29 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:29 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:29 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:38:29 INFO [Crawler.673.parsePageContext] currentContentHash=890e933c2e705b51cee78e182ac22193 lastContentHash=a242514d124471c7f1930f1889340530 2021-10-29 09:38:29 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:29 INFO [Crawler.931.saveDom] save to 20211027095159/214_ViewGallery.tag=Back.id=Back.dom 2021-10-29 09:38:29 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:29 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:30 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:30 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:38:30 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:30 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 215 2021-10-29 09:38:30 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:30 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:30 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:30 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:38:30 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:38:30 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:38:30 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:38:30 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:38:30 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:38:30 INFO [Crawler.843.crawl] found PickActivity.tag=TextView.depth=16.id=sub_menu_list.name=列表视图 by first available element 2021-10-29 09:38:30 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:30 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=TextView.depth=16.id=sub_menu_list.name=列表视图 2021-10-29 09:38:30 INFO [Crawler.997.doElementAction] current index = 215 2021-10-29 09:38:30 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:30 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/directory_header"]//*[@resource-id="com.google.android.documentsui:id/sub_menu"]//*[@content-desc="列表视图" and @resource-id="com.google.android.documentsui:id/sub_menu_list"] 2021-10-29 09:38:30 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:38:30 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/androidx.appcompat.widget.LinearLayoutCompat/android.widget.TextView 2021-10-29 09:38:30 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=TextView.depth=16.id=sub_menu_list.name=列表视图 2021-10-29 09:38:30 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:30 INFO [AppiumClient.53.findElementByURI] find by uri element= PickActivity.tag=TextView.depth=16.id=sub_menu_list.name=列表视图 2021-10-29 09:38:30 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/directory_header"]//*[@resource-id="com.google.android.documentsui:id/sub_menu"]//*[@content-desc="列表视图" and @resource-id="com.google.android.documentsui:id/sub_menu_list"] 2021-10-29 09:38:31 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:31 INFO [Crawler.1080.doElementAction] mark 20211027095159/214_ViewGallery.tag=Back.id=Back.clicked.png to 20211027095159/215_PickActivity.tag=TextView.depth=16.id=sub_menu_list.name=列表视图.click.png 2021-10-29 09:38:31 INFO [AppiumClient.141.mark] read from 20211027095159/214_ViewGallery.tag=Back.id=Back.clicked.png 2021-10-29 09:38:31 INFO [AppiumClient.154.mark] write png 20211027095159/214_ViewGallery.tag=Back.id=Back.clicked.png 2021-10-29 09:38:31 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/215_PickActivity.tag=TextView.depth=16.id=sub_menu_list.name=列表视图.click.png 2021-10-29 09:38:31 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:31 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/directory_header"]//*[@resource-id="com.google.android.documentsui:id/sub_menu"]//*[@content-desc="列表视图" and @resource-id="com.google.android.documentsui:id/sub_menu_list"]] 2021-10-29 09:38:31 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:31 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:32 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:32 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:32 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:32 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:32 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:38:32 INFO [Crawler.673.parsePageContext] currentContentHash=3ea31d540117ccab99ae3a3fc90a7e5b lastContentHash=890e933c2e705b51cee78e182ac22193 2021-10-29 09:38:32 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:32 INFO [Crawler.931.saveDom] save to 20211027095159/215_PickActivity.tag=TextView.depth=16.id=sub_menu_list.name=列表视图.dom 2021-10-29 09:38:32 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:32 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:33 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:33 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:33 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:33 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PickActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/androidx.appcompat.widget.LinearLayoutCompat/android.widget.TextView]=3 2021-10-29 09:38:33 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 216 2021-10-29 09:38:33 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:33 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:33 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:33 INFO [Crawler.487.getAvailableElement] selected nodes size = 12 2021-10-29 09:38:33 INFO [Crawler.499.getAvailableElement] all - black elements size = 12 2021-10-29 09:38:33 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 12 2021-10-29 09:38:33 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:38:33 INFO [Crawler.598.getAvailableElement] all - clicked size=12 2021-10-29 09:38:33 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=12 2021-10-29 09:38:33 INFO [Crawler.843.crawl] found PickActivity.tag=ImageView.depth=19 by first available element 2021-10-29 09:38:33 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:33 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=ImageView.depth=19 2021-10-29 09:38:33 INFO [Crawler.997.doElementAction] current index = 216 2021-10-29 09:38:33 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:33 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/container_directory"]//*[@resource-id="com.google.android.documentsui:id/refresh_layout"]//*[@resource-id="com.google.android.documentsui:id/dir_list"]//*[@resource-id="com.google.android.documentsui:id/item_root"]//*[@content-desc="预览“IMG1635470988253.jpg”文件" and @resource-id="com.google.android.documentsui:id/preview_icon"] 2021-10-29 09:38:33 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:38:33 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ImageView 2021-10-29 09:38:33 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=ImageView.depth=19 2021-10-29 09:38:33 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:33 INFO [AppiumClient.53.findElementByURI] find by uri element= PickActivity.tag=ImageView.depth=19 2021-10-29 09:38:33 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/container_directory"]//*[@resource-id="com.google.android.documentsui:id/refresh_layout"]//*[@resource-id="com.google.android.documentsui:id/dir_list"]//*[@resource-id="com.google.android.documentsui:id/item_root"]//*[@content-desc="预览“IMG1635470988253.jpg”文件" and @resource-id="com.google.android.documentsui:id/preview_icon"] 2021-10-29 09:38:33 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:33 INFO [Crawler.1080.doElementAction] mark 20211027095159/215_PickActivity.tag=TextView.depth=16.id=sub_menu_list.name=列表视图.clicked.png to 20211027095159/216_PickActivity.tag=ImageView.depth=19.click.png 2021-10-29 09:38:33 INFO [AppiumClient.141.mark] read from 20211027095159/215_PickActivity.tag=TextView.depth=16.id=sub_menu_list.name=列表视图.clicked.png 2021-10-29 09:38:33 INFO [AppiumClient.154.mark] write png 20211027095159/215_PickActivity.tag=TextView.depth=16.id=sub_menu_list.name=列表视图.clicked.png 2021-10-29 09:38:33 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/216_PickActivity.tag=ImageView.depth=19.click.png 2021-10-29 09:38:34 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:34 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/container_directory"]//*[@resource-id="com.google.android.documentsui:id/refresh_layout"]//*[@resource-id="com.google.android.documentsui:id/dir_list"]//*[@resource-id="com.google.android.documentsui:id/item_root"]//*[@content-desc="预览“IMG1635470988253.jpg”文件" and @resource-id="com.google.android.documentsui:id/preview_icon"]] 2021-10-29 09:38:34 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:34 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:35 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:35 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:35 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:35 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:35 INFO [Crawler.649.parsePageContext] url=ViewGallery 2021-10-29 09:38:35 INFO [Crawler.673.parsePageContext] currentContentHash=a242514d124471c7f1930f1889340530 lastContentHash=3ea31d540117ccab99ae3a3fc90a7e5b 2021-10-29 09:38:35 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:35 INFO [Crawler.931.saveDom] save to 20211027095159/216_PickActivity.tag=ImageView.depth=19.dom 2021-10-29 09:38:35 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:35 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:36 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:36 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:36 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:36 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 217 2021-10-29 09:38:36 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:36 INFO [Crawler.425.needReturn] urlStack=Stack(ViewGallery, PickActivity, AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:36 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:36 INFO [Crawler.487.getAvailableElement] selected nodes size = 0 2021-10-29 09:38:36 INFO [Crawler.499.getAvailableElement] all - black elements size = 0 2021-10-29 09:38:36 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 0 2021-10-29 09:38:36 INFO [Crawler.590.getAvailableElement] all - backButton size=0 2021-10-29 09:38:36 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:38:36 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:38:36 INFO [Crawler.851.crawl] ViewGallery all elements had be clicked 2021-10-29 09:38:36 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:38:36 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:38:36 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:38:36 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:38:36 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:38:36 INFO [Crawler.996.doElementAction] current element = ViewGallery.tag=Back.id=Back 2021-10-29 09:38:36 INFO [Crawler.997.doElementAction] current index = 217 2021-10-29 09:38:36 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:38:36 INFO [Crawler.999.doElementAction] current xpath = Back-217 2021-10-29 09:38:36 INFO [Crawler.1000.doElementAction] current url = ViewGallery 2021-10-29 09:38:36 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:38:36 INFO [Crawler.1002.doElementAction] current file name = ViewGallery.tag=Back.id=Back 2021-10-29 09:38:36 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:38:36 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:38:36 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:38:36 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:37 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:37 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:37 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:37 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:37 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:38:37 INFO [Crawler.673.parsePageContext] currentContentHash=3ea31d540117ccab99ae3a3fc90a7e5b lastContentHash=a242514d124471c7f1930f1889340530 2021-10-29 09:38:37 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:37 INFO [Crawler.931.saveDom] save to 20211027095159/217_ViewGallery.tag=Back.id=Back.dom 2021-10-29 09:38:38 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:38 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:38 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:38 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:38:38 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:38 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 218 2021-10-29 09:38:38 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:38 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:38 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:38 INFO [Crawler.487.getAvailableElement] selected nodes size = 12 2021-10-29 09:38:38 INFO [Crawler.499.getAvailableElement] all - black elements size = 12 2021-10-29 09:38:38 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 12 2021-10-29 09:38:38 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:38:38 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:38:38 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:38:38 INFO [Crawler.843.crawl] found PickActivity.tag=TextView.depth=16.id=sub_menu_grid.name=网格视图 by first available element 2021-10-29 09:38:38 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:38 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=TextView.depth=16.id=sub_menu_grid.name=网格视图 2021-10-29 09:38:38 INFO [Crawler.997.doElementAction] current index = 218 2021-10-29 09:38:38 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:38 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/directory_header"]//*[@resource-id="com.google.android.documentsui:id/sub_menu"]//*[@content-desc="网格视图" and @resource-id="com.google.android.documentsui:id/sub_menu_grid"] 2021-10-29 09:38:38 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:38:38 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/androidx.appcompat.widget.LinearLayoutCompat/android.widget.TextView 2021-10-29 09:38:38 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=TextView.depth=16.id=sub_menu_grid.name=网格视图 2021-10-29 09:38:38 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:38 INFO [AppiumClient.53.findElementByURI] find by uri element= PickActivity.tag=TextView.depth=16.id=sub_menu_grid.name=网格视图 2021-10-29 09:38:38 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/directory_header"]//*[@resource-id="com.google.android.documentsui:id/sub_menu"]//*[@content-desc="网格视图" and @resource-id="com.google.android.documentsui:id/sub_menu_grid"] 2021-10-29 09:38:39 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:39 INFO [Crawler.1080.doElementAction] mark 20211027095159/217_ViewGallery.tag=Back.id=Back.clicked.png to 20211027095159/218_PickActivity.tag=TextView.depth=16.id=sub_menu_grid.name=网格视图.click.png 2021-10-29 09:38:39 INFO [AppiumClient.141.mark] read from 20211027095159/217_ViewGallery.tag=Back.id=Back.clicked.png 2021-10-29 09:38:39 INFO [AppiumClient.154.mark] write png 20211027095159/217_ViewGallery.tag=Back.id=Back.clicked.png 2021-10-29 09:38:39 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/218_PickActivity.tag=TextView.depth=16.id=sub_menu_grid.name=网格视图.click.png 2021-10-29 09:38:39 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:39 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/directory_header"]//*[@resource-id="com.google.android.documentsui:id/sub_menu"]//*[@content-desc="网格视图" and @resource-id="com.google.android.documentsui:id/sub_menu_grid"]] 2021-10-29 09:38:39 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:39 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:40 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:40 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:40 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:41 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:41 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:38:41 INFO [Crawler.673.parsePageContext] currentContentHash=2cad1f6662d277fb5f4f734217c61a6f lastContentHash=3ea31d540117ccab99ae3a3fc90a7e5b 2021-10-29 09:38:41 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:41 INFO [Crawler.931.saveDom] save to 20211027095159/218_PickActivity.tag=TextView.depth=16.id=sub_menu_grid.name=网格视图.dom 2021-10-29 09:38:41 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:41 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:42 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:42 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:42 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:42 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PickActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/androidx.appcompat.widget.LinearLayoutCompat/android.widget.TextView]=2 2021-10-29 09:38:42 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 219 2021-10-29 09:38:42 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:42 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:42 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:42 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:38:42 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:38:42 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:38:42 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:38:42 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:38:42 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:38:42 INFO [Crawler.843.crawl] found PickActivity.tag=TextView.depth=14.id=option_menu_search.name=搜索 by first available element 2021-10-29 09:38:42 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:42 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=TextView.depth=14.id=option_menu_search.name=搜索 2021-10-29 09:38:42 INFO [Crawler.997.doElementAction] current index = 219 2021-10-29 09:38:42 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:42 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@content-desc="搜索" and @resource-id="com.google.android.documentsui:id/option_menu_search"] 2021-10-29 09:38:42 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:38:42 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.appcompat.widget.LinearLayoutCompat/android.widget.TextView 2021-10-29 09:38:42 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=TextView.depth=14.id=option_menu_search.name=搜索 2021-10-29 09:38:42 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:42 INFO [AppiumClient.53.findElementByURI] find by uri element= PickActivity.tag=TextView.depth=14.id=option_menu_search.name=搜索 2021-10-29 09:38:42 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@content-desc="搜索" and @resource-id="com.google.android.documentsui:id/option_menu_search"] 2021-10-29 09:38:42 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:42 INFO [Crawler.1080.doElementAction] mark 20211027095159/218_PickActivity.tag=TextView.depth=16.id=sub_menu_grid.name=网格视图.clicked.png to 20211027095159/219_PickActivity.tag=TextView.depth=14.id=option_menu_search.name=搜索.click.png 2021-10-29 09:38:42 INFO [AppiumClient.141.mark] read from 20211027095159/218_PickActivity.tag=TextView.depth=16.id=sub_menu_grid.name=网格视图.clicked.png 2021-10-29 09:38:42 INFO [AppiumClient.154.mark] write png 20211027095159/218_PickActivity.tag=TextView.depth=16.id=sub_menu_grid.name=网格视图.clicked.png 2021-10-29 09:38:42 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/219_PickActivity.tag=TextView.depth=14.id=option_menu_search.name=搜索.click.png 2021-10-29 09:38:43 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:43 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@content-desc="搜索" and @resource-id="com.google.android.documentsui:id/option_menu_search"]] 2021-10-29 09:38:43 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:43 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:43 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:43 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:43 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:43 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:44 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:38:44 INFO [Crawler.673.parsePageContext] currentContentHash=d474b63706b4db6341aa207c323c2612 lastContentHash=2cad1f6662d277fb5f4f734217c61a6f 2021-10-29 09:38:44 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:44 INFO [Crawler.931.saveDom] save to 20211027095159/219_PickActivity.tag=TextView.depth=14.id=option_menu_search.name=搜索.dom 2021-10-29 09:38:44 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:44 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:44 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:44 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:44 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:44 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PickActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.appcompat.widget.LinearLayoutCompat/android.widget.TextView]=3 2021-10-29 09:38:44 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 220 2021-10-29 09:38:44 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:44 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:44 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:44 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:38:44 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:38:44 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:38:44 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:38:44 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:38:44 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:38:44 INFO [Crawler.843.crawl] found PickActivity.tag=EditText.depth=17.id=search_src_text.text=搜索… by first available element 2021-10-29 09:38:44 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:44 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=EditText.depth=17.id=search_src_text.text=搜索… 2021-10-29 09:38:44 INFO [Crawler.997.doElementAction] current index = 220 2021-10-29 09:38:44 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:44 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@resource-id="com.google.android.documentsui:id/option_menu_search"]//*[@resource-id="com.google.android.documentsui:id/search_bar"]//*[@resource-id="com.google.android.documentsui:id/search_edit_frame"]//*[@resource-id="com.google.android.documentsui:id/search_plate"]//*[@text="搜索…" and @resource-id="com.google.android.documentsui:id/search_src_text"] 2021-10-29 09:38:44 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:38:44 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.appcompat.widget.LinearLayoutCompat/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:38:44 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=EditText.depth=17.id=search_src_text.text=搜索… 2021-10-29 09:38:44 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:44 INFO [AppiumClient.53.findElementByURI] find by uri element= PickActivity.tag=EditText.depth=17.id=search_src_text.text=搜索… 2021-10-29 09:38:44 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@resource-id="com.google.android.documentsui:id/option_menu_search"]//*[@resource-id="com.google.android.documentsui:id/search_bar"]//*[@resource-id="com.google.android.documentsui:id/search_edit_frame"]//*[@resource-id="com.google.android.documentsui:id/search_plate"]//*[@text="搜索…" and @resource-id="com.google.android.documentsui:id/search_src_text"] 2021-10-29 09:38:45 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:45 INFO [Crawler.1080.doElementAction] mark 20211027095159/219_PickActivity.tag=TextView.depth=14.id=option_menu_search.name=搜索.clicked.png to 20211027095159/220_PickActivity.tag=EditText.depth=17.id=search_src_text.text=搜索….click.png 2021-10-29 09:38:45 INFO [AppiumClient.141.mark] read from 20211027095159/219_PickActivity.tag=TextView.depth=14.id=option_menu_search.name=搜索.clicked.png 2021-10-29 09:38:45 INFO [AppiumClient.154.mark] write png 20211027095159/219_PickActivity.tag=TextView.depth=14.id=option_menu_search.name=搜索.clicked.png 2021-10-29 09:38:45 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/220_PickActivity.tag=EditText.depth=17.id=search_src_text.text=搜索….click.png 2021-10-29 09:38:45 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:45 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@resource-id="com.google.android.documentsui:id/option_menu_search"]//*[@resource-id="com.google.android.documentsui:id/search_bar"]//*[@resource-id="com.google.android.documentsui:id/search_edit_frame"]//*[@resource-id="com.google.android.documentsui:id/search_plate"]//*[@text="搜索…" and @resource-id="com.google.android.documentsui:id/search_src_text"]] 2021-10-29 09:38:46 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:46 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:47 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:47 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:47 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:47 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:47 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:38:47 INFO [Crawler.673.parsePageContext] currentContentHash=d474b63706b4db6341aa207c323c2612 lastContentHash=d474b63706b4db6341aa207c323c2612 2021-10-29 09:38:47 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:38:47 INFO [Crawler.931.saveDom] save to 20211027095159/220_PickActivity.tag=EditText.depth=17.id=search_src_text.text=搜索….dom 2021-10-29 09:38:47 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:47 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:48 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:48 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:48 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:48 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PickActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.appcompat.widget.LinearLayoutCompat/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:38:48 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 221 2021-10-29 09:38:48 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:48 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:48 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:48 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:38:48 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:38:48 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:38:48 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:38:48 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:38:48 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:38:48 INFO [Crawler.843.crawl] found PickActivity.tag=ImageButton.depth=13.name=返回 by first available element 2021-10-29 09:38:48 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:48 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=ImageButton.depth=13.name=返回 2021-10-29 09:38:48 INFO [Crawler.997.doElementAction] current index = 221 2021-10-29 09:38:48 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:48 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@content-desc="返回"] 2021-10-29 09:38:48 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:38:48 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.ImageButton 2021-10-29 09:38:48 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=ImageButton.depth=13.name=返回 2021-10-29 09:38:48 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:48 INFO [AppiumClient.53.findElementByURI] find by uri element= PickActivity.tag=ImageButton.depth=13.name=返回 2021-10-29 09:38:48 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@content-desc="返回"] 2021-10-29 09:38:48 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:48 INFO [Crawler.1080.doElementAction] mark 20211027095159/220_PickActivity.tag=EditText.depth=17.id=search_src_text.text=搜索….clicked.png to 20211027095159/221_PickActivity.tag=ImageButton.depth=13.name=返回.click.png 2021-10-29 09:38:48 INFO [AppiumClient.141.mark] read from 20211027095159/220_PickActivity.tag=EditText.depth=17.id=search_src_text.text=搜索….clicked.png 2021-10-29 09:38:48 INFO [AppiumClient.154.mark] write png 20211027095159/220_PickActivity.tag=EditText.depth=17.id=search_src_text.text=搜索….clicked.png 2021-10-29 09:38:48 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/221_PickActivity.tag=ImageButton.depth=13.name=返回.click.png 2021-10-29 09:38:48 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:48 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@content-desc="返回"]] 2021-10-29 09:38:48 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:48 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:49 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:49 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:49 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:49 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:50 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:38:50 INFO [Crawler.673.parsePageContext] currentContentHash=2cad1f6662d277fb5f4f734217c61a6f lastContentHash=d474b63706b4db6341aa207c323c2612 2021-10-29 09:38:50 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:50 INFO [Crawler.931.saveDom] save to 20211027095159/221_PickActivity.tag=ImageButton.depth=13.name=返回.dom 2021-10-29 09:38:50 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:50 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:50 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:50 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:50 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:50 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PickActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.ImageButton]=3 2021-10-29 09:38:50 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 222 2021-10-29 09:38:50 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:50 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:50 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:50 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:38:51 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:38:51 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:38:51 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:38:51 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:38:51 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:38:51 INFO [Crawler.843.crawl] found PickActivity.tag=ImageView.depth=14.name=更多选项 by first available element 2021-10-29 09:38:51 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:51 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=ImageView.depth=14.name=更多选项 2021-10-29 09:38:51 INFO [Crawler.997.doElementAction] current index = 222 2021-10-29 09:38:51 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:51 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@content-desc="更多选项"] 2021-10-29 09:38:51 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:38:51 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.appcompat.widget.LinearLayoutCompat/android.widget.ImageView 2021-10-29 09:38:51 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=ImageView.depth=14.name=更多选项 2021-10-29 09:38:51 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:51 INFO [AppiumClient.53.findElementByURI] find by uri element= PickActivity.tag=ImageView.depth=14.name=更多选项 2021-10-29 09:38:51 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@content-desc="更多选项"] 2021-10-29 09:38:51 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:51 INFO [Crawler.1080.doElementAction] mark 20211027095159/221_PickActivity.tag=ImageButton.depth=13.name=返回.clicked.png to 20211027095159/222_PickActivity.tag=ImageView.depth=14.name=更多选项.click.png 2021-10-29 09:38:51 INFO [AppiumClient.141.mark] read from 20211027095159/221_PickActivity.tag=ImageButton.depth=13.name=返回.clicked.png 2021-10-29 09:38:51 INFO [AppiumClient.154.mark] write png 20211027095159/221_PickActivity.tag=ImageButton.depth=13.name=返回.clicked.png 2021-10-29 09:38:51 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/222_PickActivity.tag=ImageView.depth=14.name=更多选项.click.png 2021-10-29 09:38:51 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:51 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@content-desc="更多选项"]] 2021-10-29 09:38:52 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:52 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:52 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:52 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:53 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:53 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:53 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:38:53 INFO [Crawler.673.parsePageContext] currentContentHash=2cad1f6662d277fb5f4f734217c61a6f lastContentHash=2cad1f6662d277fb5f4f734217c61a6f 2021-10-29 09:38:53 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:38:53 INFO [Crawler.931.saveDom] save to 20211027095159/222_PickActivity.tag=ImageView.depth=14.name=更多选项.dom 2021-10-29 09:38:53 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:53 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:54 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:54 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:54 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:54 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PickActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.appcompat.widget.LinearLayoutCompat/android.widget.ImageView]=3 2021-10-29 09:38:54 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 223 2021-10-29 09:38:54 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:38:54 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:38:54 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:38:54 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:38:54 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:38:54 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:38:54 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:38:54 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:38:54 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:38:54 INFO [Crawler.843.crawl] found PickActivity.tag=ImageButton.depth=13.name=显示根目录 by first available element 2021-10-29 09:38:54 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:38:54 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=ImageButton.depth=13.name=显示根目录 2021-10-29 09:38:54 INFO [Crawler.997.doElementAction] current index = 223 2021-10-29 09:38:54 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:38:54 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@content-desc="显示根目录"] 2021-10-29 09:38:54 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:38:54 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.ImageButton 2021-10-29 09:38:54 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=ImageButton.depth=13.name=显示根目录 2021-10-29 09:38:54 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:38:54 INFO [AppiumClient.53.findElementByURI] find by uri element= PickActivity.tag=ImageButton.depth=13.name=显示根目录 2021-10-29 09:38:54 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@content-desc="显示根目录"] 2021-10-29 09:38:54 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:38:54 INFO [Crawler.1080.doElementAction] mark 20211027095159/222_PickActivity.tag=ImageView.depth=14.name=更多选项.clicked.png to 20211027095159/223_PickActivity.tag=ImageButton.depth=13.name=显示根目录.click.png 2021-10-29 09:38:54 INFO [AppiumClient.141.mark] read from 20211027095159/222_PickActivity.tag=ImageView.depth=14.name=更多选项.clicked.png 2021-10-29 09:38:54 INFO [AppiumClient.154.mark] write png 20211027095159/222_PickActivity.tag=ImageView.depth=14.name=更多选项.clicked.png 2021-10-29 09:38:54 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/223_PickActivity.tag=ImageButton.depth=13.name=显示根目录.click.png 2021-10-29 09:38:55 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:38:55 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/toolbar"]//*[@content-desc="显示根目录"]] 2021-10-29 09:38:55 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:38:55 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:38:55 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:38:55 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:38:57 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:38:57 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:38:57 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:38:57 INFO [Crawler.673.parsePageContext] currentContentHash=0b3fbf6d3828fc4786493e0f8b008c79 lastContentHash=2cad1f6662d277fb5f4f734217c61a6f 2021-10-29 09:38:57 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:38:57 INFO [Crawler.931.saveDom] save to 20211027095159/223_PickActivity.tag=ImageButton.depth=13.name=显示根目录.dom 2021-10-29 09:38:57 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:38:57 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:38:58 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:38:58 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:38:58 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:38:58 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PickActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.ImageButton]=2 2021-10-29 09:38:58 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 224 2021-10-29 09:38:58 INFO [ReportPlugin.39.afterElementAction] 224-181 > 224/10+20 2021-10-29 09:38:58 INFO [ReportPlugin.40.afterElementAction] generate test report 2021-10-29 09:39:03 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:03 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:03 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:03 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:39:03 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:39:03 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:39:03 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:39:03 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:39:03 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:39:03 INFO [Crawler.851.crawl] PickActivity all elements had be clicked 2021-10-29 09:39:03 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:39:03 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:39:03 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:39:03 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:39:03 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:39:03 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=Back.id=Back 2021-10-29 09:39:03 INFO [Crawler.997.doElementAction] current index = 224 2021-10-29 09:39:03 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:39:03 INFO [Crawler.999.doElementAction] current xpath = Back-224 2021-10-29 09:39:03 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:39:03 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:39:03 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=Back.id=Back 2021-10-29 09:39:03 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:39:03 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:39:03 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:39:03 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:03 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:03 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:05 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:05 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:05 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:39:05 INFO [Crawler.673.parsePageContext] currentContentHash=2cad1f6662d277fb5f4f734217c61a6f lastContentHash=0b3fbf6d3828fc4786493e0f8b008c79 2021-10-29 09:39:05 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:39:05 INFO [Crawler.931.saveDom] save to 20211027095159/224_PickActivity.tag=Back.id=Back.dom 2021-10-29 09:39:05 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:05 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:06 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:06 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:39:06 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:06 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 225 2021-10-29 09:39:06 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:06 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:06 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:06 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:39:06 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:39:06 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:39:06 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:39:06 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:39:06 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:39:06 INFO [Crawler.851.crawl] PickActivity all elements had be clicked 2021-10-29 09:39:06 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:39:06 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:39:06 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:39:06 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:39:06 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:39:06 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=Back.id=Back 2021-10-29 09:39:06 INFO [Crawler.997.doElementAction] current index = 225 2021-10-29 09:39:06 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:39:06 INFO [Crawler.999.doElementAction] current xpath = Back-225 2021-10-29 09:39:06 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:39:06 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:39:06 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=Back.id=Back 2021-10-29 09:39:06 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:39:06 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:39:06 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:39:06 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:06 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:06 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:07 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:07 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:07 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:39:07 INFO [Crawler.673.parsePageContext] currentContentHash=1f4beb68d45f404b2ad240a8a2f98a67 lastContentHash=2cad1f6662d277fb5f4f734217c61a6f 2021-10-29 09:39:07 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:39:07 INFO [Crawler.931.saveDom] save to 20211027095159/225_PickActivity.tag=Back.id=Back.dom 2021-10-29 09:39:07 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:07 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:08 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:08 INFO [Crawler.709.afterElementAction] backRetry=2 2021-10-29 09:39:08 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:08 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 226 2021-10-29 09:39:08 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:08 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:08 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:08 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:39:08 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:39:08 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:39:08 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:39:08 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:39:08 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:39:08 INFO [Crawler.851.crawl] PickActivity all elements had be clicked 2021-10-29 09:39:08 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:39:08 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:39:08 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:39:08 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:39:08 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:39:08 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=Back.id=Back 2021-10-29 09:39:08 INFO [Crawler.997.doElementAction] current index = 226 2021-10-29 09:39:08 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:39:08 INFO [Crawler.999.doElementAction] current xpath = Back-226 2021-10-29 09:39:08 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:39:08 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:39:08 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=Back.id=Back 2021-10-29 09:39:08 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:39:08 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:39:09 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:39:09 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:09 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:09 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:10 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:10 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:10 INFO [Crawler.649.parsePageContext] url=AddShopActivity 2021-10-29 09:39:10 INFO [Crawler.673.parsePageContext] currentContentHash=f9c48f8280eeb0c2e24d7405c660029d lastContentHash=1f4beb68d45f404b2ad240a8a2f98a67 2021-10-29 09:39:10 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:39:10 INFO [Crawler.931.saveDom] save to 20211027095159/226_PickActivity.tag=Back.id=Back.dom 2021-10-29 09:39:10 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:10 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:11 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:11 INFO [Crawler.709.afterElementAction] backRetry=3 2021-10-29 09:39:11 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:11 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 227 2021-10-29 09:39:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:11 INFO [Crawler.425.needReturn] urlStack=Stack(AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 11 2021-10-29 09:39:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 11 2021-10-29 09:39:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 11 2021-10-29 09:39:11 INFO [Crawler.590.getAvailableElement] all - backButton size=10 2021-10-29 09:39:11 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:39:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:39:11 INFO [Crawler.843.crawl] found AddShopActivity.tag=CheckBox.depth=11.id=checkbox.text=全选 by first available element 2021-10-29 09:39:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:11 INFO [Crawler.996.doElementAction] current element = AddShopActivity.tag=CheckBox.depth=11.id=checkbox.text=全选 2021-10-29 09:39:11 INFO [Crawler.997.doElementAction] current index = 227 2021-10-29 09:39:11 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:11 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="全选" and @resource-id="com.jlpay.merch:id/checkbox"] 2021-10-29 09:39:11 INFO [Crawler.1000.doElementAction] current url = AddShopActivity 2021-10-29 09:39:11 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:39:11 INFO [Crawler.1002.doElementAction] current file name = AddShopActivity.tag=CheckBox.depth=11.id=checkbox.text=全选 2021-10-29 09:39:11 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:11 INFO [AppiumClient.53.findElementByURI] find by uri element= AddShopActivity.tag=CheckBox.depth=11.id=checkbox.text=全选 2021-10-29 09:39:11 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="全选" and @resource-id="com.jlpay.merch:id/checkbox"] 2021-10-29 09:39:11 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:11 INFO [Crawler.1080.doElementAction] mark 20211027095159/226_PickActivity.tag=Back.id=Back.clicked.png to 20211027095159/227_AddShopActivity.tag=CheckBox.depth=11.id=checkbox.text=全选.click.png 2021-10-29 09:39:11 INFO [AppiumClient.141.mark] read from 20211027095159/226_PickActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:39:11 INFO [AppiumClient.154.mark] write png 20211027095159/226_PickActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:39:11 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/227_AddShopActivity.tag=CheckBox.depth=11.id=checkbox.text=全选.click.png 2021-10-29 09:39:11 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:11 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="全选" and @resource-id="com.jlpay.merch:id/checkbox"]] 2021-10-29 09:39:11 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:11 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:12 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:12 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:12 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:12 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:12 INFO [Crawler.649.parsePageContext] url=AddShopActivity 2021-10-29 09:39:12 INFO [Crawler.673.parsePageContext] currentContentHash=f9c48f8280eeb0c2e24d7405c660029d lastContentHash=f9c48f8280eeb0c2e24d7405c660029d 2021-10-29 09:39:12 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:39:12 INFO [Crawler.931.saveDom] save to 20211027095159/227_AddShopActivity.tag=CheckBox.depth=11.id=checkbox.text=全选.dom 2021-10-29 09:39:12 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:12 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:13 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:13 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:13 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:13 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddShopActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=3 2021-10-29 09:39:13 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 228 2021-10-29 09:39:13 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:13 INFO [Crawler.425.needReturn] urlStack=Stack(AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:13 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:13 INFO [Crawler.487.getAvailableElement] selected nodes size = 11 2021-10-29 09:39:13 INFO [Crawler.499.getAvailableElement] all - black elements size = 11 2021-10-29 09:39:13 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 11 2021-10-29 09:39:13 INFO [Crawler.590.getAvailableElement] all - backButton size=10 2021-10-29 09:39:13 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:39:13 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:39:13 INFO [Crawler.843.crawl] found AddShopActivity.tag=EditText.depth=10.id=edit_detail_address.text=东城区甲一号路 by first available element 2021-10-29 09:39:13 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:13 INFO [Crawler.996.doElementAction] current element = AddShopActivity.tag=EditText.depth=10.id=edit_detail_address.text=东城区甲一号路 2021-10-29 09:39:13 INFO [Crawler.997.doElementAction] current index = 228 2021-10-29 09:39:13 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:13 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="东城区甲一号路" and @resource-id="com.jlpay.merch:id/edit_detail_address"] 2021-10-29 09:39:13 INFO [Crawler.1000.doElementAction] current url = AddShopActivity 2021-10-29 09:39:13 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:39:13 INFO [Crawler.1002.doElementAction] current file name = AddShopActivity.tag=EditText.depth=10.id=edit_detail_address.text=东城区甲一号路 2021-10-29 09:39:13 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:13 INFO [AppiumClient.53.findElementByURI] find by uri element= AddShopActivity.tag=EditText.depth=10.id=edit_detail_address.text=东城区甲一号路 2021-10-29 09:39:13 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="东城区甲一号路" and @resource-id="com.jlpay.merch:id/edit_detail_address"] 2021-10-29 09:39:13 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:13 INFO [Crawler.1080.doElementAction] mark 20211027095159/227_AddShopActivity.tag=CheckBox.depth=11.id=checkbox.text=全选.clicked.png to 20211027095159/228_AddShopActivity.tag=EditText.depth=10.id=edit_detail_address.text=东城区甲一号路.click.png 2021-10-29 09:39:13 INFO [AppiumClient.141.mark] read from 20211027095159/227_AddShopActivity.tag=CheckBox.depth=11.id=checkbox.text=全选.clicked.png 2021-10-29 09:39:13 INFO [AppiumClient.154.mark] write png 20211027095159/227_AddShopActivity.tag=CheckBox.depth=11.id=checkbox.text=全选.clicked.png 2021-10-29 09:39:13 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/228_AddShopActivity.tag=EditText.depth=10.id=edit_detail_address.text=东城区甲一号路.click.png 2021-10-29 09:39:14 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:14 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="东城区甲一号路" and @resource-id="com.jlpay.merch:id/edit_detail_address"]] 2021-10-29 09:39:14 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:14 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:15 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:15 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:15 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:15 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:15 INFO [Crawler.649.parsePageContext] url=AddShopActivity 2021-10-29 09:39:15 INFO [Crawler.673.parsePageContext] currentContentHash=f9c48f8280eeb0c2e24d7405c660029d lastContentHash=f9c48f8280eeb0c2e24d7405c660029d 2021-10-29 09:39:15 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:39:15 INFO [Crawler.931.saveDom] save to 20211027095159/228_AddShopActivity.tag=EditText.depth=10.id=edit_detail_address.text=东城区甲一号路.dom 2021-10-29 09:39:15 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:15 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:16 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:16 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:16 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:16 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddShopActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:39:16 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 229 2021-10-29 09:39:16 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:16 INFO [Crawler.425.needReturn] urlStack=Stack(AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:16 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:16 INFO [Crawler.487.getAvailableElement] selected nodes size = 11 2021-10-29 09:39:16 INFO [Crawler.499.getAvailableElement] all - black elements size = 11 2021-10-29 09:39:16 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 11 2021-10-29 09:39:16 INFO [Crawler.590.getAvailableElement] all - backButton size=10 2021-10-29 09:39:16 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:39:16 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:39:16 INFO [Crawler.843.crawl] found AddShopActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:39:16 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:16 INFO [Crawler.996.doElementAction] current element = AddShopActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:39:16 INFO [Crawler.997.doElementAction] current index = 229 2021-10-29 09:39:16 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:16 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:39:16 INFO [Crawler.1000.doElementAction] current url = AddShopActivity 2021-10-29 09:39:16 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:39:16 INFO [Crawler.1002.doElementAction] current file name = AddShopActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:39:16 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:16 INFO [AppiumClient.53.findElementByURI] find by uri element= AddShopActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:39:16 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:39:16 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:16 INFO [Crawler.1080.doElementAction] mark 20211027095159/228_AddShopActivity.tag=EditText.depth=10.id=edit_detail_address.text=东城区甲一号路.clicked.png to 20211027095159/229_AddShopActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:39:16 INFO [AppiumClient.141.mark] read from 20211027095159/228_AddShopActivity.tag=EditText.depth=10.id=edit_detail_address.text=东城区甲一号路.clicked.png 2021-10-29 09:39:16 INFO [AppiumClient.154.mark] write png 20211027095159/228_AddShopActivity.tag=EditText.depth=10.id=edit_detail_address.text=东城区甲一号路.clicked.png 2021-10-29 09:39:16 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/229_AddShopActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:39:17 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:17 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:39:17 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:17 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:17 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:17 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:17 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:17 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:17 INFO [Crawler.649.parsePageContext] url=AddShopActivity 2021-10-29 09:39:17 INFO [Crawler.673.parsePageContext] currentContentHash=f9c48f8280eeb0c2e24d7405c660029d lastContentHash=f9c48f8280eeb0c2e24d7405c660029d 2021-10-29 09:39:17 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:39:17 INFO [Crawler.931.saveDom] save to 20211027095159/229_AddShopActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:39:18 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:18 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:18 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddShopActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:39:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 230 2021-10-29 09:39:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:18 INFO [Crawler.425.needReturn] urlStack=Stack(AddShopActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 11 2021-10-29 09:39:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 11 2021-10-29 09:39:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 11 2021-10-29 09:39:18 INFO [Crawler.590.getAvailableElement] all - backButton size=10 2021-10-29 09:39:18 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:39:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:39:18 INFO [Crawler.851.crawl] AddShopActivity all elements had be clicked 2021-10-29 09:39:18 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:39:18 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:39:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:18 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:39:18 INFO [Crawler.996.doElementAction] current element = AddShopActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:39:18 INFO [Crawler.997.doElementAction] current index = 230 2021-10-29 09:39:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:39:18 INFO [Crawler.1000.doElementAction] current url = AddShopActivity 2021-10-29 09:39:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:39:18 INFO [Crawler.1002.doElementAction] current file name = AddShopActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:39:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:18 INFO [AppiumClient.53.findElementByURI] find by uri element= AddShopActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:39:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:39:18 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:18 INFO [Crawler.1080.doElementAction] mark 20211027095159/229_AddShopActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/230_AddShopActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:39:18 INFO [AppiumClient.141.mark] read from 20211027095159/229_AddShopActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:39:18 INFO [AppiumClient.154.mark] write png 20211027095159/229_AddShopActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:39:18 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/230_AddShopActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:39:19 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:19 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:39:19 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:19 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:20 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:20 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:20 INFO [Crawler.649.parsePageContext] url=ShopManagerActivity 2021-10-29 09:39:20 INFO [Crawler.673.parsePageContext] currentContentHash=7392c32738a7adf166e67b366d79c976 lastContentHash=f9c48f8280eeb0c2e24d7405c660029d 2021-10-29 09:39:20 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:39:20 INFO [Crawler.931.saveDom] save to 20211027095159/230_AddShopActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:39:20 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:20 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:21 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:21 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:21 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:21 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 231 2021-10-29 09:39:21 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:21 INFO [Crawler.425.needReturn] urlStack=Stack(ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:21 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:21 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:39:21 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:39:21 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:39:21 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:39:21 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:39:21 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:39:21 INFO [Crawler.843.crawl] found ShopManagerActivity.tag=TextView.depth=14.id=tv_delete.text=删除 by first available element 2021-10-29 09:39:21 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:21 INFO [Crawler.996.doElementAction] current element = ShopManagerActivity.tag=TextView.depth=14.id=tv_delete.text=删除 2021-10-29 09:39:21 INFO [Crawler.997.doElementAction] current index = 231 2021-10-29 09:39:21 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:21 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="删除" and @resource-id="com.jlpay.merch:id/tv_delete"] 2021-10-29 09:39:21 INFO [Crawler.1000.doElementAction] current url = ShopManagerActivity 2021-10-29 09:39:21 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:39:21 INFO [Crawler.1002.doElementAction] current file name = ShopManagerActivity.tag=TextView.depth=14.id=tv_delete.text=删除 2021-10-29 09:39:21 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:21 INFO [AppiumClient.53.findElementByURI] find by uri element= ShopManagerActivity.tag=TextView.depth=14.id=tv_delete.text=删除 2021-10-29 09:39:21 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="删除" and @resource-id="com.jlpay.merch:id/tv_delete"] 2021-10-29 09:39:21 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:21 INFO [Crawler.1080.doElementAction] mark 20211027095159/230_AddShopActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/231_ShopManagerActivity.tag=TextView.depth=14.id=tv_delete.text=删除.click.png 2021-10-29 09:39:21 INFO [AppiumClient.141.mark] read from 20211027095159/230_AddShopActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:39:21 INFO [AppiumClient.154.mark] write png 20211027095159/230_AddShopActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:39:21 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/231_ShopManagerActivity.tag=TextView.depth=14.id=tv_delete.text=删除.click.png 2021-10-29 09:39:21 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:21 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="删除" and @resource-id="com.jlpay.merch:id/tv_delete"]] 2021-10-29 09:39:21 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:21 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:22 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:22 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:22 INFO [Crawler.649.parsePageContext] url=ShopManagerActivity 2021-10-29 09:39:22 INFO [Crawler.673.parsePageContext] currentContentHash=c6647f49360b9e3d77aa4886d4457ce0 lastContentHash=7392c32738a7adf166e67b366d79c976 2021-10-29 09:39:22 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:39:22 INFO [Crawler.931.saveDom] save to 20211027095159/231_ShopManagerActivity.tag=TextView.depth=14.id=tv_delete.text=删除.dom 2021-10-29 09:39:22 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:22 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:22 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:22 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:22 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:22 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ShopManagerActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:39:22 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 232 2021-10-29 09:39:22 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:22 INFO [Crawler.425.needReturn] urlStack=Stack(ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:22 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:22 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:39:22 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:39:22 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:39:22 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:39:22 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:39:22 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:39:22 INFO [Crawler.843.crawl] found ShopManagerActivity.tag=Button.depth=8.id=positive_button.text=确认删除 by first available element 2021-10-29 09:39:22 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:22 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[ShopManagerActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=20 2021-10-29 09:39:22 INFO [Crawler.996.doElementAction] current element = ShopManagerActivity.tag=Button.depth=8.id=positive_button.text=确认删除 2021-10-29 09:39:22 INFO [Crawler.997.doElementAction] current index = 232 2021-10-29 09:39:22 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:22 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="确认删除" and @resource-id="com.jlpay.merch:id/positive_button"] 2021-10-29 09:39:22 INFO [Crawler.1000.doElementAction] current url = ShopManagerActivity 2021-10-29 09:39:22 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:39:22 INFO [Crawler.1002.doElementAction] current file name = ShopManagerActivity.tag=Button.depth=8.id=positive_button.text=确认删除 2021-10-29 09:39:22 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:22 INFO [AppiumClient.53.findElementByURI] find by uri element= ShopManagerActivity.tag=Button.depth=8.id=positive_button.text=确认删除 2021-10-29 09:39:22 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="确认删除" and @resource-id="com.jlpay.merch:id/positive_button"] 2021-10-29 09:39:22 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:23 INFO [Crawler.1080.doElementAction] mark 20211027095159/231_ShopManagerActivity.tag=TextView.depth=14.id=tv_delete.text=删除.clicked.png to 20211027095159/232_ShopManagerActivity.tag=Button.depth=8.id=positive_button.text=确认删除.click.png 2021-10-29 09:39:23 INFO [AppiumClient.141.mark] read from 20211027095159/231_ShopManagerActivity.tag=TextView.depth=14.id=tv_delete.text=删除.clicked.png 2021-10-29 09:39:23 INFO [AppiumClient.154.mark] write png 20211027095159/231_ShopManagerActivity.tag=TextView.depth=14.id=tv_delete.text=删除.clicked.png 2021-10-29 09:39:23 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/232_ShopManagerActivity.tag=Button.depth=8.id=positive_button.text=确认删除.click.png 2021-10-29 09:39:23 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:23 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="确认删除" and @resource-id="com.jlpay.merch:id/positive_button"]] 2021-10-29 09:39:23 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:23 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:23 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:23 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:24 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:24 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:24 INFO [Crawler.649.parsePageContext] url=ShopManagerActivity 2021-10-29 09:39:24 INFO [Crawler.673.parsePageContext] currentContentHash=d5e7a3b2cd0f732b2ce3d7ffc1c8924b lastContentHash=c6647f49360b9e3d77aa4886d4457ce0 2021-10-29 09:39:24 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:39:24 INFO [Crawler.931.saveDom] save to 20211027095159/232_ShopManagerActivity.tag=Button.depth=8.id=positive_button.text=确认删除.dom 2021-10-29 09:39:24 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:24 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:25 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:25 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:25 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:25 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ShopManagerActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=3 2021-10-29 09:39:25 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 233 2021-10-29 09:39:25 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:25 INFO [Crawler.425.needReturn] urlStack=Stack(ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:25 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:25 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:39:25 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:39:25 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:39:25 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:39:25 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:39:25 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:39:25 INFO [Crawler.843.crawl] found ShopManagerActivity.tag=TextView.depth=12.id=tv_look.text=查看终端 by first available element 2021-10-29 09:39:25 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:25 INFO [Crawler.996.doElementAction] current element = ShopManagerActivity.tag=TextView.depth=12.id=tv_look.text=查看终端 2021-10-29 09:39:25 INFO [Crawler.997.doElementAction] current index = 233 2021-10-29 09:39:25 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:25 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="查看终端" and @resource-id="com.jlpay.merch:id/tv_look"] 2021-10-29 09:39:25 INFO [Crawler.1000.doElementAction] current url = ShopManagerActivity 2021-10-29 09:39:25 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:39:25 INFO [Crawler.1002.doElementAction] current file name = ShopManagerActivity.tag=TextView.depth=12.id=tv_look.text=查看终端 2021-10-29 09:39:25 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:25 INFO [AppiumClient.53.findElementByURI] find by uri element= ShopManagerActivity.tag=TextView.depth=12.id=tv_look.text=查看终端 2021-10-29 09:39:25 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="查看终端" and @resource-id="com.jlpay.merch:id/tv_look"] 2021-10-29 09:39:26 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:26 INFO [Crawler.1080.doElementAction] mark 20211027095159/232_ShopManagerActivity.tag=Button.depth=8.id=positive_button.text=确认删除.clicked.png to 20211027095159/233_ShopManagerActivity.tag=TextView.depth=12.id=tv_look.text=查看终端.click.png 2021-10-29 09:39:26 INFO [AppiumClient.141.mark] read from 20211027095159/232_ShopManagerActivity.tag=Button.depth=8.id=positive_button.text=确认删除.clicked.png 2021-10-29 09:39:26 INFO [AppiumClient.154.mark] write png 20211027095159/232_ShopManagerActivity.tag=Button.depth=8.id=positive_button.text=确认删除.clicked.png 2021-10-29 09:39:26 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/233_ShopManagerActivity.tag=TextView.depth=12.id=tv_look.text=查看终端.click.png 2021-10-29 09:39:26 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:26 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="查看终端" and @resource-id="com.jlpay.merch:id/tv_look"]] 2021-10-29 09:39:26 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:26 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:27 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:27 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:27 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:27 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:27 INFO [Crawler.649.parsePageContext] url=ShopTerminalListActivity 2021-10-29 09:39:27 INFO [Crawler.673.parsePageContext] currentContentHash=1d480526f137677b08b096cb104f6d0b lastContentHash=d5e7a3b2cd0f732b2ce3d7ffc1c8924b 2021-10-29 09:39:27 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:39:27 INFO [Crawler.931.saveDom] save to 20211027095159/233_ShopManagerActivity.tag=TextView.depth=12.id=tv_look.text=查看终端.dom 2021-10-29 09:39:27 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:27 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:28 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:28 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:28 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:28 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 234 2021-10-29 09:39:28 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:28 INFO [Crawler.425.needReturn] urlStack=Stack(ShopTerminalListActivity, ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:28 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:28 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:39:28 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:39:28 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:39:28 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:39:28 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:39:28 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:39:28 INFO [Crawler.843.crawl] found ShopTerminalListActivity.tag=Button.depth=9.id=btn_comfirm.text=确认 by first available element 2021-10-29 09:39:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:28 INFO [Crawler.996.doElementAction] current element = ShopTerminalListActivity.tag=Button.depth=9.id=btn_comfirm.text=确认 2021-10-29 09:39:28 INFO [Crawler.997.doElementAction] current index = 234 2021-10-29 09:39:28 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:28 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_comfirm"] 2021-10-29 09:39:28 INFO [Crawler.1000.doElementAction] current url = ShopTerminalListActivity 2021-10-29 09:39:28 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:39:28 INFO [Crawler.1002.doElementAction] current file name = ShopTerminalListActivity.tag=Button.depth=9.id=btn_comfirm.text=确认 2021-10-29 09:39:28 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:28 INFO [AppiumClient.53.findElementByURI] find by uri element= ShopTerminalListActivity.tag=Button.depth=9.id=btn_comfirm.text=确认 2021-10-29 09:39:28 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_comfirm"] 2021-10-29 09:39:28 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:28 INFO [Crawler.1080.doElementAction] mark 20211027095159/233_ShopManagerActivity.tag=TextView.depth=12.id=tv_look.text=查看终端.clicked.png to 20211027095159/234_ShopTerminalListActivity.tag=Button.depth=9.id=btn_comfirm.text=确认.click.png 2021-10-29 09:39:28 INFO [AppiumClient.141.mark] read from 20211027095159/233_ShopManagerActivity.tag=TextView.depth=12.id=tv_look.text=查看终端.clicked.png 2021-10-29 09:39:28 INFO [AppiumClient.154.mark] write png 20211027095159/233_ShopManagerActivity.tag=TextView.depth=12.id=tv_look.text=查看终端.clicked.png 2021-10-29 09:39:28 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/234_ShopTerminalListActivity.tag=Button.depth=9.id=btn_comfirm.text=确认.click.png 2021-10-29 09:39:28 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:28 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_comfirm"]] 2021-10-29 09:39:28 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:28 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:29 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:29 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:29 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:29 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:29 INFO [Crawler.649.parsePageContext] url=ShopManagerActivity 2021-10-29 09:39:29 INFO [Crawler.673.parsePageContext] currentContentHash=db210ac9bcf79a30bd5b759032c05b2d lastContentHash=1d480526f137677b08b096cb104f6d0b 2021-10-29 09:39:29 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:39:29 INFO [Crawler.931.saveDom] save to 20211027095159/234_ShopTerminalListActivity.tag=Button.depth=9.id=btn_comfirm.text=确认.dom 2021-10-29 09:39:29 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:29 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:30 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:30 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:30 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:30 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 235 2021-10-29 09:39:30 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:30 INFO [Crawler.425.needReturn] urlStack=Stack(ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:30 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:30 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:39:30 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:39:30 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:39:30 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:39:30 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:39:30 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:39:30 INFO [Crawler.843.crawl] found ShopManagerActivity.tag=TextView.depth=9.id=tv_right.text=添加 by first available element 2021-10-29 09:39:30 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:30 INFO [Crawler.996.doElementAction] current element = ShopManagerActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:39:30 INFO [Crawler.997.doElementAction] current index = 235 2021-10-29 09:39:30 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:30 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:39:30 INFO [Crawler.1000.doElementAction] current url = ShopManagerActivity 2021-10-29 09:39:30 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:39:30 INFO [Crawler.1002.doElementAction] current file name = ShopManagerActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:39:30 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:30 INFO [AppiumClient.53.findElementByURI] find by uri element= ShopManagerActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:39:30 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:39:30 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:30 INFO [Crawler.1080.doElementAction] mark 20211027095159/234_ShopTerminalListActivity.tag=Button.depth=9.id=btn_comfirm.text=确认.clicked.png to 20211027095159/235_ShopManagerActivity.tag=TextView.depth=9.id=tv_right.text=添加.click.png 2021-10-29 09:39:30 INFO [AppiumClient.141.mark] read from 20211027095159/234_ShopTerminalListActivity.tag=Button.depth=9.id=btn_comfirm.text=确认.clicked.png 2021-10-29 09:39:30 INFO [AppiumClient.154.mark] write png 20211027095159/234_ShopTerminalListActivity.tag=Button.depth=9.id=btn_comfirm.text=确认.clicked.png 2021-10-29 09:39:30 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/235_ShopManagerActivity.tag=TextView.depth=9.id=tv_right.text=添加.click.png 2021-10-29 09:39:30 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:30 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:39:30 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:30 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:31 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:31 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:31 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:31 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:31 INFO [Crawler.649.parsePageContext] url=ShopManagerActivity 2021-10-29 09:39:31 INFO [Crawler.673.parsePageContext] currentContentHash=db210ac9bcf79a30bd5b759032c05b2d lastContentHash=db210ac9bcf79a30bd5b759032c05b2d 2021-10-29 09:39:31 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:39:31 INFO [Crawler.931.saveDom] save to 20211027095159/235_ShopManagerActivity.tag=TextView.depth=9.id=tv_right.text=添加.dom 2021-10-29 09:39:31 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:31 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:32 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:32 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:32 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:32 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ShopManagerActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:39:32 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 236 2021-10-29 09:39:32 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:32 INFO [Crawler.425.needReturn] urlStack=Stack(ShopManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:32 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:32 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:39:32 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:39:32 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:39:32 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:39:32 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:39:32 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:39:32 INFO [Crawler.851.crawl] ShopManagerActivity all elements had be clicked 2021-10-29 09:39:32 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:39:32 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:39:32 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:32 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:39:32 INFO [Crawler.996.doElementAction] current element = ShopManagerActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:39:32 INFO [Crawler.997.doElementAction] current index = 236 2021-10-29 09:39:32 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:32 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:39:32 INFO [Crawler.1000.doElementAction] current url = ShopManagerActivity 2021-10-29 09:39:32 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:39:32 INFO [Crawler.1002.doElementAction] current file name = ShopManagerActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:39:32 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:32 INFO [AppiumClient.53.findElementByURI] find by uri element= ShopManagerActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:39:32 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:39:32 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:32 INFO [Crawler.1080.doElementAction] mark 20211027095159/235_ShopManagerActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png to 20211027095159/236_ShopManagerActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:39:32 INFO [AppiumClient.141.mark] read from 20211027095159/235_ShopManagerActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png 2021-10-29 09:39:32 INFO [AppiumClient.154.mark] write png 20211027095159/235_ShopManagerActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png 2021-10-29 09:39:32 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/236_ShopManagerActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:39:32 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:32 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:39:32 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:32 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:32 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:32 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:33 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:33 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:33 INFO [Crawler.649.parsePageContext] url=AdvancedSettingActivity 2021-10-29 09:39:33 INFO [Crawler.673.parsePageContext] currentContentHash=a7e72e540b3671d0f799b38c650ea716 lastContentHash=db210ac9bcf79a30bd5b759032c05b2d 2021-10-29 09:39:33 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:39:33 INFO [Crawler.931.saveDom] save to 20211027095159/236_ShopManagerActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:39:33 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:33 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:34 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:34 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:34 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:34 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 237 2021-10-29 09:39:34 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:34 INFO [Crawler.425.needReturn] urlStack=Stack(AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:34 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:34 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:39:34 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:39:34 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:39:34 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:39:34 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:39:34 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:39:34 INFO [Crawler.843.crawl] found AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_assistant_manager.text=店员管理 by first available element 2021-10-29 09:39:34 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:34 INFO [Crawler.996.doElementAction] current element = AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_assistant_manager.text=店员管理 2021-10-29 09:39:34 INFO [Crawler.997.doElementAction] current index = 237 2021-10-29 09:39:34 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:34 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="店员管理" and @resource-id="com.jlpay.merch:id/tv_shop_assistant_manager"] 2021-10-29 09:39:34 INFO [Crawler.1000.doElementAction] current url = AdvancedSettingActivity 2021-10-29 09:39:34 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:39:34 INFO [Crawler.1002.doElementAction] current file name = AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_assistant_manager.text=店员管理 2021-10-29 09:39:34 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:34 INFO [AppiumClient.53.findElementByURI] find by uri element= AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_assistant_manager.text=店员管理 2021-10-29 09:39:34 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="店员管理" and @resource-id="com.jlpay.merch:id/tv_shop_assistant_manager"] 2021-10-29 09:39:34 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:34 INFO [Crawler.1080.doElementAction] mark 20211027095159/236_ShopManagerActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/237_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_assistant_manager.text=店员管理.click.png 2021-10-29 09:39:34 INFO [AppiumClient.141.mark] read from 20211027095159/236_ShopManagerActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:39:34 INFO [AppiumClient.154.mark] write png 20211027095159/236_ShopManagerActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:39:34 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/237_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_assistant_manager.text=店员管理.click.png 2021-10-29 09:39:34 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:34 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="店员管理" and @resource-id="com.jlpay.merch:id/tv_shop_assistant_manager"]] 2021-10-29 09:39:35 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:35 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:35 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:35 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:35 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:35 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:35 INFO [Crawler.649.parsePageContext] url=SubAccountManagerActivity 2021-10-29 09:39:35 INFO [Crawler.673.parsePageContext] currentContentHash=fa491cf1e5c3617c90a0f15e2335fb13 lastContentHash=a7e72e540b3671d0f799b38c650ea716 2021-10-29 09:39:35 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:39:35 INFO [Crawler.931.saveDom] save to 20211027095159/237_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_assistant_manager.text=店员管理.dom 2021-10-29 09:39:36 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:36 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:36 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:36 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:36 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:36 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 238 2021-10-29 09:39:36 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:36 INFO [Crawler.425.needReturn] urlStack=Stack(SubAccountManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:36 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:36 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:39:36 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:39:36 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:39:36 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:39:36 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:39:36 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:39:36 INFO [Crawler.843.crawl] found SubAccountManagerActivity.tag=TextView.depth=14.id=tv_send_sms.text=重发短信 by first available element 2021-10-29 09:39:36 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:36 INFO [Crawler.996.doElementAction] current element = SubAccountManagerActivity.tag=TextView.depth=14.id=tv_send_sms.text=重发短信 2021-10-29 09:39:36 INFO [Crawler.997.doElementAction] current index = 238 2021-10-29 09:39:36 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:36 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="重发短信" and @resource-id="com.jlpay.merch:id/tv_send_sms"] 2021-10-29 09:39:36 INFO [Crawler.1000.doElementAction] current url = SubAccountManagerActivity 2021-10-29 09:39:36 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:39:36 INFO [Crawler.1002.doElementAction] current file name = SubAccountManagerActivity.tag=TextView.depth=14.id=tv_send_sms.text=重发短信 2021-10-29 09:39:36 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:36 INFO [AppiumClient.53.findElementByURI] find by uri element= SubAccountManagerActivity.tag=TextView.depth=14.id=tv_send_sms.text=重发短信 2021-10-29 09:39:36 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="重发短信" and @resource-id="com.jlpay.merch:id/tv_send_sms"] 2021-10-29 09:39:36 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:36 INFO [Crawler.1080.doElementAction] mark 20211027095159/237_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_assistant_manager.text=店员管理.clicked.png to 20211027095159/238_SubAccountManagerActivity.tag=TextView.depth=14.id=tv_send_sms.text=重发短信.click.png 2021-10-29 09:39:36 INFO [AppiumClient.141.mark] read from 20211027095159/237_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_assistant_manager.text=店员管理.clicked.png 2021-10-29 09:39:36 INFO [AppiumClient.154.mark] write png 20211027095159/237_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_shop_assistant_manager.text=店员管理.clicked.png 2021-10-29 09:39:36 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/238_SubAccountManagerActivity.tag=TextView.depth=14.id=tv_send_sms.text=重发短信.click.png 2021-10-29 09:39:37 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:37 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="重发短信" and @resource-id="com.jlpay.merch:id/tv_send_sms"]] 2021-10-29 09:39:37 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:37 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:37 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:37 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:37 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:37 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:37 INFO [Crawler.649.parsePageContext] url=SubAccountManagerActivity 2021-10-29 09:39:37 INFO [Crawler.673.parsePageContext] currentContentHash=01088e55581470b370258b6695a453c7 lastContentHash=fa491cf1e5c3617c90a0f15e2335fb13 2021-10-29 09:39:37 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:39:37 INFO [Crawler.931.saveDom] save to 20211027095159/238_SubAccountManagerActivity.tag=TextView.depth=14.id=tv_send_sms.text=重发短信.dom 2021-10-29 09:39:37 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:37 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:38 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:38 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:38 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:38 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SubAccountManagerActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:39:38 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 239 2021-10-29 09:39:38 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:38 INFO [Crawler.425.needReturn] urlStack=Stack(SubAccountManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:38 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:38 INFO [Crawler.487.getAvailableElement] selected nodes size = 0 2021-10-29 09:39:38 INFO [Crawler.499.getAvailableElement] all - black elements size = 0 2021-10-29 09:39:38 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 0 2021-10-29 09:39:38 INFO [Crawler.590.getAvailableElement] all - backButton size=0 2021-10-29 09:39:38 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:39:38 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:39:38 INFO [Crawler.851.crawl] SubAccountManagerActivity all elements had be clicked 2021-10-29 09:39:38 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:39:38 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:39:38 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:39:38 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:39:38 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:39:38 INFO [Crawler.996.doElementAction] current element = SubAccountManagerActivity.tag=Back.id=Back 2021-10-29 09:39:38 INFO [Crawler.997.doElementAction] current index = 239 2021-10-29 09:39:38 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:39:38 INFO [Crawler.999.doElementAction] current xpath = Back-239 2021-10-29 09:39:38 INFO [Crawler.1000.doElementAction] current url = SubAccountManagerActivity 2021-10-29 09:39:38 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:39:38 INFO [Crawler.1002.doElementAction] current file name = SubAccountManagerActivity.tag=Back.id=Back 2021-10-29 09:39:38 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:39:38 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:39:39 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:39:39 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:39 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:39 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:39 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:39 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:39 INFO [Crawler.649.parsePageContext] url=AdvancedSettingActivity 2021-10-29 09:39:39 INFO [Crawler.673.parsePageContext] currentContentHash=75f3a024bfff55e582de652b029c014e lastContentHash=01088e55581470b370258b6695a453c7 2021-10-29 09:39:39 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:39:39 INFO [Crawler.931.saveDom] save to 20211027095159/239_SubAccountManagerActivity.tag=Back.id=Back.dom 2021-10-29 09:39:39 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:39 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:40 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:40 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:39:40 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:40 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 240 2021-10-29 09:39:40 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:40 INFO [Crawler.425.needReturn] urlStack=Stack(AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:40 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:40 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:39:40 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:39:40 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:39:40 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:39:40 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:39:40 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:39:40 INFO [Crawler.843.crawl] found AdvancedSettingActivity.tag=TextView.depth=9.id=tv_role_manager.text=角色管理 by first available element 2021-10-29 09:39:40 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:40 INFO [Crawler.996.doElementAction] current element = AdvancedSettingActivity.tag=TextView.depth=9.id=tv_role_manager.text=角色管理 2021-10-29 09:39:40 INFO [Crawler.997.doElementAction] current index = 240 2021-10-29 09:39:40 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:40 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="角色管理" and @resource-id="com.jlpay.merch:id/tv_role_manager"] 2021-10-29 09:39:40 INFO [Crawler.1000.doElementAction] current url = AdvancedSettingActivity 2021-10-29 09:39:40 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:39:40 INFO [Crawler.1002.doElementAction] current file name = AdvancedSettingActivity.tag=TextView.depth=9.id=tv_role_manager.text=角色管理 2021-10-29 09:39:40 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:40 INFO [AppiumClient.53.findElementByURI] find by uri element= AdvancedSettingActivity.tag=TextView.depth=9.id=tv_role_manager.text=角色管理 2021-10-29 09:39:40 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="角色管理" and @resource-id="com.jlpay.merch:id/tv_role_manager"] 2021-10-29 09:39:40 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:40 INFO [Crawler.1080.doElementAction] mark 20211027095159/239_SubAccountManagerActivity.tag=Back.id=Back.clicked.png to 20211027095159/240_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_role_manager.text=角色管理.click.png 2021-10-29 09:39:40 INFO [AppiumClient.141.mark] read from 20211027095159/239_SubAccountManagerActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:39:40 INFO [AppiumClient.154.mark] write png 20211027095159/239_SubAccountManagerActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:39:40 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/240_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_role_manager.text=角色管理.click.png 2021-10-29 09:39:40 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:40 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="角色管理" and @resource-id="com.jlpay.merch:id/tv_role_manager"]] 2021-10-29 09:39:41 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:41 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:42 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:42 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:42 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:42 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:42 INFO [Crawler.649.parsePageContext] url=RoleManagerActivity 2021-10-29 09:39:42 INFO [Crawler.673.parsePageContext] currentContentHash=e2962378d8e29388ff2837d0dbd736b1 lastContentHash=75f3a024bfff55e582de652b029c014e 2021-10-29 09:39:42 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:39:42 INFO [Crawler.931.saveDom] save to 20211027095159/240_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_role_manager.text=角色管理.dom 2021-10-29 09:39:42 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:42 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:43 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:43 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:43 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:43 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 241 2021-10-29 09:39:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:43 INFO [Crawler.425.needReturn] urlStack=Stack(RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:39:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:39:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:39:43 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:39:43 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:39:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:39:43 INFO [Crawler.843.crawl] found RoleManagerActivity.tag=TextView.depth=14.id=tv_role_edit.text=编辑 by first available element 2021-10-29 09:39:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:43 INFO [Crawler.996.doElementAction] current element = RoleManagerActivity.tag=TextView.depth=14.id=tv_role_edit.text=编辑 2021-10-29 09:39:43 INFO [Crawler.997.doElementAction] current index = 241 2021-10-29 09:39:43 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:43 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@text="编辑" and @resource-id="com.jlpay.merch:id/tv_role_edit"] 2021-10-29 09:39:43 INFO [Crawler.1000.doElementAction] current url = RoleManagerActivity 2021-10-29 09:39:43 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:39:43 INFO [Crawler.1002.doElementAction] current file name = RoleManagerActivity.tag=TextView.depth=14.id=tv_role_edit.text=编辑 2021-10-29 09:39:43 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:43 INFO [AppiumClient.53.findElementByURI] find by uri element= RoleManagerActivity.tag=TextView.depth=14.id=tv_role_edit.text=编辑 2021-10-29 09:39:43 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@text="编辑" and @resource-id="com.jlpay.merch:id/tv_role_edit"] 2021-10-29 09:39:43 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:43 INFO [Crawler.1080.doElementAction] mark 20211027095159/240_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_role_manager.text=角色管理.clicked.png to 20211027095159/241_RoleManagerActivity.tag=TextView.depth=14.id=tv_role_edit.text=编辑.click.png 2021-10-29 09:39:43 INFO [AppiumClient.141.mark] read from 20211027095159/240_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_role_manager.text=角色管理.clicked.png 2021-10-29 09:39:43 INFO [AppiumClient.154.mark] write png 20211027095159/240_AdvancedSettingActivity.tag=TextView.depth=9.id=tv_role_manager.text=角色管理.clicked.png 2021-10-29 09:39:43 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/241_RoleManagerActivity.tag=TextView.depth=14.id=tv_role_edit.text=编辑.click.png 2021-10-29 09:39:43 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:43 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/ll_head"]//*[@text="编辑" and @resource-id="com.jlpay.merch:id/tv_role_edit"]] 2021-10-29 09:39:43 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:43 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:43 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:43 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:44 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:44 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:44 INFO [Crawler.649.parsePageContext] url=AddRoleActivity 2021-10-29 09:39:44 INFO [Crawler.673.parsePageContext] currentContentHash=eb258265b80c5c28fc129c49b6ca7d79 lastContentHash=e2962378d8e29388ff2837d0dbd736b1 2021-10-29 09:39:44 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:39:44 INFO [Crawler.931.saveDom] save to 20211027095159/241_RoleManagerActivity.tag=TextView.depth=14.id=tv_role_edit.text=编辑.dom 2021-10-29 09:39:44 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:44 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:45 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:45 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:45 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:45 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 242 2021-10-29 09:39:45 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:45 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:45 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:45 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:45 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:45 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:45 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:45 INFO [Crawler.598.getAvailableElement] all - clicked size=24 2021-10-29 09:39:45 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=24 2021-10-29 09:39:45 INFO [Crawler.843.crawl] found AddRoleActivity.tag=EditText.depth=12.id=edt_role_name.text=CEO by first available element 2021-10-29 09:39:45 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:45 INFO [Crawler.996.doElementAction] current element = AddRoleActivity.tag=EditText.depth=12.id=edt_role_name.text=CEO 2021-10-29 09:39:45 INFO [Crawler.997.doElementAction] current index = 242 2021-10-29 09:39:45 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:45 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@text="CEO" and @resource-id="com.jlpay.merch:id/edt_role_name"] 2021-10-29 09:39:45 INFO [Crawler.1000.doElementAction] current url = AddRoleActivity 2021-10-29 09:39:45 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:39:45 INFO [Crawler.1002.doElementAction] current file name = AddRoleActivity.tag=EditText.depth=12.id=edt_role_name.text=CEO 2021-10-29 09:39:45 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:45 INFO [AppiumClient.53.findElementByURI] find by uri element= AddRoleActivity.tag=EditText.depth=12.id=edt_role_name.text=CEO 2021-10-29 09:39:45 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@text="CEO" and @resource-id="com.jlpay.merch:id/edt_role_name"] 2021-10-29 09:39:45 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:45 INFO [Crawler.1080.doElementAction] mark 20211027095159/241_RoleManagerActivity.tag=TextView.depth=14.id=tv_role_edit.text=编辑.clicked.png to 20211027095159/242_AddRoleActivity.tag=EditText.depth=12.id=edt_role_name.text=CEO.click.png 2021-10-29 09:39:45 INFO [AppiumClient.141.mark] read from 20211027095159/241_RoleManagerActivity.tag=TextView.depth=14.id=tv_role_edit.text=编辑.clicked.png 2021-10-29 09:39:45 INFO [AppiumClient.154.mark] write png 20211027095159/241_RoleManagerActivity.tag=TextView.depth=14.id=tv_role_edit.text=编辑.clicked.png 2021-10-29 09:39:45 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/242_AddRoleActivity.tag=EditText.depth=12.id=edt_role_name.text=CEO.click.png 2021-10-29 09:39:45 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:45 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@text="CEO" and @resource-id="com.jlpay.merch:id/edt_role_name"]] 2021-10-29 09:39:46 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:46 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:46 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:46 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:47 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:47 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:47 INFO [Crawler.649.parsePageContext] url=AddRoleActivity 2021-10-29 09:39:47 INFO [Crawler.673.parsePageContext] currentContentHash=eb258265b80c5c28fc129c49b6ca7d79 lastContentHash=eb258265b80c5c28fc129c49b6ca7d79 2021-10-29 09:39:47 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:39:47 INFO [Crawler.931.saveDom] save to 20211027095159/242_AddRoleActivity.tag=EditText.depth=12.id=edt_role_name.text=CEO.dom 2021-10-29 09:39:47 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:47 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:47 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:47 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:47 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:47 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:39:47 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 243 2021-10-29 09:39:47 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:47 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:47 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:47 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:47 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:47 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:47 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:47 INFO [Crawler.598.getAvailableElement] all - clicked size=23 2021-10-29 09:39:47 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=23 2021-10-29 09:39:47 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=关于我们 by first available element 2021-10-29 09:39:47 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:47 INFO [Crawler.996.doElementAction] current element = AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=关于我们 2021-10-29 09:39:47 INFO [Crawler.997.doElementAction] current index = 243 2021-10-29 09:39:47 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:47 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="关于我们" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:39:47 INFO [Crawler.1000.doElementAction] current url = AddRoleActivity 2021-10-29 09:39:47 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView 2021-10-29 09:39:47 INFO [Crawler.1002.doElementAction] current file name = AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=关于我们 2021-10-29 09:39:47 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:47 INFO [AppiumClient.53.findElementByURI] find by uri element= AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=关于我们 2021-10-29 09:39:47 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="关于我们" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:39:48 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:48 INFO [Crawler.1080.doElementAction] mark 20211027095159/242_AddRoleActivity.tag=EditText.depth=12.id=edt_role_name.text=CEO.clicked.png to 20211027095159/243_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=关于我们.click.png 2021-10-29 09:39:48 INFO [AppiumClient.141.mark] read from 20211027095159/242_AddRoleActivity.tag=EditText.depth=12.id=edt_role_name.text=CEO.clicked.png 2021-10-29 09:39:48 INFO [AppiumClient.154.mark] write png 20211027095159/242_AddRoleActivity.tag=EditText.depth=12.id=edt_role_name.text=CEO.clicked.png 2021-10-29 09:39:48 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/243_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=关于我们.click.png 2021-10-29 09:39:48 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:48 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="关于我们" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:39:48 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:48 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:49 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:49 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:49 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:49 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:49 INFO [Crawler.649.parsePageContext] url=AddRoleActivity 2021-10-29 09:39:49 INFO [Crawler.673.parsePageContext] currentContentHash=eb258265b80c5c28fc129c49b6ca7d79 lastContentHash=eb258265b80c5c28fc129c49b6ca7d79 2021-10-29 09:39:49 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:39:49 INFO [Crawler.931.saveDom] save to 20211027095159/243_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=关于我们.dom 2021-10-29 09:39:49 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:49 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:50 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:50 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:50 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:50 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=3 2021-10-29 09:39:50 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 244 2021-10-29 09:39:50 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:50 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:50 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:50 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:50 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:50 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:50 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:50 INFO [Crawler.598.getAvailableElement] all - clicked size=22 2021-10-29 09:39:50 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=22 2021-10-29 09:39:50 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=嘉联支付App by first available element 2021-10-29 09:39:50 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:50 INFO [Crawler.996.doElementAction] current element = AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=嘉联支付App 2021-10-29 09:39:50 INFO [Crawler.997.doElementAction] current index = 244 2021-10-29 09:39:50 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:50 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="嘉联支付App" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:39:50 INFO [Crawler.1000.doElementAction] current url = AddRoleActivity 2021-10-29 09:39:50 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView 2021-10-29 09:39:50 INFO [Crawler.1002.doElementAction] current file name = AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=嘉联支付App 2021-10-29 09:39:50 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:50 INFO [AppiumClient.53.findElementByURI] find by uri element= AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=嘉联支付App 2021-10-29 09:39:50 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="嘉联支付App" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:39:50 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:50 INFO [Crawler.1080.doElementAction] mark 20211027095159/243_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=关于我们.clicked.png to 20211027095159/244_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=嘉联支付App.click.png 2021-10-29 09:39:50 INFO [AppiumClient.141.mark] read from 20211027095159/243_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=关于我们.clicked.png 2021-10-29 09:39:50 INFO [AppiumClient.154.mark] write png 20211027095159/243_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=关于我们.clicked.png 2021-10-29 09:39:50 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/244_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=嘉联支付App.click.png 2021-10-29 09:39:50 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:50 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="嘉联支付App" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:39:51 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:51 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:51 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:51 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:52 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:52 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:52 INFO [Crawler.649.parsePageContext] url=AddRoleActivity 2021-10-29 09:39:52 INFO [Crawler.673.parsePageContext] currentContentHash=eb258265b80c5c28fc129c49b6ca7d79 lastContentHash=eb258265b80c5c28fc129c49b6ca7d79 2021-10-29 09:39:52 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:39:52 INFO [Crawler.931.saveDom] save to 20211027095159/244_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=嘉联支付App.dom 2021-10-29 09:39:52 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:52 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:53 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:53 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:53 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:53 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=2 2021-10-29 09:39:53 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 245 2021-10-29 09:39:53 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:53 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:53 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:53 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:53 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:53 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:53 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:53 INFO [Crawler.598.getAvailableElement] all - clicked size=21 2021-10-29 09:39:53 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=21 2021-10-29 09:39:53 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=消息中心 by first available element 2021-10-29 09:39:53 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:53 INFO [Crawler.996.doElementAction] current element = AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=消息中心 2021-10-29 09:39:53 INFO [Crawler.997.doElementAction] current index = 245 2021-10-29 09:39:53 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:53 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="消息中心" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:39:53 INFO [Crawler.1000.doElementAction] current url = AddRoleActivity 2021-10-29 09:39:53 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView 2021-10-29 09:39:53 INFO [Crawler.1002.doElementAction] current file name = AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=消息中心 2021-10-29 09:39:53 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:53 INFO [AppiumClient.53.findElementByURI] find by uri element= AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=消息中心 2021-10-29 09:39:53 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="消息中心" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:39:53 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:53 INFO [Crawler.1080.doElementAction] mark 20211027095159/244_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=嘉联支付App.clicked.png to 20211027095159/245_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=消息中心.click.png 2021-10-29 09:39:53 INFO [AppiumClient.141.mark] read from 20211027095159/244_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=嘉联支付App.clicked.png 2021-10-29 09:39:53 INFO [AppiumClient.154.mark] write png 20211027095159/244_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=嘉联支付App.clicked.png 2021-10-29 09:39:53 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/245_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=消息中心.click.png 2021-10-29 09:39:53 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:53 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="消息中心" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:39:53 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:53 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:54 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:54 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:54 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:54 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:54 INFO [Crawler.649.parsePageContext] url=AddRoleActivity 2021-10-29 09:39:54 INFO [Crawler.673.parsePageContext] currentContentHash=eb258265b80c5c28fc129c49b6ca7d79 lastContentHash=eb258265b80c5c28fc129c49b6ca7d79 2021-10-29 09:39:54 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:39:54 INFO [Crawler.931.saveDom] save to 20211027095159/245_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=消息中心.dom 2021-10-29 09:39:54 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:54 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:55 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:55 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:55 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:55 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=1 2021-10-29 09:39:55 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 246 2021-10-29 09:39:55 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:55 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:55 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:55 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:55 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:55 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:55 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:55 INFO [Crawler.598.getAvailableElement] all - clicked size=20 2021-10-29 09:39:55 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=20 2021-10-29 09:39:55 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=账户信息 by first available element 2021-10-29 09:39:55 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:55 INFO [Crawler.996.doElementAction] current element = AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=账户信息 2021-10-29 09:39:55 INFO [Crawler.997.doElementAction] current index = 246 2021-10-29 09:39:55 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:55 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="账户信息" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:39:55 INFO [Crawler.1000.doElementAction] current url = AddRoleActivity 2021-10-29 09:39:55 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView 2021-10-29 09:39:55 INFO [Crawler.1002.doElementAction] current file name = AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=账户信息 2021-10-29 09:39:55 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:55 INFO [AppiumClient.53.findElementByURI] find by uri element= AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=账户信息 2021-10-29 09:39:55 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="账户信息" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:39:55 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:55 INFO [Crawler.1080.doElementAction] mark 20211027095159/245_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=消息中心.clicked.png to 20211027095159/246_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=账户信息.click.png 2021-10-29 09:39:55 INFO [AppiumClient.141.mark] read from 20211027095159/245_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=消息中心.clicked.png 2021-10-29 09:39:55 INFO [AppiumClient.154.mark] write png 20211027095159/245_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=消息中心.clicked.png 2021-10-29 09:39:55 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/246_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=账户信息.click.png 2021-10-29 09:39:56 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:56 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@text="账户信息" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:39:56 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:56 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:57 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:57 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:57 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:57 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:57 INFO [Crawler.649.parsePageContext] url=AddRoleActivity 2021-10-29 09:39:57 INFO [Crawler.673.parsePageContext] currentContentHash=eb258265b80c5c28fc129c49b6ca7d79 lastContentHash=eb258265b80c5c28fc129c49b6ca7d79 2021-10-29 09:39:57 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:39:57 INFO [Crawler.931.saveDom] save to 20211027095159/246_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=账户信息.dom 2021-10-29 09:39:57 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:57 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:39:57 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:39:57 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:39:57 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:39:57 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:57 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 247 2021-10-29 09:39:57 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:57 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:57 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:57 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:57 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:57 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:57 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:57 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:57 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=19 2021-10-29 09:39:57 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=提现记录 by first available element 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:57 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:57 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=提现记录 need skip 2021-10-29 09:39:57 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:57 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:57 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:57 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:57 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:57 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:57 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:57 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:57 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:57 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=18 2021-10-29 09:39:57 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=收支明细 by first available element 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:57 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:57 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=收支明细 need skip 2021-10-29 09:39:57 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:57 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:57 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:57 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:57 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:57 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:57 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:57 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:57 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:57 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=17 2021-10-29 09:39:57 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=子账号管理 by first available element 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:57 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:57 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=子账号管理 need skip 2021-10-29 09:39:57 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:57 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:57 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:57 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:57 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:57 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:57 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:57 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:57 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:57 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=16 2021-10-29 09:39:57 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=安全设置 by first available element 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:57 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:57 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=安全设置 need skip 2021-10-29 09:39:57 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:57 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:57 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:57 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:57 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:57 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:57 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:57 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:57 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:57 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=15 2021-10-29 09:39:57 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=角色管理 by first available element 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:57 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:57 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=角色管理 need skip 2021-10-29 09:39:57 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:57 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:57 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:57 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:58 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:58 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=14 2021-10-29 09:39:58 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=账户余额 by first available element 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:58 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=账户余额 need skip 2021-10-29 09:39:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:58 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:58 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:58 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=13 2021-10-29 09:39:58 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=设备管理 by first available element 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:58 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=设备管理 need skip 2021-10-29 09:39:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:58 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:58 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:58 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=12 2021-10-29 09:39:58 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=语音播报 by first available element 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:58 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=语音播报 need skip 2021-10-29 09:39:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:58 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:58 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:58 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=11 2021-10-29 09:39:58 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=耗材配件 by first available element 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:58 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=耗材配件 need skip 2021-10-29 09:39:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:58 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:58 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:58 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=10 2021-10-29 09:39:58 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=商户升级 by first available element 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:58 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=商户升级 need skip 2021-10-29 09:39:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:58 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:58 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:58 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:39:58 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=门店管理 by first available element 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:58 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=门店管理 need skip 2021-10-29 09:39:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:58 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:58 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:58 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:39:58 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=帮助中心 by first available element 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:58 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=帮助中心 need skip 2021-10-29 09:39:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:58 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:58 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:58 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:39:58 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=退款 by first available element 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:58 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=退款 need skip 2021-10-29 09:39:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:58 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:58 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:58 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:39:58 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=扫码 by first available element 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:58 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=扫码 need skip 2021-10-29 09:39:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:58 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:58 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:58 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:39:58 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=会员营销 by first available element 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:58 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=会员营销 need skip 2021-10-29 09:39:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:58 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:58 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:58 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:39:58 INFO [Crawler.843.crawl] found AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=账单 by first available element 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.TextView]=0 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:39:58 INFO [TagLimitPlugin.45.beforeElementAction] AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=账单 need skip 2021-10-29 09:39:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:39:58 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:39:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:39:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:39:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:39:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:39:58 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:39:58 INFO [Crawler.598.getAvailableElement] all - clicked size=19 2021-10-29 09:39:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:39:58 INFO [Crawler.843.crawl] found AddRoleActivity.tag=CheckBox.depth=11.id=cb_select_all.text=全选 by first available element 2021-10-29 09:39:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:39:58 INFO [Crawler.996.doElementAction] current element = AddRoleActivity.tag=CheckBox.depth=11.id=cb_select_all.text=全选 2021-10-29 09:39:58 INFO [Crawler.997.doElementAction] current index = 247 2021-10-29 09:39:58 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:39:58 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@text="全选" and @resource-id="com.jlpay.merch:id/cb_select_all"] 2021-10-29 09:39:58 INFO [Crawler.1000.doElementAction] current url = AddRoleActivity 2021-10-29 09:39:58 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:39:58 INFO [Crawler.1002.doElementAction] current file name = AddRoleActivity.tag=CheckBox.depth=11.id=cb_select_all.text=全选 2021-10-29 09:39:58 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:39:58 INFO [AppiumClient.53.findElementByURI] find by uri element= AddRoleActivity.tag=CheckBox.depth=11.id=cb_select_all.text=全选 2021-10-29 09:39:58 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@text="全选" and @resource-id="com.jlpay.merch:id/cb_select_all"] 2021-10-29 09:39:58 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:39:58 INFO [Crawler.1080.doElementAction] mark 20211027095159/246_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=账户信息.clicked.png to 20211027095159/247_AddRoleActivity.tag=CheckBox.depth=11.id=cb_select_all.text=全选.click.png 2021-10-29 09:39:58 INFO [AppiumClient.141.mark] read from 20211027095159/246_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=账户信息.clicked.png 2021-10-29 09:39:58 INFO [AppiumClient.154.mark] write png 20211027095159/246_AddRoleActivity.tag=TextView.depth=12.id=tv_right.text=账户信息.clicked.png 2021-10-29 09:39:58 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/247_AddRoleActivity.tag=CheckBox.depth=11.id=cb_select_all.text=全选.click.png 2021-10-29 09:39:58 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:39:58 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_content"]//*[@text="全选" and @resource-id="com.jlpay.merch:id/cb_select_all"]] 2021-10-29 09:39:58 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:39:58 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:39:59 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:39:59 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:39:59 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:39:59 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:39:59 INFO [Crawler.649.parsePageContext] url=AddRoleActivity 2021-10-29 09:39:59 INFO [Crawler.673.parsePageContext] currentContentHash=eb258265b80c5c28fc129c49b6ca7d79 lastContentHash=eb258265b80c5c28fc129c49b6ca7d79 2021-10-29 09:39:59 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:39:59 INFO [Crawler.931.saveDom] save to 20211027095159/247_AddRoleActivity.tag=CheckBox.depth=11.id=cb_select_all.text=全选.dom 2021-10-29 09:39:59 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:39:59 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:00 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:00 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:00 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:00 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.CheckBox]=3 2021-10-29 09:40:00 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 248 2021-10-29 09:40:00 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:00 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:00 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:00 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:40:00 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:40:00 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:40:00 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:40:00 INFO [Crawler.598.getAvailableElement] all - clicked size=18 2021-10-29 09:40:00 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:40:00 INFO [Crawler.843.crawl] found AddRoleActivity.tag=Button.depth=10.id=btn_comfirm.text=确认 by first available element 2021-10-29 09:40:00 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:00 INFO [Crawler.996.doElementAction] current element = AddRoleActivity.tag=Button.depth=10.id=btn_comfirm.text=确认 2021-10-29 09:40:00 INFO [Crawler.997.doElementAction] current index = 248 2021-10-29 09:40:00 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:00 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_comfirm"] 2021-10-29 09:40:00 INFO [Crawler.1000.doElementAction] current url = AddRoleActivity 2021-10-29 09:40:00 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.Button 2021-10-29 09:40:00 INFO [Crawler.1002.doElementAction] current file name = AddRoleActivity.tag=Button.depth=10.id=btn_comfirm.text=确认 2021-10-29 09:40:00 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:00 INFO [AppiumClient.53.findElementByURI] find by uri element= AddRoleActivity.tag=Button.depth=10.id=btn_comfirm.text=确认 2021-10-29 09:40:00 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_comfirm"] 2021-10-29 09:40:00 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:00 INFO [Crawler.1080.doElementAction] mark 20211027095159/247_AddRoleActivity.tag=CheckBox.depth=11.id=cb_select_all.text=全选.clicked.png to 20211027095159/248_AddRoleActivity.tag=Button.depth=10.id=btn_comfirm.text=确认.click.png 2021-10-29 09:40:00 INFO [AppiumClient.141.mark] read from 20211027095159/247_AddRoleActivity.tag=CheckBox.depth=11.id=cb_select_all.text=全选.clicked.png 2021-10-29 09:40:00 INFO [AppiumClient.154.mark] write png 20211027095159/247_AddRoleActivity.tag=CheckBox.depth=11.id=cb_select_all.text=全选.clicked.png 2021-10-29 09:40:00 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/248_AddRoleActivity.tag=Button.depth=10.id=btn_comfirm.text=确认.click.png 2021-10-29 09:40:00 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:00 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_comfirm"]] 2021-10-29 09:40:01 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:01 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:01 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:01 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:01 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:01 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:01 INFO [Crawler.649.parsePageContext] url=AddRoleActivity 2021-10-29 09:40:01 INFO [Crawler.673.parsePageContext] currentContentHash=01088e55581470b370258b6695a453c7 lastContentHash=eb258265b80c5c28fc129c49b6ca7d79 2021-10-29 09:40:01 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:40:01 INFO [Crawler.931.saveDom] save to 20211027095159/248_AddRoleActivity.tag=Button.depth=10.id=btn_comfirm.text=确认.dom 2021-10-29 09:40:01 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:01 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:02 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:02 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:02 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:02 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddRoleActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.RelativeLayout/android.widget.Button]=3 2021-10-29 09:40:02 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 249 2021-10-29 09:40:02 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:02 INFO [Crawler.425.needReturn] urlStack=Stack(AddRoleActivity, RoleManagerActivity, AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:02 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:02 INFO [Crawler.487.getAvailableElement] selected nodes size = 0 2021-10-29 09:40:02 INFO [Crawler.499.getAvailableElement] all - black elements size = 0 2021-10-29 09:40:02 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 0 2021-10-29 09:40:02 INFO [Crawler.590.getAvailableElement] all - backButton size=0 2021-10-29 09:40:02 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:40:02 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:40:02 INFO [Crawler.851.crawl] AddRoleActivity all elements had be clicked 2021-10-29 09:40:02 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:40:02 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:40:02 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:40:02 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:40:02 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:40:02 INFO [Crawler.996.doElementAction] current element = AddRoleActivity.tag=Back.id=Back 2021-10-29 09:40:02 INFO [Crawler.997.doElementAction] current index = 249 2021-10-29 09:40:02 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:40:02 INFO [Crawler.999.doElementAction] current xpath = Back-249 2021-10-29 09:40:02 INFO [Crawler.1000.doElementAction] current url = AddRoleActivity 2021-10-29 09:40:02 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:40:02 INFO [Crawler.1002.doElementAction] current file name = AddRoleActivity.tag=Back.id=Back 2021-10-29 09:40:02 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:40:02 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:40:04 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:40:04 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:04 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:04 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:05 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:05 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:05 INFO [Crawler.649.parsePageContext] url=AdvancedSettingActivity 2021-10-29 09:40:05 INFO [Crawler.673.parsePageContext] currentContentHash=8fb9dfa971648aac9c1b2f1660b4029f lastContentHash=01088e55581470b370258b6695a453c7 2021-10-29 09:40:05 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:40:05 INFO [Crawler.931.saveDom] save to 20211027095159/249_AddRoleActivity.tag=Back.id=Back.dom 2021-10-29 09:40:05 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:05 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:05 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:05 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:40:05 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:05 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 250 2021-10-29 09:40:05 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:05 INFO [Crawler.425.needReturn] urlStack=Stack(AdvancedSettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:05 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:05 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:40:05 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:40:05 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:40:05 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:40:05 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:40:05 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:40:05 INFO [Crawler.851.crawl] AdvancedSettingActivity all elements had be clicked 2021-10-29 09:40:05 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:40:05 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:40:05 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:05 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:40:05 INFO [Crawler.996.doElementAction] current element = AdvancedSettingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:40:05 INFO [Crawler.997.doElementAction] current index = 250 2021-10-29 09:40:05 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:05 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:40:05 INFO [Crawler.1000.doElementAction] current url = AdvancedSettingActivity 2021-10-29 09:40:05 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:40:05 INFO [Crawler.1002.doElementAction] current file name = AdvancedSettingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:40:05 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:05 INFO [AppiumClient.53.findElementByURI] find by uri element= AdvancedSettingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:40:05 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:40:05 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:05 INFO [Crawler.1080.doElementAction] mark 20211027095159/249_AddRoleActivity.tag=Back.id=Back.clicked.png to 20211027095159/250_AdvancedSettingActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:40:05 INFO [AppiumClient.141.mark] read from 20211027095159/249_AddRoleActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:40:05 INFO [AppiumClient.154.mark] write png 20211027095159/249_AddRoleActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:40:05 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/250_AdvancedSettingActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:40:06 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:06 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:40:06 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:06 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:06 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:06 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:07 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:07 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:07 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:40:07 INFO [Crawler.673.parsePageContext] currentContentHash=45b2efbd12c26f918782a09c5b9377e8 lastContentHash=8fb9dfa971648aac9c1b2f1660b4029f 2021-10-29 09:40:07 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:40:07 INFO [Crawler.931.saveDom] save to 20211027095159/250_AdvancedSettingActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:40:07 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:07 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:08 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:08 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:08 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:08 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 251 2021-10-29 09:40:08 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:08 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:08 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:08 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:40:08 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:40:08 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:40:08 INFO [Crawler.590.getAvailableElement] all - backButton size=25 2021-10-29 09:40:08 INFO [Crawler.598.getAvailableElement] all - clicked size=16 2021-10-29 09:40:08 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=16 2021-10-29 09:40:08 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_name.text=汇总结算 by first available element 2021-10-29 09:40:08 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:08 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_name.text=汇总结算 2021-10-29 09:40:08 INFO [Crawler.997.doElementAction] current index = 251 2021-10-29 09:40:08 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:08 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="汇总结算" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:40:08 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:40:08 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:40:08 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_name.text=汇总结算 2021-10-29 09:40:08 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:08 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_name.text=汇总结算 2021-10-29 09:40:08 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="汇总结算" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:40:08 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:08 INFO [Crawler.1080.doElementAction] mark 20211027095159/250_AdvancedSettingActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/251_MainActivity.tag=TextView.depth=16.id=tv_name.text=汇总结算.click.png 2021-10-29 09:40:08 INFO [AppiumClient.141.mark] read from 20211027095159/250_AdvancedSettingActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:40:08 INFO [AppiumClient.154.mark] write png 20211027095159/250_AdvancedSettingActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:40:08 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/251_MainActivity.tag=TextView.depth=16.id=tv_name.text=汇总结算.click.png 2021-10-29 09:40:08 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:08 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="汇总结算" and @resource-id="com.jlpay.merch:id/tv_name"]] 2021-10-29 09:40:09 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:09 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:10 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:10 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:10 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:10 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:10 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:10 INFO [Crawler.673.parsePageContext] currentContentHash=63206695fcbe9efbe7a0b62db5ce7037 lastContentHash=45b2efbd12c26f918782a09c5b9377e8 2021-10-29 09:40:10 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:40:10 INFO [Crawler.931.saveDom] save to 20211027095159/251_MainActivity.tag=TextView.depth=16.id=tv_name.text=汇总结算.dom 2021-10-29 09:40:10 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:10 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:11 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:11 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:11 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:11 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 252 2021-10-29 09:40:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:11 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:40:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:40:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:40:11 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:40:11 INFO [Crawler.598.getAvailableElement] all - clicked size=12 2021-10-29 09:40:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=12 2021-10-29 09:40:11 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=CheckBox.depth=16.id=ckbox_termianl_unbind by first available element 2021-10-29 09:40:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:11 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=CheckBox.depth=16.id=ckbox_termianl_unbind 2021-10-29 09:40:11 INFO [Crawler.997.doElementAction] current index = 252 2021-10-29 09:40:11 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:11 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_terminal_no"]//*[@resource-id="com.jlpay.merch:id/recy_terminal"]//*[@resource-id="com.jlpay.merch:id/ckbox_termianl_unbind"] 2021-10-29 09:40:11 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:11 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:40:11 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=CheckBox.depth=16.id=ckbox_termianl_unbind 2021-10-29 09:40:11 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:11 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=CheckBox.depth=16.id=ckbox_termianl_unbind 2021-10-29 09:40:11 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_terminal_no"]//*[@resource-id="com.jlpay.merch:id/recy_terminal"]//*[@resource-id="com.jlpay.merch:id/ckbox_termianl_unbind"] 2021-10-29 09:40:11 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:11 INFO [Crawler.1080.doElementAction] mark 20211027095159/251_MainActivity.tag=TextView.depth=16.id=tv_name.text=汇总结算.clicked.png to 20211027095159/252_TotalSettlementActivity.tag=CheckBox.depth=16.id=ckbox_termianl_unbind.click.png 2021-10-29 09:40:11 INFO [AppiumClient.141.mark] read from 20211027095159/251_MainActivity.tag=TextView.depth=16.id=tv_name.text=汇总结算.clicked.png 2021-10-29 09:40:11 INFO [AppiumClient.154.mark] write png 20211027095159/251_MainActivity.tag=TextView.depth=16.id=tv_name.text=汇总结算.clicked.png 2021-10-29 09:40:11 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/252_TotalSettlementActivity.tag=CheckBox.depth=16.id=ckbox_termianl_unbind.click.png 2021-10-29 09:40:11 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:11 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_terminal_no"]//*[@resource-id="com.jlpay.merch:id/recy_terminal"]//*[@resource-id="com.jlpay.merch:id/ckbox_termianl_unbind"]] 2021-10-29 09:40:11 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:11 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:12 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:12 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:12 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:12 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:12 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:12 INFO [Crawler.673.parsePageContext] currentContentHash=63206695fcbe9efbe7a0b62db5ce7037 lastContentHash=63206695fcbe9efbe7a0b62db5ce7037 2021-10-29 09:40:12 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:40:12 INFO [Crawler.931.saveDom] save to 20211027095159/252_TotalSettlementActivity.tag=CheckBox.depth=16.id=ckbox_termianl_unbind.dom 2021-10-29 09:40:12 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:12 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:13 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:13 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:13 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:13 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=3 2021-10-29 09:40:13 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 253 2021-10-29 09:40:13 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:13 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:13 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:13 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:40:13 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:40:13 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:40:13 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:40:13 INFO [Crawler.598.getAvailableElement] all - clicked size=11 2021-10-29 09:40:13 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=11 2021-10-29 09:40:13 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=TextView.depth=14.id=tv_start_time.text=00:00:00 by first available element 2021-10-29 09:40:13 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:13 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=TextView.depth=14.id=tv_start_time.text=00:00:00 2021-10-29 09:40:13 INFO [Crawler.997.doElementAction] current index = 253 2021-10-29 09:40:13 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:13 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@text="00:00:00" and @resource-id="com.jlpay.merch:id/tv_start_time"] 2021-10-29 09:40:13 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:13 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:40:13 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=TextView.depth=14.id=tv_start_time.text=00:00:00 2021-10-29 09:40:13 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:13 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=TextView.depth=14.id=tv_start_time.text=00:00:00 2021-10-29 09:40:13 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@text="00:00:00" and @resource-id="com.jlpay.merch:id/tv_start_time"] 2021-10-29 09:40:13 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:13 INFO [Crawler.1080.doElementAction] mark 20211027095159/252_TotalSettlementActivity.tag=CheckBox.depth=16.id=ckbox_termianl_unbind.clicked.png to 20211027095159/253_TotalSettlementActivity.tag=TextView.depth=14.id=tv_start_time.text=00:00:00.click.png 2021-10-29 09:40:13 INFO [AppiumClient.141.mark] read from 20211027095159/252_TotalSettlementActivity.tag=CheckBox.depth=16.id=ckbox_termianl_unbind.clicked.png 2021-10-29 09:40:13 INFO [AppiumClient.154.mark] write png 20211027095159/252_TotalSettlementActivity.tag=CheckBox.depth=16.id=ckbox_termianl_unbind.clicked.png 2021-10-29 09:40:13 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/253_TotalSettlementActivity.tag=TextView.depth=14.id=tv_start_time.text=00:00:00.click.png 2021-10-29 09:40:14 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:14 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@text="00:00:00" and @resource-id="com.jlpay.merch:id/tv_start_time"]] 2021-10-29 09:40:14 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:14 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:14 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:14 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:15 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:15 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:15 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:15 INFO [Crawler.673.parsePageContext] currentContentHash=e56dbeb6a10c5b73cd7e6cbffba4ed15 lastContentHash=63206695fcbe9efbe7a0b62db5ce7037 2021-10-29 09:40:15 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:40:15 INFO [Crawler.931.saveDom] save to 20211027095159/253_TotalSettlementActivity.tag=TextView.depth=14.id=tv_start_time.text=00:00:00.dom 2021-10-29 09:40:15 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:15 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:16 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:16 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:16 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:16 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:40:16 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 254 2021-10-29 09:40:16 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:16 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:16 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:16 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:40:16 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:40:16 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:40:16 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:40:16 INFO [Crawler.598.getAvailableElement] all - clicked size=12 2021-10-29 09:40:16 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=12 2021-10-29 09:40:16 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=TextView.depth=14.id=tv_end_time.text=23:59:59 by first available element 2021-10-29 09:40:16 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:16 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=TextView.depth=14.id=tv_end_time.text=23:59:59 2021-10-29 09:40:16 INFO [Crawler.997.doElementAction] current index = 254 2021-10-29 09:40:16 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:16 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@text="23:59:59" and @resource-id="com.jlpay.merch:id/tv_end_time"] 2021-10-29 09:40:16 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:16 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:40:16 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=TextView.depth=14.id=tv_end_time.text=23:59:59 2021-10-29 09:40:16 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:16 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=TextView.depth=14.id=tv_end_time.text=23:59:59 2021-10-29 09:40:16 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@text="23:59:59" and @resource-id="com.jlpay.merch:id/tv_end_time"] 2021-10-29 09:40:16 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:16 INFO [Crawler.1080.doElementAction] mark 20211027095159/253_TotalSettlementActivity.tag=TextView.depth=14.id=tv_start_time.text=00:00:00.clicked.png to 20211027095159/254_TotalSettlementActivity.tag=TextView.depth=14.id=tv_end_time.text=23:59:59.click.png 2021-10-29 09:40:16 INFO [AppiumClient.141.mark] read from 20211027095159/253_TotalSettlementActivity.tag=TextView.depth=14.id=tv_start_time.text=00:00:00.clicked.png 2021-10-29 09:40:16 INFO [AppiumClient.154.mark] write png 20211027095159/253_TotalSettlementActivity.tag=TextView.depth=14.id=tv_start_time.text=00:00:00.clicked.png 2021-10-29 09:40:16 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/254_TotalSettlementActivity.tag=TextView.depth=14.id=tv_end_time.text=23:59:59.click.png 2021-10-29 09:40:16 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:16 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@text="23:59:59" and @resource-id="com.jlpay.merch:id/tv_end_time"]] 2021-10-29 09:40:16 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:16 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:17 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:17 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:17 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:17 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:17 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:17 INFO [Crawler.673.parsePageContext] currentContentHash=63206695fcbe9efbe7a0b62db5ce7037 lastContentHash=e56dbeb6a10c5b73cd7e6cbffba4ed15 2021-10-29 09:40:17 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:40:17 INFO [Crawler.931.saveDom] save to 20211027095159/254_TotalSettlementActivity.tag=TextView.depth=14.id=tv_end_time.text=23:59:59.dom 2021-10-29 09:40:18 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:18 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:18 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:40:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 255 2021-10-29 09:40:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:18 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:40:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:40:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:40:18 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:40:18 INFO [Crawler.598.getAvailableElement] all - clicked size=9 2021-10-29 09:40:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:40:18 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=TextView.depth=14.id=tv_search.text=查询 by first available element 2021-10-29 09:40:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:18 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=TextView.depth=14.id=tv_search.text=查询 2021-10-29 09:40:18 INFO [Crawler.997.doElementAction] current index = 255 2021-10-29 09:40:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_terminal_no"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search"] 2021-10-29 09:40:18 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:40:18 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=TextView.depth=14.id=tv_search.text=查询 2021-10-29 09:40:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:18 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=TextView.depth=14.id=tv_search.text=查询 2021-10-29 09:40:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_terminal_no"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search"] 2021-10-29 09:40:19 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:19 INFO [Crawler.1080.doElementAction] mark 20211027095159/254_TotalSettlementActivity.tag=TextView.depth=14.id=tv_end_time.text=23:59:59.clicked.png to 20211027095159/255_TotalSettlementActivity.tag=TextView.depth=14.id=tv_search.text=查询.click.png 2021-10-29 09:40:19 INFO [AppiumClient.141.mark] read from 20211027095159/254_TotalSettlementActivity.tag=TextView.depth=14.id=tv_end_time.text=23:59:59.clicked.png 2021-10-29 09:40:19 INFO [AppiumClient.154.mark] write png 20211027095159/254_TotalSettlementActivity.tag=TextView.depth=14.id=tv_end_time.text=23:59:59.clicked.png 2021-10-29 09:40:19 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/255_TotalSettlementActivity.tag=TextView.depth=14.id=tv_search.text=查询.click.png 2021-10-29 09:40:19 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:19 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_terminal_no"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search"]] 2021-10-29 09:40:19 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:19 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:20 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:20 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:20 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:20 INFO [Crawler.673.parsePageContext] currentContentHash=63206695fcbe9efbe7a0b62db5ce7037 lastContentHash=63206695fcbe9efbe7a0b62db5ce7037 2021-10-29 09:40:20 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:40:20 INFO [Crawler.931.saveDom] save to 20211027095159/255_TotalSettlementActivity.tag=TextView.depth=14.id=tv_search.text=查询.dom 2021-10-29 09:40:20 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:20 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:21 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:21 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:21 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:21 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=1 2021-10-29 09:40:21 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 256 2021-10-29 09:40:21 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:21 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:21 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:21 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:40:21 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:40:21 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:40:21 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:40:21 INFO [Crawler.598.getAvailableElement] all - clicked size=8 2021-10-29 09:40:21 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:40:21 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_terminal.text=全选 by first available element 2021-10-29 09:40:21 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:21 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_terminal.text=全选 2021-10-29 09:40:21 INFO [Crawler.997.doElementAction] current index = 256 2021-10-29 09:40:21 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:21 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_terminal_no"]//*[@text="全选" and @resource-id="com.jlpay.merch:id/checkbox_terminal"] 2021-10-29 09:40:21 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:21 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:40:21 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_terminal.text=全选 2021-10-29 09:40:21 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:21 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_terminal.text=全选 2021-10-29 09:40:21 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_terminal_no"]//*[@text="全选" and @resource-id="com.jlpay.merch:id/checkbox_terminal"] 2021-10-29 09:40:21 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:21 INFO [Crawler.1080.doElementAction] mark 20211027095159/255_TotalSettlementActivity.tag=TextView.depth=14.id=tv_search.text=查询.clicked.png to 20211027095159/256_TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_terminal.text=全选.click.png 2021-10-29 09:40:21 INFO [AppiumClient.141.mark] read from 20211027095159/255_TotalSettlementActivity.tag=TextView.depth=14.id=tv_search.text=查询.clicked.png 2021-10-29 09:40:21 INFO [AppiumClient.154.mark] write png 20211027095159/255_TotalSettlementActivity.tag=TextView.depth=14.id=tv_search.text=查询.clicked.png 2021-10-29 09:40:21 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/256_TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_terminal.text=全选.click.png 2021-10-29 09:40:21 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:21 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_terminal_no"]//*[@text="全选" and @resource-id="com.jlpay.merch:id/checkbox_terminal"]] 2021-10-29 09:40:21 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:21 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:22 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:22 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:22 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:22 INFO [Crawler.673.parsePageContext] currentContentHash=63206695fcbe9efbe7a0b62db5ce7037 lastContentHash=63206695fcbe9efbe7a0b62db5ce7037 2021-10-29 09:40:22 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:40:22 INFO [Crawler.931.saveDom] save to 20211027095159/256_TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_terminal.text=全选.dom 2021-10-29 09:40:23 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:23 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:23 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:23 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:23 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:23 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=3 2021-10-29 09:40:23 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 257 2021-10-29 09:40:23 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:23 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:23 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:23 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:40:23 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:40:23 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:40:23 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:40:23 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:40:23 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:40:23 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_deal_type by first available element 2021-10-29 09:40:23 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:23 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_deal_type 2021-10-29 09:40:23 INFO [Crawler.997.doElementAction] current index = 257 2021-10-29 09:40:23 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:23 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ck_by_deal_type"] 2021-10-29 09:40:23 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:23 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.CheckBox 2021-10-29 09:40:23 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_deal_type 2021-10-29 09:40:23 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:23 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_deal_type 2021-10-29 09:40:23 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ck_by_deal_type"] 2021-10-29 09:40:24 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:24 INFO [Crawler.1080.doElementAction] mark 20211027095159/256_TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_terminal.text=全选.clicked.png to 20211027095159/257_TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_deal_type.click.png 2021-10-29 09:40:24 INFO [AppiumClient.141.mark] read from 20211027095159/256_TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_terminal.text=全选.clicked.png 2021-10-29 09:40:24 INFO [AppiumClient.154.mark] write png 20211027095159/256_TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_terminal.text=全选.clicked.png 2021-10-29 09:40:24 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/257_TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_deal_type.click.png 2021-10-29 09:40:24 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:24 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ck_by_deal_type"]] 2021-10-29 09:40:24 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:24 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:24 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:24 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:25 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:25 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:25 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:25 INFO [Crawler.673.parsePageContext] currentContentHash=63206695fcbe9efbe7a0b62db5ce7037 lastContentHash=63206695fcbe9efbe7a0b62db5ce7037 2021-10-29 09:40:25 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:40:25 INFO [Crawler.931.saveDom] save to 20211027095159/257_TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_deal_type.dom 2021-10-29 09:40:25 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:25 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:26 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:26 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:26 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:26 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.CheckBox]=3 2021-10-29 09:40:26 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 258 2021-10-29 09:40:26 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:26 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:26 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:26 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:40:26 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:40:26 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:40:26 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:40:26 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:40:26 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:40:26 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_terminal_or_store by first available element 2021-10-29 09:40:26 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:26 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_terminal_or_store 2021-10-29 09:40:26 INFO [Crawler.997.doElementAction] current index = 258 2021-10-29 09:40:26 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:26 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ck_by_terminal_or_store"] 2021-10-29 09:40:26 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:26 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.CheckBox 2021-10-29 09:40:26 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_terminal_or_store 2021-10-29 09:40:26 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:26 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_terminal_or_store 2021-10-29 09:40:26 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ck_by_terminal_or_store"] 2021-10-29 09:40:26 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:26 INFO [Crawler.1080.doElementAction] mark 20211027095159/257_TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_deal_type.clicked.png to 20211027095159/258_TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_terminal_or_store.click.png 2021-10-29 09:40:26 INFO [AppiumClient.141.mark] read from 20211027095159/257_TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_deal_type.clicked.png 2021-10-29 09:40:26 INFO [AppiumClient.154.mark] write png 20211027095159/257_TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_deal_type.clicked.png 2021-10-29 09:40:26 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/258_TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_terminal_or_store.click.png 2021-10-29 09:40:26 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:26 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ck_by_terminal_or_store"]] 2021-10-29 09:40:27 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:27 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:27 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:27 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:28 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:28 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:28 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:28 INFO [Crawler.673.parsePageContext] currentContentHash=63206695fcbe9efbe7a0b62db5ce7037 lastContentHash=63206695fcbe9efbe7a0b62db5ce7037 2021-10-29 09:40:28 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:40:28 INFO [Crawler.931.saveDom] save to 20211027095159/258_TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_terminal_or_store.dom 2021-10-29 09:40:28 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:28 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:29 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:29 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:29 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:29 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.CheckBox]=2 2021-10-29 09:40:29 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 259 2021-10-29 09:40:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:29 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:40:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:40:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:40:29 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:40:29 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:40:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:40:29 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=Button.depth=11.id=btn_confirm.text=确认 by first available element 2021-10-29 09:40:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:29 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=Button.depth=11.id=btn_confirm.text=确认 2021-10-29 09:40:29 INFO [Crawler.997.doElementAction] current index = 259 2021-10-29 09:40:29 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:29 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_confirm"] 2021-10-29 09:40:29 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:29 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:40:29 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=Button.depth=11.id=btn_confirm.text=确认 2021-10-29 09:40:29 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:29 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=Button.depth=11.id=btn_confirm.text=确认 2021-10-29 09:40:29 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_confirm"] 2021-10-29 09:40:29 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:29 INFO [Crawler.1080.doElementAction] mark 20211027095159/258_TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_terminal_or_store.clicked.png to 20211027095159/259_TotalSettlementActivity.tag=Button.depth=11.id=btn_confirm.text=确认.click.png 2021-10-29 09:40:29 INFO [AppiumClient.141.mark] read from 20211027095159/258_TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_terminal_or_store.clicked.png 2021-10-29 09:40:29 INFO [AppiumClient.154.mark] write png 20211027095159/258_TotalSettlementActivity.tag=CheckBox.depth=13.id=ck_by_terminal_or_store.clicked.png 2021-10-29 09:40:29 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/259_TotalSettlementActivity.tag=Button.depth=11.id=btn_confirm.text=确认.click.png 2021-10-29 09:40:29 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:29 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_confirm"]] 2021-10-29 09:40:29 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:29 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:30 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:30 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:30 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:30 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:30 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:30 INFO [Crawler.673.parsePageContext] currentContentHash=01088e55581470b370258b6695a453c7 lastContentHash=63206695fcbe9efbe7a0b62db5ce7037 2021-10-29 09:40:30 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:40:30 INFO [Crawler.931.saveDom] save to 20211027095159/259_TotalSettlementActivity.tag=Button.depth=11.id=btn_confirm.text=确认.dom 2021-10-29 09:40:30 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:30 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:31 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:31 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:31 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:31 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button]=3 2021-10-29 09:40:31 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 260 2021-10-29 09:40:31 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:31 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:31 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:31 INFO [Crawler.487.getAvailableElement] selected nodes size = 0 2021-10-29 09:40:31 INFO [Crawler.499.getAvailableElement] all - black elements size = 0 2021-10-29 09:40:31 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 0 2021-10-29 09:40:31 INFO [Crawler.590.getAvailableElement] all - backButton size=0 2021-10-29 09:40:31 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:40:31 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:40:31 INFO [Crawler.851.crawl] TotalSettlementActivity all elements had be clicked 2021-10-29 09:40:31 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:40:31 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:40:31 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:40:31 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:40:31 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:40:31 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=Back.id=Back 2021-10-29 09:40:31 INFO [Crawler.997.doElementAction] current index = 260 2021-10-29 09:40:31 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:40:31 INFO [Crawler.999.doElementAction] current xpath = Back-260 2021-10-29 09:40:31 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:31 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:40:31 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=Back.id=Back 2021-10-29 09:40:31 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:40:31 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:40:33 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:40:33 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:33 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:33 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:33 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:33 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:34 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:34 INFO [Crawler.673.parsePageContext] currentContentHash=63206695fcbe9efbe7a0b62db5ce7037 lastContentHash=01088e55581470b370258b6695a453c7 2021-10-29 09:40:34 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:40:34 INFO [Crawler.931.saveDom] save to 20211027095159/260_TotalSettlementActivity.tag=Back.id=Back.dom 2021-10-29 09:40:34 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:34 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:34 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:34 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:40:34 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:34 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 261 2021-10-29 09:40:34 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:34 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:34 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:34 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:40:34 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:40:34 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:40:34 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:40:34 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:40:34 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:40:34 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_card.text=码牌结算 by first available element 2021-10-29 09:40:34 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:34 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_card.text=码牌结算 2021-10-29 09:40:34 INFO [Crawler.997.doElementAction] current index = 261 2021-10-29 09:40:34 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:34 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/radio_group"]//*[@text="码牌结算" and @resource-id="com.jlpay.merch:id/tab_trade_card"] 2021-10-29 09:40:34 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:34 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton 2021-10-29 09:40:34 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_card.text=码牌结算 2021-10-29 09:40:34 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:34 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_card.text=码牌结算 2021-10-29 09:40:34 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/radio_group"]//*[@text="码牌结算" and @resource-id="com.jlpay.merch:id/tab_trade_card"] 2021-10-29 09:40:34 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:35 INFO [Crawler.1080.doElementAction] mark 20211027095159/260_TotalSettlementActivity.tag=Back.id=Back.clicked.png to 20211027095159/261_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_card.text=码牌结算.click.png 2021-10-29 09:40:35 INFO [AppiumClient.141.mark] read from 20211027095159/260_TotalSettlementActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:40:35 INFO [AppiumClient.154.mark] write png 20211027095159/260_TotalSettlementActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:40:35 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/261_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_card.text=码牌结算.click.png 2021-10-29 09:40:35 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:35 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/radio_group"]//*[@text="码牌结算" and @resource-id="com.jlpay.merch:id/tab_trade_card"]] 2021-10-29 09:40:35 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:35 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:35 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:35 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:36 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:36 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:36 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:36 INFO [Crawler.673.parsePageContext] currentContentHash=63206695fcbe9efbe7a0b62db5ce7037 lastContentHash=63206695fcbe9efbe7a0b62db5ce7037 2021-10-29 09:40:36 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:40:36 INFO [Crawler.931.saveDom] save to 20211027095159/261_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_card.text=码牌结算.dom 2021-10-29 09:40:36 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:36 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:37 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:37 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:37 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:37 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton]=3 2021-10-29 09:40:37 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 262 2021-10-29 09:40:37 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:37 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:37 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:37 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:40:37 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:40:37 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:40:37 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:40:37 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:40:37 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:40:37 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_scan.text=门店结算 by first available element 2021-10-29 09:40:37 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:37 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_scan.text=门店结算 2021-10-29 09:40:37 INFO [Crawler.997.doElementAction] current index = 262 2021-10-29 09:40:37 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:37 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/radio_group"]//*[@text="门店结算" and @resource-id="com.jlpay.merch:id/tab_trade_scan"] 2021-10-29 09:40:37 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:37 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton 2021-10-29 09:40:37 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_scan.text=门店结算 2021-10-29 09:40:37 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:37 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_scan.text=门店结算 2021-10-29 09:40:37 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/radio_group"]//*[@text="门店结算" and @resource-id="com.jlpay.merch:id/tab_trade_scan"] 2021-10-29 09:40:37 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:37 INFO [Crawler.1080.doElementAction] mark 20211027095159/261_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_card.text=码牌结算.clicked.png to 20211027095159/262_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_scan.text=门店结算.click.png 2021-10-29 09:40:37 INFO [AppiumClient.141.mark] read from 20211027095159/261_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_card.text=码牌结算.clicked.png 2021-10-29 09:40:37 INFO [AppiumClient.154.mark] write png 20211027095159/261_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_card.text=码牌结算.clicked.png 2021-10-29 09:40:37 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/262_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_scan.text=门店结算.click.png 2021-10-29 09:40:37 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:37 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/radio_group"]//*[@text="门店结算" and @resource-id="com.jlpay.merch:id/tab_trade_scan"]] 2021-10-29 09:40:37 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:37 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:38 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:38 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:38 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:38 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:38 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:38 INFO [Crawler.673.parsePageContext] currentContentHash=9a4edeb74ad466a975439840dc5902c6 lastContentHash=63206695fcbe9efbe7a0b62db5ce7037 2021-10-29 09:40:38 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:40:38 INFO [Crawler.931.saveDom] save to 20211027095159/262_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_scan.text=门店结算.dom 2021-10-29 09:40:39 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:39 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:39 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:39 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:39 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:39 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton]=2 2021-10-29 09:40:39 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 263 2021-10-29 09:40:39 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:39 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:39 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:39 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:40:39 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:40:39 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:40:39 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:40:39 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:40:39 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:40:39 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=清远白切鸡罗湖店 by first available element 2021-10-29 09:40:39 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:39 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=清远白切鸡罗湖店 2021-10-29 09:40:39 INFO [Crawler.997.doElementAction] current index = 263 2021-10-29 09:40:39 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:39 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@resource-id="com.jlpay.merch:id/recy_store"]//*[@text="清远白切鸡罗湖店" and @resource-id="com.jlpay.merch:id/tv_shop_name"] 2021-10-29 09:40:39 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:39 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:40:39 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=清远白切鸡罗湖店 2021-10-29 09:40:39 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:39 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=清远白切鸡罗湖店 2021-10-29 09:40:39 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@resource-id="com.jlpay.merch:id/recy_store"]//*[@text="清远白切鸡罗湖店" and @resource-id="com.jlpay.merch:id/tv_shop_name"] 2021-10-29 09:40:39 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:39 INFO [Crawler.1080.doElementAction] mark 20211027095159/262_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_scan.text=门店结算.clicked.png to 20211027095159/263_TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=清远白切鸡罗湖店.click.png 2021-10-29 09:40:39 INFO [AppiumClient.141.mark] read from 20211027095159/262_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_scan.text=门店结算.clicked.png 2021-10-29 09:40:39 INFO [AppiumClient.154.mark] write png 20211027095159/262_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_trade_scan.text=门店结算.clicked.png 2021-10-29 09:40:39 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/263_TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=清远白切鸡罗湖店.click.png 2021-10-29 09:40:40 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:40 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@resource-id="com.jlpay.merch:id/recy_store"]//*[@text="清远白切鸡罗湖店" and @resource-id="com.jlpay.merch:id/tv_shop_name"]] 2021-10-29 09:40:40 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:40 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:41 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:41 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:41 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:41 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:41 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:41 INFO [Crawler.673.parsePageContext] currentContentHash=9a4edeb74ad466a975439840dc5902c6 lastContentHash=9a4edeb74ad466a975439840dc5902c6 2021-10-29 09:40:41 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:40:41 INFO [Crawler.931.saveDom] save to 20211027095159/263_TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=清远白切鸡罗湖店.dom 2021-10-29 09:40:41 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:41 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:42 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:42 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:42 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:42 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:40:42 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 264 2021-10-29 09:40:42 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:42 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:42 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:42 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:40:42 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:40:42 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:40:42 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:40:42 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:40:42 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:40:42 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=半山小王子深圳门店 by first available element 2021-10-29 09:40:42 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:42 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=半山小王子深圳门店 2021-10-29 09:40:42 INFO [Crawler.997.doElementAction] current index = 264 2021-10-29 09:40:42 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:42 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@resource-id="com.jlpay.merch:id/recy_store"]//*[@text="半山小王子深圳门店" and @resource-id="com.jlpay.merch:id/tv_shop_name"] 2021-10-29 09:40:42 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:42 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:40:42 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=半山小王子深圳门店 2021-10-29 09:40:42 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:42 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=半山小王子深圳门店 2021-10-29 09:40:42 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@resource-id="com.jlpay.merch:id/recy_store"]//*[@text="半山小王子深圳门店" and @resource-id="com.jlpay.merch:id/tv_shop_name"] 2021-10-29 09:40:42 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:42 INFO [Crawler.1080.doElementAction] mark 20211027095159/263_TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=清远白切鸡罗湖店.clicked.png to 20211027095159/264_TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=半山小王子深圳门店.click.png 2021-10-29 09:40:42 INFO [AppiumClient.141.mark] read from 20211027095159/263_TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=清远白切鸡罗湖店.clicked.png 2021-10-29 09:40:42 INFO [AppiumClient.154.mark] write png 20211027095159/263_TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=清远白切鸡罗湖店.clicked.png 2021-10-29 09:40:42 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/264_TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=半山小王子深圳门店.click.png 2021-10-29 09:40:42 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:42 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@resource-id="com.jlpay.merch:id/recy_store"]//*[@text="半山小王子深圳门店" and @resource-id="com.jlpay.merch:id/tv_shop_name"]] 2021-10-29 09:40:43 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:43 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:43 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:43 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:44 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:44 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:44 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:44 INFO [Crawler.673.parsePageContext] currentContentHash=9a4edeb74ad466a975439840dc5902c6 lastContentHash=9a4edeb74ad466a975439840dc5902c6 2021-10-29 09:40:44 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:40:44 INFO [Crawler.931.saveDom] save to 20211027095159/264_TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=半山小王子深圳门店.dom 2021-10-29 09:40:44 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:44 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:45 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:45 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:45 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:45 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:40:45 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 265 2021-10-29 09:40:45 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:45 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:45 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:45 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:40:45 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:40:45 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:40:45 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:40:45 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:40:45 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:40:45 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=CheckBox.depth=16.id=ck_shop_name by first available element 2021-10-29 09:40:45 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:45 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=CheckBox.depth=16.id=ck_shop_name 2021-10-29 09:40:45 INFO [Crawler.997.doElementAction] current index = 265 2021-10-29 09:40:45 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:45 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@resource-id="com.jlpay.merch:id/recy_store"]//*[@resource-id="com.jlpay.merch:id/ck_shop_name"] 2021-10-29 09:40:45 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:45 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:40:45 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=CheckBox.depth=16.id=ck_shop_name 2021-10-29 09:40:45 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:45 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=CheckBox.depth=16.id=ck_shop_name 2021-10-29 09:40:45 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@resource-id="com.jlpay.merch:id/recy_store"]//*[@resource-id="com.jlpay.merch:id/ck_shop_name"] 2021-10-29 09:40:45 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:45 INFO [Crawler.1080.doElementAction] mark 20211027095159/264_TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=半山小王子深圳门店.clicked.png to 20211027095159/265_TotalSettlementActivity.tag=CheckBox.depth=16.id=ck_shop_name.click.png 2021-10-29 09:40:45 INFO [AppiumClient.141.mark] read from 20211027095159/264_TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=半山小王子深圳门店.clicked.png 2021-10-29 09:40:45 INFO [AppiumClient.154.mark] write png 20211027095159/264_TotalSettlementActivity.tag=TextView.depth=16.id=tv_shop_name.text=半山小王子深圳门店.clicked.png 2021-10-29 09:40:45 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/265_TotalSettlementActivity.tag=CheckBox.depth=16.id=ck_shop_name.click.png 2021-10-29 09:40:45 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:45 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@resource-id="com.jlpay.merch:id/recy_store"]//*[@resource-id="com.jlpay.merch:id/ck_shop_name"]] 2021-10-29 09:40:45 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:45 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:46 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:46 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:46 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:46 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:46 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:46 INFO [Crawler.673.parsePageContext] currentContentHash=9a4edeb74ad466a975439840dc5902c6 lastContentHash=9a4edeb74ad466a975439840dc5902c6 2021-10-29 09:40:46 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:40:46 INFO [Crawler.931.saveDom] save to 20211027095159/265_TotalSettlementActivity.tag=CheckBox.depth=16.id=ck_shop_name.dom 2021-10-29 09:40:46 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:46 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:47 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:47 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:47 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:47 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=2 2021-10-29 09:40:47 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 266 2021-10-29 09:40:47 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:47 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:47 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:47 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:40:47 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:40:47 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:40:47 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:40:47 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:40:47 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:40:47 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=TextView.depth=14.id=tv_search_store.text=查询 by first available element 2021-10-29 09:40:47 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:47 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=TextView.depth=14.id=tv_search_store.text=查询 2021-10-29 09:40:47 INFO [Crawler.997.doElementAction] current index = 266 2021-10-29 09:40:47 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:47 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search_store"] 2021-10-29 09:40:47 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:47 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:40:47 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=TextView.depth=14.id=tv_search_store.text=查询 2021-10-29 09:40:47 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:47 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=TextView.depth=14.id=tv_search_store.text=查询 2021-10-29 09:40:47 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search_store"] 2021-10-29 09:40:47 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:47 INFO [Crawler.1080.doElementAction] mark 20211027095159/265_TotalSettlementActivity.tag=CheckBox.depth=16.id=ck_shop_name.clicked.png to 20211027095159/266_TotalSettlementActivity.tag=TextView.depth=14.id=tv_search_store.text=查询.click.png 2021-10-29 09:40:47 INFO [AppiumClient.141.mark] read from 20211027095159/265_TotalSettlementActivity.tag=CheckBox.depth=16.id=ck_shop_name.clicked.png 2021-10-29 09:40:47 INFO [AppiumClient.154.mark] write png 20211027095159/265_TotalSettlementActivity.tag=CheckBox.depth=16.id=ck_shop_name.clicked.png 2021-10-29 09:40:47 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/266_TotalSettlementActivity.tag=TextView.depth=14.id=tv_search_store.text=查询.click.png 2021-10-29 09:40:47 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:47 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search_store"]] 2021-10-29 09:40:47 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:47 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:48 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:48 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:48 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:48 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:48 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:48 INFO [Crawler.673.parsePageContext] currentContentHash=9a4edeb74ad466a975439840dc5902c6 lastContentHash=9a4edeb74ad466a975439840dc5902c6 2021-10-29 09:40:48 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:40:48 INFO [Crawler.931.saveDom] save to 20211027095159/266_TotalSettlementActivity.tag=TextView.depth=14.id=tv_search_store.text=查询.dom 2021-10-29 09:40:48 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:48 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:49 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:49 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:49 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:49 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:40:49 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 267 2021-10-29 09:40:49 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:49 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:49 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:49 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:40:49 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:40:49 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:40:49 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:40:49 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:40:49 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:40:49 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_store.text=全部 by first available element 2021-10-29 09:40:49 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:49 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_store.text=全部 2021-10-29 09:40:49 INFO [Crawler.997.doElementAction] current index = 267 2021-10-29 09:40:49 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:49 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/checkbox_store"] 2021-10-29 09:40:49 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:49 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:40:49 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_store.text=全部 2021-10-29 09:40:49 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:49 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_store.text=全部 2021-10-29 09:40:49 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/checkbox_store"] 2021-10-29 09:40:49 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:49 INFO [Crawler.1080.doElementAction] mark 20211027095159/266_TotalSettlementActivity.tag=TextView.depth=14.id=tv_search_store.text=查询.clicked.png to 20211027095159/267_TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_store.text=全部.click.png 2021-10-29 09:40:49 INFO [AppiumClient.141.mark] read from 20211027095159/266_TotalSettlementActivity.tag=TextView.depth=14.id=tv_search_store.text=查询.clicked.png 2021-10-29 09:40:49 INFO [AppiumClient.154.mark] write png 20211027095159/266_TotalSettlementActivity.tag=TextView.depth=14.id=tv_search_store.text=查询.clicked.png 2021-10-29 09:40:49 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/267_TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_store.text=全部.click.png 2021-10-29 09:40:50 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:50 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/view_pager"]//*[@resource-id="com.jlpay.merch:id/ll_store"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/checkbox_store"]] 2021-10-29 09:40:50 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:50 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:51 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:51 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:51 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:51 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:51 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:51 INFO [Crawler.673.parsePageContext] currentContentHash=9a4edeb74ad466a975439840dc5902c6 lastContentHash=9a4edeb74ad466a975439840dc5902c6 2021-10-29 09:40:51 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:40:51 INFO [Crawler.931.saveDom] save to 20211027095159/267_TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_store.text=全部.dom 2021-10-29 09:40:51 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:51 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:52 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:52 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:52 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:52 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=2 2021-10-29 09:40:52 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 268 2021-10-29 09:40:52 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:52 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:52 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:52 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:40:52 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:40:52 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:40:52 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:40:52 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:40:52 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:40:52 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_cash_out.text=商户结算 by first available element 2021-10-29 09:40:52 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:52 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_cash_out.text=商户结算 2021-10-29 09:40:52 INFO [Crawler.997.doElementAction] current index = 268 2021-10-29 09:40:52 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:52 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/radio_group"]//*[@text="商户结算" and @resource-id="com.jlpay.merch:id/tab_cash_out"] 2021-10-29 09:40:52 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:52 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton 2021-10-29 09:40:52 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_cash_out.text=商户结算 2021-10-29 09:40:52 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:52 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_cash_out.text=商户结算 2021-10-29 09:40:52 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/radio_group"]//*[@text="商户结算" and @resource-id="com.jlpay.merch:id/tab_cash_out"] 2021-10-29 09:40:52 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:52 INFO [Crawler.1080.doElementAction] mark 20211027095159/267_TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_store.text=全部.clicked.png to 20211027095159/268_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_cash_out.text=商户结算.click.png 2021-10-29 09:40:52 INFO [AppiumClient.141.mark] read from 20211027095159/267_TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_store.text=全部.clicked.png 2021-10-29 09:40:52 INFO [AppiumClient.154.mark] write png 20211027095159/267_TotalSettlementActivity.tag=CheckBox.depth=13.id=checkbox_store.text=全部.clicked.png 2021-10-29 09:40:52 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/268_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_cash_out.text=商户结算.click.png 2021-10-29 09:40:52 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:52 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/radio_group"]//*[@text="商户结算" and @resource-id="com.jlpay.merch:id/tab_cash_out"]] 2021-10-29 09:40:53 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:53 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:54 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:54 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:54 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:54 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:54 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:54 INFO [Crawler.673.parsePageContext] currentContentHash=6db497427203cbfa70c490d61646a959 lastContentHash=9a4edeb74ad466a975439840dc5902c6 2021-10-29 09:40:54 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:40:54 INFO [Crawler.931.saveDom] save to 20211027095159/268_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_cash_out.text=商户结算.dom 2021-10-29 09:40:54 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:54 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:55 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:55 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:55 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:55 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton]=1 2021-10-29 09:40:55 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 269 2021-10-29 09:40:55 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:55 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:55 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:55 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:40:55 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:40:55 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:40:55 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:40:55 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:40:55 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:40:55 INFO [Crawler.843.crawl] found TotalSettlementActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:40:55 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:55 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:40:55 INFO [Crawler.997.doElementAction] current index = 269 2021-10-29 09:40:55 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:55 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:40:55 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:55 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:40:55 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:40:55 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:55 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:40:55 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:40:55 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:55 INFO [Crawler.1080.doElementAction] mark 20211027095159/268_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_cash_out.text=商户结算.clicked.png to 20211027095159/269_TotalSettlementActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:40:55 INFO [AppiumClient.141.mark] read from 20211027095159/268_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_cash_out.text=商户结算.clicked.png 2021-10-29 09:40:55 INFO [AppiumClient.154.mark] write png 20211027095159/268_TotalSettlementActivity.tag=RadioButton.depth=9.id=tab_cash_out.text=商户结算.clicked.png 2021-10-29 09:40:55 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/269_TotalSettlementActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:40:56 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:56 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:40:56 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:56 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:56 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:56 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:40:56 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:40:56 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:40:57 INFO [Crawler.649.parsePageContext] url=TotalSettlementActivity 2021-10-29 09:40:57 INFO [Crawler.673.parsePageContext] currentContentHash=6db497427203cbfa70c490d61646a959 lastContentHash=6db497427203cbfa70c490d61646a959 2021-10-29 09:40:57 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:40:57 INFO [Crawler.931.saveDom] save to 20211027095159/269_TotalSettlementActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:40:57 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:40:57 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:40:57 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:40:57 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:40:57 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:40:57 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[TotalSettlementActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:40:57 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 270 2021-10-29 09:40:57 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:40:57 INFO [Crawler.425.needReturn] urlStack=Stack(TotalSettlementActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:40:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:40:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:40:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:40:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:40:58 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:40:58 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:40:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:40:58 INFO [Crawler.851.crawl] TotalSettlementActivity all elements had be clicked 2021-10-29 09:40:58 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:40:58 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:40:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:40:58 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:40:58 INFO [Crawler.996.doElementAction] current element = TotalSettlementActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:40:58 INFO [Crawler.997.doElementAction] current index = 270 2021-10-29 09:40:58 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:40:58 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:40:58 INFO [Crawler.1000.doElementAction] current url = TotalSettlementActivity 2021-10-29 09:40:58 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:40:58 INFO [Crawler.1002.doElementAction] current file name = TotalSettlementActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:40:58 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:40:58 INFO [AppiumClient.53.findElementByURI] find by uri element= TotalSettlementActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:40:58 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:40:58 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:40:58 INFO [Crawler.1080.doElementAction] mark 20211027095159/269_TotalSettlementActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/270_TotalSettlementActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:40:58 INFO [AppiumClient.141.mark] read from 20211027095159/269_TotalSettlementActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:40:58 INFO [AppiumClient.154.mark] write png 20211027095159/269_TotalSettlementActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:40:58 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/270_TotalSettlementActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:40:58 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:40:58 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:40:58 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:40:58 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:40:59 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:40:59 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:00 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:00 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:00 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:41:00 INFO [Crawler.673.parsePageContext] currentContentHash=45b2efbd12c26f918782a09c5b9377e8 lastContentHash=6db497427203cbfa70c490d61646a959 2021-10-29 09:41:00 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:00 INFO [Crawler.931.saveDom] save to 20211027095159/270_TotalSettlementActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:41:00 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:00 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:00 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:00 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:00 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:00 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 271 2021-10-29 09:41:00 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:00 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:00 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:00 INFO [Crawler.487.getAvailableElement] selected nodes size = 25 2021-10-29 09:41:00 INFO [Crawler.499.getAvailableElement] all - black elements size = 25 2021-10-29 09:41:00 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 25 2021-10-29 09:41:00 INFO [Crawler.590.getAvailableElement] all - backButton size=25 2021-10-29 09:41:00 INFO [Crawler.598.getAvailableElement] all - clicked size=15 2021-10-29 09:41:00 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=15 2021-10-29 09:41:00 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_name.text=耗材配件 by first available element 2021-10-29 09:41:00 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:00 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_name.text=耗材配件 2021-10-29 09:41:00 INFO [Crawler.997.doElementAction] current index = 271 2021-10-29 09:41:00 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:00 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="耗材配件" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:41:00 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:41:00 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:41:00 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_name.text=耗材配件 2021-10-29 09:41:00 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:00 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_name.text=耗材配件 2021-10-29 09:41:00 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="耗材配件" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:41:01 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:01 INFO [Crawler.1080.doElementAction] mark 20211027095159/270_TotalSettlementActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/271_MainActivity.tag=TextView.depth=16.id=tv_name.text=耗材配件.click.png 2021-10-29 09:41:01 INFO [AppiumClient.141.mark] read from 20211027095159/270_TotalSettlementActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:41:01 INFO [AppiumClient.154.mark] write png 20211027095159/270_TotalSettlementActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:41:01 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/271_MainActivity.tag=TextView.depth=16.id=tv_name.text=耗材配件.click.png 2021-10-29 09:41:01 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:01 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="耗材配件" and @resource-id="com.jlpay.merch:id/tv_name"]] 2021-10-29 09:41:02 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:02 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:03 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:03 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:03 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:03 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:03 INFO [Crawler.649.parsePageContext] url=ConsumApplyActivity 2021-10-29 09:41:03 INFO [Crawler.673.parsePageContext] currentContentHash=643b77f97aa143e7476c5c6b797aa7d4 lastContentHash=45b2efbd12c26f918782a09c5b9377e8 2021-10-29 09:41:03 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:03 INFO [Crawler.931.saveDom] save to 20211027095159/271_MainActivity.tag=TextView.depth=16.id=tv_name.text=耗材配件.dom 2021-10-29 09:41:03 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:03 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:04 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:04 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:04 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:04 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 272 2021-10-29 09:41:04 INFO [ReportPlugin.39.afterElementAction] 272-224 > 272/10+20 2021-10-29 09:41:04 INFO [ReportPlugin.40.afterElementAction] generate test report 2021-10-29 09:41:09 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:09 INFO [Crawler.425.needReturn] urlStack=Stack(ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:09 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:09 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:41:09 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:41:09 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:41:09 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:41:09 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:41:09 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:41:09 INFO [Crawler.843.crawl] found ConsumApplyActivity.tag=TextView.depth=11.id=tv_macType.text=打印纸 by first available element 2021-10-29 09:41:09 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:09 INFO [Crawler.996.doElementAction] current element = ConsumApplyActivity.tag=TextView.depth=11.id=tv_macType.text=打印纸 2021-10-29 09:41:09 INFO [Crawler.997.doElementAction] current index = 272 2021-10-29 09:41:09 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:09 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="打印纸" and @resource-id="com.jlpay.merch:id/tv_macType"] 2021-10-29 09:41:09 INFO [Crawler.1000.doElementAction] current url = ConsumApplyActivity 2021-10-29 09:41:09 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:41:09 INFO [Crawler.1002.doElementAction] current file name = ConsumApplyActivity.tag=TextView.depth=11.id=tv_macType.text=打印纸 2021-10-29 09:41:09 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:09 INFO [AppiumClient.53.findElementByURI] find by uri element= ConsumApplyActivity.tag=TextView.depth=11.id=tv_macType.text=打印纸 2021-10-29 09:41:09 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="打印纸" and @resource-id="com.jlpay.merch:id/tv_macType"] 2021-10-29 09:41:09 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:09 INFO [Crawler.1080.doElementAction] mark 20211027095159/271_MainActivity.tag=TextView.depth=16.id=tv_name.text=耗材配件.clicked.png to 20211027095159/272_ConsumApplyActivity.tag=TextView.depth=11.id=tv_macType.text=打印纸.click.png 2021-10-29 09:41:09 INFO [AppiumClient.141.mark] read from 20211027095159/271_MainActivity.tag=TextView.depth=16.id=tv_name.text=耗材配件.clicked.png 2021-10-29 09:41:09 INFO [AppiumClient.154.mark] write png 20211027095159/271_MainActivity.tag=TextView.depth=16.id=tv_name.text=耗材配件.clicked.png 2021-10-29 09:41:09 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/272_ConsumApplyActivity.tag=TextView.depth=11.id=tv_macType.text=打印纸.click.png 2021-10-29 09:41:10 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:10 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="打印纸" and @resource-id="com.jlpay.merch:id/tv_macType"]] 2021-10-29 09:41:10 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:10 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:10 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:10 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:11 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:11 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:11 INFO [Crawler.649.parsePageContext] url=PaperMailingActivity 2021-10-29 09:41:11 INFO [Crawler.673.parsePageContext] currentContentHash=8764d68ba195603a46476e2ac4c4bff0 lastContentHash=643b77f97aa143e7476c5c6b797aa7d4 2021-10-29 09:41:11 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:11 INFO [Crawler.931.saveDom] save to 20211027095159/272_ConsumApplyActivity.tag=TextView.depth=11.id=tv_macType.text=打印纸.dom 2021-10-29 09:41:11 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:11 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:11 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:11 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:11 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:11 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 273 2021-10-29 09:41:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:11 INFO [Crawler.425.needReturn] urlStack=Stack(PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:41:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:41:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:41:11 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:41:11 INFO [Crawler.598.getAvailableElement] all - clicked size=9 2021-10-29 09:41:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:41:11 INFO [Crawler.843.crawl] found PaperMailingActivity.tag=Button.depth=11.id=btn_cancel.text=取消 by first available element 2021-10-29 09:41:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:11 INFO [TagLimitPlugin.35.beforeElementAction] tagLimit[PaperMailingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=1000 with conf.tagLimit 2021-10-29 09:41:11 INFO [Crawler.996.doElementAction] current element = PaperMailingActivity.tag=Button.depth=11.id=btn_cancel.text=取消 2021-10-29 09:41:11 INFO [Crawler.997.doElementAction] current index = 273 2021-10-29 09:41:11 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:11 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/btn_cancel"] 2021-10-29 09:41:11 INFO [Crawler.1000.doElementAction] current url = PaperMailingActivity 2021-10-29 09:41:11 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:41:11 INFO [Crawler.1002.doElementAction] current file name = PaperMailingActivity.tag=Button.depth=11.id=btn_cancel.text=取消 2021-10-29 09:41:11 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:11 INFO [AppiumClient.53.findElementByURI] find by uri element= PaperMailingActivity.tag=Button.depth=11.id=btn_cancel.text=取消 2021-10-29 09:41:11 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/btn_cancel"] 2021-10-29 09:41:12 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:12 INFO [Crawler.1080.doElementAction] mark 20211027095159/272_ConsumApplyActivity.tag=TextView.depth=11.id=tv_macType.text=打印纸.clicked.png to 20211027095159/273_PaperMailingActivity.tag=Button.depth=11.id=btn_cancel.text=取消.click.png 2021-10-29 09:41:12 INFO [AppiumClient.141.mark] read from 20211027095159/272_ConsumApplyActivity.tag=TextView.depth=11.id=tv_macType.text=打印纸.clicked.png 2021-10-29 09:41:12 INFO [AppiumClient.154.mark] write png 20211027095159/272_ConsumApplyActivity.tag=TextView.depth=11.id=tv_macType.text=打印纸.clicked.png 2021-10-29 09:41:12 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/273_PaperMailingActivity.tag=Button.depth=11.id=btn_cancel.text=取消.click.png 2021-10-29 09:41:12 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:12 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/btn_cancel"]] 2021-10-29 09:41:12 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:12 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:12 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:12 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:13 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:13 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:13 INFO [Crawler.649.parsePageContext] url=ConsumApplyActivity 2021-10-29 09:41:13 INFO [Crawler.673.parsePageContext] currentContentHash=643b77f97aa143e7476c5c6b797aa7d4 lastContentHash=8764d68ba195603a46476e2ac4c4bff0 2021-10-29 09:41:13 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:13 INFO [Crawler.931.saveDom] save to 20211027095159/273_PaperMailingActivity.tag=Button.depth=11.id=btn_cancel.text=取消.dom 2021-10-29 09:41:13 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:13 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:14 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:14 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:14 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:14 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 274 2021-10-29 09:41:14 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:14 INFO [Crawler.425.needReturn] urlStack=Stack(ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:14 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:14 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:41:14 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:41:14 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:41:14 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:41:14 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:41:14 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:41:14 INFO [Crawler.843.crawl] found ConsumApplyActivity.tag=TextView.depth=11.id=tv_price.text=尊享价:¥1.60 by first available element 2021-10-29 09:41:14 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:14 INFO [Crawler.996.doElementAction] current element = ConsumApplyActivity.tag=TextView.depth=11.id=tv_price.text=尊享价:¥1.60 2021-10-29 09:41:14 INFO [Crawler.997.doElementAction] current index = 274 2021-10-29 09:41:14 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:14 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="尊享价:¥1.60" and @resource-id="com.jlpay.merch:id/tv_price"] 2021-10-29 09:41:14 INFO [Crawler.1000.doElementAction] current url = ConsumApplyActivity 2021-10-29 09:41:14 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:41:14 INFO [Crawler.1002.doElementAction] current file name = ConsumApplyActivity.tag=TextView.depth=11.id=tv_price.text=尊享价:¥1.60 2021-10-29 09:41:14 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:14 INFO [AppiumClient.53.findElementByURI] find by uri element= ConsumApplyActivity.tag=TextView.depth=11.id=tv_price.text=尊享价:¥1.60 2021-10-29 09:41:14 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="尊享价:¥1.60" and @resource-id="com.jlpay.merch:id/tv_price"] 2021-10-29 09:41:14 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:14 INFO [Crawler.1080.doElementAction] mark 20211027095159/273_PaperMailingActivity.tag=Button.depth=11.id=btn_cancel.text=取消.clicked.png to 20211027095159/274_ConsumApplyActivity.tag=TextView.depth=11.id=tv_price.text=尊享价:¥1.60.click.png 2021-10-29 09:41:14 INFO [AppiumClient.141.mark] read from 20211027095159/273_PaperMailingActivity.tag=Button.depth=11.id=btn_cancel.text=取消.clicked.png 2021-10-29 09:41:14 INFO [AppiumClient.154.mark] write png 20211027095159/273_PaperMailingActivity.tag=Button.depth=11.id=btn_cancel.text=取消.clicked.png 2021-10-29 09:41:14 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/274_ConsumApplyActivity.tag=TextView.depth=11.id=tv_price.text=尊享价:¥1.60.click.png 2021-10-29 09:41:14 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:14 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="尊享价:¥1.60" and @resource-id="com.jlpay.merch:id/tv_price"]] 2021-10-29 09:41:14 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:14 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:15 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:15 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:15 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:15 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:15 INFO [Crawler.649.parsePageContext] url=PaperMailingActivity 2021-10-29 09:41:15 INFO [Crawler.673.parsePageContext] currentContentHash=8764d68ba195603a46476e2ac4c4bff0 lastContentHash=643b77f97aa143e7476c5c6b797aa7d4 2021-10-29 09:41:15 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:15 INFO [Crawler.931.saveDom] save to 20211027095159/274_ConsumApplyActivity.tag=TextView.depth=11.id=tv_price.text=尊享价:¥1.60.dom 2021-10-29 09:41:15 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:15 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:16 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:16 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:16 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:16 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 275 2021-10-29 09:41:16 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:16 INFO [Crawler.425.needReturn] urlStack=Stack(PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:16 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:16 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:41:16 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:41:16 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:41:16 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:41:16 INFO [Crawler.598.getAvailableElement] all - clicked size=8 2021-10-29 09:41:16 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:41:16 INFO [Crawler.843.crawl] found PaperMailingActivity.tag=Button.depth=11.id=btn_comfirm_order.text=提交订单 by first available element 2021-10-29 09:41:16 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:16 INFO [Crawler.996.doElementAction] current element = PaperMailingActivity.tag=Button.depth=11.id=btn_comfirm_order.text=提交订单 2021-10-29 09:41:16 INFO [Crawler.997.doElementAction] current index = 275 2021-10-29 09:41:16 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:16 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提交订单" and @resource-id="com.jlpay.merch:id/btn_comfirm_order"] 2021-10-29 09:41:16 INFO [Crawler.1000.doElementAction] current url = PaperMailingActivity 2021-10-29 09:41:16 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:41:16 INFO [Crawler.1002.doElementAction] current file name = PaperMailingActivity.tag=Button.depth=11.id=btn_comfirm_order.text=提交订单 2021-10-29 09:41:16 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:16 INFO [AppiumClient.53.findElementByURI] find by uri element= PaperMailingActivity.tag=Button.depth=11.id=btn_comfirm_order.text=提交订单 2021-10-29 09:41:16 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提交订单" and @resource-id="com.jlpay.merch:id/btn_comfirm_order"] 2021-10-29 09:41:16 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:16 INFO [Crawler.1080.doElementAction] mark 20211027095159/274_ConsumApplyActivity.tag=TextView.depth=11.id=tv_price.text=尊享价:¥1.60.clicked.png to 20211027095159/275_PaperMailingActivity.tag=Button.depth=11.id=btn_comfirm_order.text=提交订单.click.png 2021-10-29 09:41:16 INFO [AppiumClient.141.mark] read from 20211027095159/274_ConsumApplyActivity.tag=TextView.depth=11.id=tv_price.text=尊享价:¥1.60.clicked.png 2021-10-29 09:41:16 INFO [AppiumClient.154.mark] write png 20211027095159/274_ConsumApplyActivity.tag=TextView.depth=11.id=tv_price.text=尊享价:¥1.60.clicked.png 2021-10-29 09:41:16 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/275_PaperMailingActivity.tag=Button.depth=11.id=btn_comfirm_order.text=提交订单.click.png 2021-10-29 09:41:16 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:16 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提交订单" and @resource-id="com.jlpay.merch:id/btn_comfirm_order"]] 2021-10-29 09:41:16 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:16 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:17 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:17 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:17 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:17 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:17 INFO [Crawler.649.parsePageContext] url=PaperMailingActivity 2021-10-29 09:41:17 INFO [Crawler.673.parsePageContext] currentContentHash=8764d68ba195603a46476e2ac4c4bff0 lastContentHash=8764d68ba195603a46476e2ac4c4bff0 2021-10-29 09:41:17 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:41:17 INFO [Crawler.931.saveDom] save to 20211027095159/275_PaperMailingActivity.tag=Button.depth=11.id=btn_comfirm_order.text=提交订单.dom 2021-10-29 09:41:17 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:17 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:18 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PaperMailingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=999 2021-10-29 09:41:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 276 2021-10-29 09:41:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:18 INFO [Crawler.425.needReturn] urlStack=Stack(PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:41:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:41:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:41:18 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:41:18 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:41:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:41:18 INFO [Crawler.843.crawl] found PaperMailingActivity.tag=TextView.depth=11.id=tv_paper25.text=25卷+包 by first available element 2021-10-29 09:41:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:18 INFO [Crawler.996.doElementAction] current element = PaperMailingActivity.tag=TextView.depth=11.id=tv_paper25.text=25卷+包 2021-10-29 09:41:18 INFO [Crawler.997.doElementAction] current index = 276 2021-10-29 09:41:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="25卷/包" and @resource-id="com.jlpay.merch:id/tv_paper25"] 2021-10-29 09:41:18 INFO [Crawler.1000.doElementAction] current url = PaperMailingActivity 2021-10-29 09:41:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:41:18 INFO [Crawler.1002.doElementAction] current file name = PaperMailingActivity.tag=TextView.depth=11.id=tv_paper25.text=25卷+包 2021-10-29 09:41:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:18 INFO [AppiumClient.53.findElementByURI] find by uri element= PaperMailingActivity.tag=TextView.depth=11.id=tv_paper25.text=25卷+包 2021-10-29 09:41:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="25卷/包" and @resource-id="com.jlpay.merch:id/tv_paper25"] 2021-10-29 09:41:18 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:18 INFO [Crawler.1080.doElementAction] mark 20211027095159/275_PaperMailingActivity.tag=Button.depth=11.id=btn_comfirm_order.text=提交订单.clicked.png to 20211027095159/276_PaperMailingActivity.tag=TextView.depth=11.id=tv_paper25.text=25卷+包.click.png 2021-10-29 09:41:18 INFO [AppiumClient.141.mark] read from 20211027095159/275_PaperMailingActivity.tag=Button.depth=11.id=btn_comfirm_order.text=提交订单.clicked.png 2021-10-29 09:41:18 INFO [AppiumClient.154.mark] write png 20211027095159/275_PaperMailingActivity.tag=Button.depth=11.id=btn_comfirm_order.text=提交订单.clicked.png 2021-10-29 09:41:18 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/276_PaperMailingActivity.tag=TextView.depth=11.id=tv_paper25.text=25卷+包.click.png 2021-10-29 09:41:18 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:18 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="25卷/包" and @resource-id="com.jlpay.merch:id/tv_paper25"]] 2021-10-29 09:41:18 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:18 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:19 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:19 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:19 INFO [Crawler.649.parsePageContext] url=PaperMailingActivity 2021-10-29 09:41:19 INFO [Crawler.673.parsePageContext] currentContentHash=8764d68ba195603a46476e2ac4c4bff0 lastContentHash=8764d68ba195603a46476e2ac4c4bff0 2021-10-29 09:41:19 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:41:19 INFO [Crawler.931.saveDom] save to 20211027095159/276_PaperMailingActivity.tag=TextView.depth=11.id=tv_paper25.text=25卷+包.dom 2021-10-29 09:41:19 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:19 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:20 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:20 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:20 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:20 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PaperMailingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:41:20 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 277 2021-10-29 09:41:20 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:20 INFO [Crawler.425.needReturn] urlStack=Stack(PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:20 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:20 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:41:20 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:41:20 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:41:20 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:41:20 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:41:20 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:41:20 INFO [Crawler.843.crawl] found PaperMailingActivity.tag=TextView.depth=11.id=tv_paper100.text=100卷+包 by first available element 2021-10-29 09:41:20 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:20 INFO [Crawler.996.doElementAction] current element = PaperMailingActivity.tag=TextView.depth=11.id=tv_paper100.text=100卷+包 2021-10-29 09:41:20 INFO [Crawler.997.doElementAction] current index = 277 2021-10-29 09:41:20 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:20 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="100卷/包" and @resource-id="com.jlpay.merch:id/tv_paper100"] 2021-10-29 09:41:20 INFO [Crawler.1000.doElementAction] current url = PaperMailingActivity 2021-10-29 09:41:20 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:41:20 INFO [Crawler.1002.doElementAction] current file name = PaperMailingActivity.tag=TextView.depth=11.id=tv_paper100.text=100卷+包 2021-10-29 09:41:20 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:20 INFO [AppiumClient.53.findElementByURI] find by uri element= PaperMailingActivity.tag=TextView.depth=11.id=tv_paper100.text=100卷+包 2021-10-29 09:41:20 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="100卷/包" and @resource-id="com.jlpay.merch:id/tv_paper100"] 2021-10-29 09:41:20 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:20 INFO [Crawler.1080.doElementAction] mark 20211027095159/276_PaperMailingActivity.tag=TextView.depth=11.id=tv_paper25.text=25卷+包.clicked.png to 20211027095159/277_PaperMailingActivity.tag=TextView.depth=11.id=tv_paper100.text=100卷+包.click.png 2021-10-29 09:41:20 INFO [AppiumClient.141.mark] read from 20211027095159/276_PaperMailingActivity.tag=TextView.depth=11.id=tv_paper25.text=25卷+包.clicked.png 2021-10-29 09:41:20 INFO [AppiumClient.154.mark] write png 20211027095159/276_PaperMailingActivity.tag=TextView.depth=11.id=tv_paper25.text=25卷+包.clicked.png 2021-10-29 09:41:20 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/277_PaperMailingActivity.tag=TextView.depth=11.id=tv_paper100.text=100卷+包.click.png 2021-10-29 09:41:20 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:20 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="100卷/包" and @resource-id="com.jlpay.merch:id/tv_paper100"]] 2021-10-29 09:41:21 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:21 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:22 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:22 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:22 INFO [Crawler.649.parsePageContext] url=PaperMailingActivity 2021-10-29 09:41:22 INFO [Crawler.673.parsePageContext] currentContentHash=8764d68ba195603a46476e2ac4c4bff0 lastContentHash=8764d68ba195603a46476e2ac4c4bff0 2021-10-29 09:41:22 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:41:22 INFO [Crawler.931.saveDom] save to 20211027095159/277_PaperMailingActivity.tag=TextView.depth=11.id=tv_paper100.text=100卷+包.dom 2021-10-29 09:41:22 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:22 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:23 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:23 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:23 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:23 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PaperMailingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=2 2021-10-29 09:41:23 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 278 2021-10-29 09:41:23 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:23 INFO [Crawler.425.needReturn] urlStack=Stack(PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:23 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:23 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:41:23 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:41:23 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:41:23 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:41:23 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:41:23 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:41:23 INFO [Crawler.843.crawl] found PaperMailingActivity.tag=EditText.depth=11.id=id_editor_detail.text=给商家留言: by first available element 2021-10-29 09:41:23 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:23 INFO [Crawler.996.doElementAction] current element = PaperMailingActivity.tag=EditText.depth=11.id=id_editor_detail.text=给商家留言: 2021-10-29 09:41:23 INFO [Crawler.997.doElementAction] current index = 278 2021-10-29 09:41:23 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:23 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="给商家留言:" and @resource-id="com.jlpay.merch:id/id_editor_detail"] 2021-10-29 09:41:23 INFO [Crawler.1000.doElementAction] current url = PaperMailingActivity 2021-10-29 09:41:23 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText 2021-10-29 09:41:23 INFO [Crawler.1002.doElementAction] current file name = PaperMailingActivity.tag=EditText.depth=11.id=id_editor_detail.text=给商家留言: 2021-10-29 09:41:23 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:23 INFO [AppiumClient.53.findElementByURI] find by uri element= PaperMailingActivity.tag=EditText.depth=11.id=id_editor_detail.text=给商家留言: 2021-10-29 09:41:23 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="给商家留言:" and @resource-id="com.jlpay.merch:id/id_editor_detail"] 2021-10-29 09:41:23 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:23 INFO [Crawler.1080.doElementAction] mark 20211027095159/277_PaperMailingActivity.tag=TextView.depth=11.id=tv_paper100.text=100卷+包.clicked.png to 20211027095159/278_PaperMailingActivity.tag=EditText.depth=11.id=id_editor_detail.text=给商家留言:.click.png 2021-10-29 09:41:23 INFO [AppiumClient.141.mark] read from 20211027095159/277_PaperMailingActivity.tag=TextView.depth=11.id=tv_paper100.text=100卷+包.clicked.png 2021-10-29 09:41:23 INFO [AppiumClient.154.mark] write png 20211027095159/277_PaperMailingActivity.tag=TextView.depth=11.id=tv_paper100.text=100卷+包.clicked.png 2021-10-29 09:41:23 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/278_PaperMailingActivity.tag=EditText.depth=11.id=id_editor_detail.text=给商家留言:.click.png 2021-10-29 09:41:23 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:23 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="给商家留言:" and @resource-id="com.jlpay.merch:id/id_editor_detail"]] 2021-10-29 09:41:25 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:25 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:26 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:26 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:26 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:26 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:26 INFO [Crawler.649.parsePageContext] url=PaperMailingActivity 2021-10-29 09:41:26 INFO [Crawler.673.parsePageContext] currentContentHash=8764d68ba195603a46476e2ac4c4bff0 lastContentHash=8764d68ba195603a46476e2ac4c4bff0 2021-10-29 09:41:26 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:41:26 INFO [Crawler.931.saveDom] save to 20211027095159/278_PaperMailingActivity.tag=EditText.depth=11.id=id_editor_detail.text=给商家留言:.dom 2021-10-29 09:41:26 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:26 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:27 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:27 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:27 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:27 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PaperMailingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText]=3 2021-10-29 09:41:27 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 279 2021-10-29 09:41:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:27 INFO [Crawler.425.needReturn] urlStack=Stack(PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:41:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:41:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:41:27 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:41:27 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:41:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:41:27 INFO [Crawler.843.crawl] found PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=test by first available element 2021-10-29 09:41:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:27 INFO [Crawler.996.doElementAction] current element = PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=test 2021-10-29 09:41:27 INFO [Crawler.997.doElementAction] current index = 279 2021-10-29 09:41:27 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:27 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_address_info"]//*[@text="test" and @resource-id="com.jlpay.merch:id/tv_username"] 2021-10-29 09:41:27 INFO [Crawler.1000.doElementAction] current url = PaperMailingActivity 2021-10-29 09:41:27 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:41:27 INFO [Crawler.1002.doElementAction] current file name = PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=test 2021-10-29 09:41:27 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:27 INFO [AppiumClient.53.findElementByURI] find by uri element= PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=test 2021-10-29 09:41:27 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_address_info"]//*[@text="test" and @resource-id="com.jlpay.merch:id/tv_username"] 2021-10-29 09:41:27 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:27 INFO [Crawler.1080.doElementAction] mark 20211027095159/278_PaperMailingActivity.tag=EditText.depth=11.id=id_editor_detail.text=给商家留言:.clicked.png to 20211027095159/279_PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=test.click.png 2021-10-29 09:41:27 INFO [AppiumClient.141.mark] read from 20211027095159/278_PaperMailingActivity.tag=EditText.depth=11.id=id_editor_detail.text=给商家留言:.clicked.png 2021-10-29 09:41:27 INFO [AppiumClient.154.mark] write png 20211027095159/278_PaperMailingActivity.tag=EditText.depth=11.id=id_editor_detail.text=给商家留言:.clicked.png 2021-10-29 09:41:27 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/279_PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=test.click.png 2021-10-29 09:41:27 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:27 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_address_info"]//*[@text="test" and @resource-id="com.jlpay.merch:id/tv_username"]] 2021-10-29 09:41:27 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:27 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:28 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:28 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:28 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:28 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:28 INFO [Crawler.649.parsePageContext] url=AddressManageActivity 2021-10-29 09:41:28 INFO [Crawler.673.parsePageContext] currentContentHash=a0e01818c0ef571a55a40c97cedc7d98 lastContentHash=8764d68ba195603a46476e2ac4c4bff0 2021-10-29 09:41:28 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:28 INFO [Crawler.931.saveDom] save to 20211027095159/279_PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=test.dom 2021-10-29 09:41:29 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:29 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:29 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:29 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:29 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:29 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 280 2021-10-29 09:41:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:29 INFO [Crawler.425.needReturn] urlStack=Stack(AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:41:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:41:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:41:29 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:41:29 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:41:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:41:29 INFO [Crawler.843.crawl] found AddressManageActivity.tag=TextView.depth=14.id=tv_edit_address.text=编辑 by first available element 2021-10-29 09:41:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:29 INFO [Crawler.996.doElementAction] current element = AddressManageActivity.tag=TextView.depth=14.id=tv_edit_address.text=编辑 2021-10-29 09:41:29 INFO [Crawler.997.doElementAction] current index = 280 2021-10-29 09:41:29 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:29 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="编辑" and @resource-id="com.jlpay.merch:id/tv_edit_address"] 2021-10-29 09:41:29 INFO [Crawler.1000.doElementAction] current url = AddressManageActivity 2021-10-29 09:41:29 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:41:29 INFO [Crawler.1002.doElementAction] current file name = AddressManageActivity.tag=TextView.depth=14.id=tv_edit_address.text=编辑 2021-10-29 09:41:29 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:29 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressManageActivity.tag=TextView.depth=14.id=tv_edit_address.text=编辑 2021-10-29 09:41:29 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="编辑" and @resource-id="com.jlpay.merch:id/tv_edit_address"] 2021-10-29 09:41:29 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:29 INFO [Crawler.1080.doElementAction] mark 20211027095159/279_PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=test.clicked.png to 20211027095159/280_AddressManageActivity.tag=TextView.depth=14.id=tv_edit_address.text=编辑.click.png 2021-10-29 09:41:29 INFO [AppiumClient.141.mark] read from 20211027095159/279_PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=test.clicked.png 2021-10-29 09:41:29 INFO [AppiumClient.154.mark] write png 20211027095159/279_PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=test.clicked.png 2021-10-29 09:41:29 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/280_AddressManageActivity.tag=TextView.depth=14.id=tv_edit_address.text=编辑.click.png 2021-10-29 09:41:29 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:29 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="编辑" and @resource-id="com.jlpay.merch:id/tv_edit_address"]] 2021-10-29 09:41:29 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:29 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:30 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:30 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:30 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:30 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:30 INFO [Crawler.649.parsePageContext] url=AddressOperateActivity 2021-10-29 09:41:30 INFO [Crawler.673.parsePageContext] currentContentHash=f907ce3412803c1a3ff056e5dbd5a894 lastContentHash=a0e01818c0ef571a55a40c97cedc7d98 2021-10-29 09:41:30 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:30 INFO [Crawler.931.saveDom] save to 20211027095159/280_AddressManageActivity.tag=TextView.depth=14.id=tv_edit_address.text=编辑.dom 2021-10-29 09:41:30 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:30 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:31 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:31 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:31 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:31 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 281 2021-10-29 09:41:31 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:31 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:31 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:31 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:41:31 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:41:31 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:41:31 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:41:31 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:41:31 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:41:31 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=北京市 by first available element 2021-10-29 09:41:31 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:31 INFO [Crawler.996.doElementAction] current element = AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=北京市 2021-10-29 09:41:31 INFO [Crawler.997.doElementAction] current index = 281 2021-10-29 09:41:31 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:31 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="北京市" and @resource-id="com.jlpay.merch:id/text_province"] 2021-10-29 09:41:31 INFO [Crawler.1000.doElementAction] current url = AddressOperateActivity 2021-10-29 09:41:31 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:41:31 INFO [Crawler.1002.doElementAction] current file name = AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=北京市 2021-10-29 09:41:31 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:31 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=北京市 2021-10-29 09:41:31 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="北京市" and @resource-id="com.jlpay.merch:id/text_province"] 2021-10-29 09:41:31 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:31 INFO [Crawler.1080.doElementAction] mark 20211027095159/280_AddressManageActivity.tag=TextView.depth=14.id=tv_edit_address.text=编辑.clicked.png to 20211027095159/281_AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=北京市.click.png 2021-10-29 09:41:31 INFO [AppiumClient.141.mark] read from 20211027095159/280_AddressManageActivity.tag=TextView.depth=14.id=tv_edit_address.text=编辑.clicked.png 2021-10-29 09:41:31 INFO [AppiumClient.154.mark] write png 20211027095159/280_AddressManageActivity.tag=TextView.depth=14.id=tv_edit_address.text=编辑.clicked.png 2021-10-29 09:41:31 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/281_AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=北京市.click.png 2021-10-29 09:41:32 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:32 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="北京市" and @resource-id="com.jlpay.merch:id/text_province"]] 2021-10-29 09:41:32 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:32 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:32 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:32 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:32 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:32 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:32 INFO [Crawler.649.parsePageContext] url=AddressOperateActivity 2021-10-29 09:41:32 INFO [Crawler.673.parsePageContext] currentContentHash=3b34e4cdaf656287db8f6c6ff9a5fd54 lastContentHash=f907ce3412803c1a3ff056e5dbd5a894 2021-10-29 09:41:32 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:32 INFO [Crawler.931.saveDom] save to 20211027095159/281_AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=北京市.dom 2021-10-29 09:41:32 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:32 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:33 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:33 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:33 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:33 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:41:33 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 282 2021-10-29 09:41:33 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:33 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:33 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:33 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:41:33 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:41:33 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:41:33 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:41:33 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:41:33 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:41:33 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消 by first available element 2021-10-29 09:41:33 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:33 INFO [TagLimitPlugin.35.beforeElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=1000 with conf.tagLimit 2021-10-29 09:41:33 INFO [Crawler.996.doElementAction] current element = AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消 2021-10-29 09:41:33 INFO [Crawler.997.doElementAction] current index = 282 2021-10-29 09:41:33 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:33 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_wheel_dialog_left"] 2021-10-29 09:41:33 INFO [Crawler.1000.doElementAction] current url = AddressOperateActivity 2021-10-29 09:41:33 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:41:33 INFO [Crawler.1002.doElementAction] current file name = AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消 2021-10-29 09:41:33 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:33 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消 2021-10-29 09:41:33 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_wheel_dialog_left"] 2021-10-29 09:41:33 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:33 INFO [Crawler.1080.doElementAction] mark 20211027095159/281_AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=北京市.clicked.png to 20211027095159/282_AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.click.png 2021-10-29 09:41:33 INFO [AppiumClient.141.mark] read from 20211027095159/281_AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=北京市.clicked.png 2021-10-29 09:41:33 INFO [AppiumClient.154.mark] write png 20211027095159/281_AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=北京市.clicked.png 2021-10-29 09:41:33 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/282_AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.click.png 2021-10-29 09:41:33 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:33 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_wheel_dialog_left"]] 2021-10-29 09:41:33 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:33 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:34 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:34 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:34 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:34 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:34 INFO [Crawler.649.parsePageContext] url=AddressOperateActivity 2021-10-29 09:41:34 INFO [Crawler.673.parsePageContext] currentContentHash=f907ce3412803c1a3ff056e5dbd5a894 lastContentHash=3b34e4cdaf656287db8f6c6ff9a5fd54 2021-10-29 09:41:34 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:34 INFO [Crawler.931.saveDom] save to 20211027095159/282_AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.dom 2021-10-29 09:41:34 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:34 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:35 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:35 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:35 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:35 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=999 2021-10-29 09:41:35 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 283 2021-10-29 09:41:35 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:35 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:35 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:35 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:41:35 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:41:35 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:41:35 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:41:35 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:41:35 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:41:35 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=TextView.depth=12.id=text_area.text=北京市 by first available element 2021-10-29 09:41:35 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:35 INFO [Crawler.996.doElementAction] current element = AddressOperateActivity.tag=TextView.depth=12.id=text_area.text=北京市 2021-10-29 09:41:35 INFO [Crawler.997.doElementAction] current index = 283 2021-10-29 09:41:35 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:35 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="北京市" and @resource-id="com.jlpay.merch:id/text_area"] 2021-10-29 09:41:35 INFO [Crawler.1000.doElementAction] current url = AddressOperateActivity 2021-10-29 09:41:35 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:41:35 INFO [Crawler.1002.doElementAction] current file name = AddressOperateActivity.tag=TextView.depth=12.id=text_area.text=北京市 2021-10-29 09:41:35 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:35 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressOperateActivity.tag=TextView.depth=12.id=text_area.text=北京市 2021-10-29 09:41:35 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="北京市" and @resource-id="com.jlpay.merch:id/text_area"] 2021-10-29 09:41:35 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:35 INFO [Crawler.1080.doElementAction] mark 20211027095159/282_AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.clicked.png to 20211027095159/283_AddressOperateActivity.tag=TextView.depth=12.id=text_area.text=北京市.click.png 2021-10-29 09:41:35 INFO [AppiumClient.141.mark] read from 20211027095159/282_AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.clicked.png 2021-10-29 09:41:35 INFO [AppiumClient.154.mark] write png 20211027095159/282_AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.clicked.png 2021-10-29 09:41:35 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/283_AddressOperateActivity.tag=TextView.depth=12.id=text_area.text=北京市.click.png 2021-10-29 09:41:35 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:35 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="北京市" and @resource-id="com.jlpay.merch:id/text_area"]] 2021-10-29 09:41:35 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:35 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:36 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:36 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:36 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:36 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:36 INFO [Crawler.649.parsePageContext] url=AddressOperateActivity 2021-10-29 09:41:36 INFO [Crawler.673.parsePageContext] currentContentHash=ab3cfcac74bd61d30e17eb39366cdd8d lastContentHash=f907ce3412803c1a3ff056e5dbd5a894 2021-10-29 09:41:36 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:36 INFO [Crawler.931.saveDom] save to 20211027095159/283_AddressOperateActivity.tag=TextView.depth=12.id=text_area.text=北京市.dom 2021-10-29 09:41:36 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:36 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:37 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:37 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:37 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:37 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:41:37 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 284 2021-10-29 09:41:37 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:37 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:37 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:37 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:41:37 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:41:37 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:41:37 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:41:37 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:41:37 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:41:37 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=TextView.depth=12.id=text_city.text=东城区 by first available element 2021-10-29 09:41:37 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:37 INFO [Crawler.996.doElementAction] current element = AddressOperateActivity.tag=TextView.depth=12.id=text_city.text=东城区 2021-10-29 09:41:37 INFO [Crawler.997.doElementAction] current index = 284 2021-10-29 09:41:37 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:37 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="东城区" and @resource-id="com.jlpay.merch:id/text_city"] 2021-10-29 09:41:37 INFO [Crawler.1000.doElementAction] current url = AddressOperateActivity 2021-10-29 09:41:37 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:41:37 INFO [Crawler.1002.doElementAction] current file name = AddressOperateActivity.tag=TextView.depth=12.id=text_city.text=东城区 2021-10-29 09:41:37 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:37 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressOperateActivity.tag=TextView.depth=12.id=text_city.text=东城区 2021-10-29 09:41:37 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="东城区" and @resource-id="com.jlpay.merch:id/text_city"] 2021-10-29 09:41:37 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:37 INFO [Crawler.1080.doElementAction] mark 20211027095159/283_AddressOperateActivity.tag=TextView.depth=12.id=text_area.text=北京市.clicked.png to 20211027095159/284_AddressOperateActivity.tag=TextView.depth=12.id=text_city.text=东城区.click.png 2021-10-29 09:41:37 INFO [AppiumClient.141.mark] read from 20211027095159/283_AddressOperateActivity.tag=TextView.depth=12.id=text_area.text=北京市.clicked.png 2021-10-29 09:41:37 INFO [AppiumClient.154.mark] write png 20211027095159/283_AddressOperateActivity.tag=TextView.depth=12.id=text_area.text=北京市.clicked.png 2021-10-29 09:41:37 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/284_AddressOperateActivity.tag=TextView.depth=12.id=text_city.text=东城区.click.png 2021-10-29 09:41:37 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:37 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="东城区" and @resource-id="com.jlpay.merch:id/text_city"]] 2021-10-29 09:41:37 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:37 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:38 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:38 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:38 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:38 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:38 INFO [Crawler.649.parsePageContext] url=AddressOperateActivity 2021-10-29 09:41:38 INFO [Crawler.673.parsePageContext] currentContentHash=ab3cfcac74bd61d30e17eb39366cdd8d lastContentHash=ab3cfcac74bd61d30e17eb39366cdd8d 2021-10-29 09:41:38 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:41:38 INFO [Crawler.931.saveDom] save to 20211027095159/284_AddressOperateActivity.tag=TextView.depth=12.id=text_city.text=东城区.dom 2021-10-29 09:41:38 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:38 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:39 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:39 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:39 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:39 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=1 2021-10-29 09:41:39 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 285 2021-10-29 09:41:39 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:39 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:39 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:39 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:41:39 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:41:39 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:41:39 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:41:39 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:41:39 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:41:39 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=test by first available element 2021-10-29 09:41:39 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:39 INFO [Crawler.996.doElementAction] current element = AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=test 2021-10-29 09:41:39 INFO [Crawler.997.doElementAction] current index = 285 2021-10-29 09:41:39 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:39 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="test" and @resource-id="com.jlpay.merch:id/edt_contact"] 2021-10-29 09:41:39 INFO [Crawler.1000.doElementAction] current url = AddressOperateActivity 2021-10-29 09:41:39 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText 2021-10-29 09:41:39 INFO [Crawler.1002.doElementAction] current file name = AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=test 2021-10-29 09:41:39 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:39 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=test 2021-10-29 09:41:39 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="test" and @resource-id="com.jlpay.merch:id/edt_contact"] 2021-10-29 09:41:39 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:39 INFO [Crawler.1080.doElementAction] mark 20211027095159/284_AddressOperateActivity.tag=TextView.depth=12.id=text_city.text=东城区.clicked.png to 20211027095159/285_AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=test.click.png 2021-10-29 09:41:39 INFO [AppiumClient.141.mark] read from 20211027095159/284_AddressOperateActivity.tag=TextView.depth=12.id=text_city.text=东城区.clicked.png 2021-10-29 09:41:39 INFO [AppiumClient.154.mark] write png 20211027095159/284_AddressOperateActivity.tag=TextView.depth=12.id=text_city.text=东城区.clicked.png 2021-10-29 09:41:39 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/285_AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=test.click.png 2021-10-29 09:41:39 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:39 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="test" and @resource-id="com.jlpay.merch:id/edt_contact"]] 2021-10-29 09:41:40 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:40 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:41 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:41 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:41 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:41 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:41 INFO [Crawler.649.parsePageContext] url=AddressOperateActivity 2021-10-29 09:41:41 INFO [Crawler.673.parsePageContext] currentContentHash=9ddde922bfdf2d7738ce83ab6aab9c27 lastContentHash=ab3cfcac74bd61d30e17eb39366cdd8d 2021-10-29 09:41:41 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:41 INFO [Crawler.931.saveDom] save to 20211027095159/285_AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=test.dom 2021-10-29 09:41:41 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:41 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:42 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:42 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:42 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:42 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText]=3 2021-10-29 09:41:42 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 286 2021-10-29 09:41:42 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:42 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:42 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:42 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:41:42 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:41:42 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:41:42 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:41:42 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:41:42 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:41:42 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=EditText.depth=11.id=edt_address.text=110 by first available element 2021-10-29 09:41:42 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:42 INFO [Crawler.996.doElementAction] current element = AddressOperateActivity.tag=EditText.depth=11.id=edt_address.text=110 2021-10-29 09:41:42 INFO [Crawler.997.doElementAction] current index = 286 2021-10-29 09:41:42 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:42 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="110" and @resource-id="com.jlpay.merch:id/edt_address"] 2021-10-29 09:41:42 INFO [Crawler.1000.doElementAction] current url = AddressOperateActivity 2021-10-29 09:41:42 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText 2021-10-29 09:41:42 INFO [Crawler.1002.doElementAction] current file name = AddressOperateActivity.tag=EditText.depth=11.id=edt_address.text=110 2021-10-29 09:41:42 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:42 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressOperateActivity.tag=EditText.depth=11.id=edt_address.text=110 2021-10-29 09:41:42 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="110" and @resource-id="com.jlpay.merch:id/edt_address"] 2021-10-29 09:41:42 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:42 INFO [Crawler.1080.doElementAction] mark 20211027095159/285_AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=test.clicked.png to 20211027095159/286_AddressOperateActivity.tag=EditText.depth=11.id=edt_address.text=110.click.png 2021-10-29 09:41:42 INFO [AppiumClient.141.mark] read from 20211027095159/285_AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=test.clicked.png 2021-10-29 09:41:42 INFO [AppiumClient.154.mark] write png 20211027095159/285_AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=test.clicked.png 2021-10-29 09:41:42 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/286_AddressOperateActivity.tag=EditText.depth=11.id=edt_address.text=110.click.png 2021-10-29 09:41:42 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:42 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="110" and @resource-id="com.jlpay.merch:id/edt_address"]] 2021-10-29 09:41:43 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:43 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:44 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:44 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:44 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:44 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:44 INFO [Crawler.649.parsePageContext] url=AddressOperateActivity 2021-10-29 09:41:44 INFO [Crawler.673.parsePageContext] currentContentHash=f907ce3412803c1a3ff056e5dbd5a894 lastContentHash=9ddde922bfdf2d7738ce83ab6aab9c27 2021-10-29 09:41:44 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:44 INFO [Crawler.931.saveDom] save to 20211027095159/286_AddressOperateActivity.tag=EditText.depth=11.id=edt_address.text=110.dom 2021-10-29 09:41:44 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:44 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:45 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:45 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:45 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:45 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText]=2 2021-10-29 09:41:45 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 287 2021-10-29 09:41:45 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:45 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:45 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:45 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:41:45 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:41:45 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:41:45 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:41:45 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:41:45 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:41:45 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=Button.depth=10.id=saveinfo.text=保存信息 by first available element 2021-10-29 09:41:45 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:45 INFO [Crawler.996.doElementAction] current element = AddressOperateActivity.tag=Button.depth=10.id=saveinfo.text=保存信息 2021-10-29 09:41:45 INFO [Crawler.997.doElementAction] current index = 287 2021-10-29 09:41:45 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:45 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="保存信息" and @resource-id="com.jlpay.merch:id/saveinfo"] 2021-10-29 09:41:45 INFO [Crawler.1000.doElementAction] current url = AddressOperateActivity 2021-10-29 09:41:45 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:41:45 INFO [Crawler.1002.doElementAction] current file name = AddressOperateActivity.tag=Button.depth=10.id=saveinfo.text=保存信息 2021-10-29 09:41:45 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:45 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressOperateActivity.tag=Button.depth=10.id=saveinfo.text=保存信息 2021-10-29 09:41:45 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="保存信息" and @resource-id="com.jlpay.merch:id/saveinfo"] 2021-10-29 09:41:45 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:45 INFO [Crawler.1080.doElementAction] mark 20211027095159/286_AddressOperateActivity.tag=EditText.depth=11.id=edt_address.text=110.clicked.png to 20211027095159/287_AddressOperateActivity.tag=Button.depth=10.id=saveinfo.text=保存信息.click.png 2021-10-29 09:41:45 INFO [AppiumClient.141.mark] read from 20211027095159/286_AddressOperateActivity.tag=EditText.depth=11.id=edt_address.text=110.clicked.png 2021-10-29 09:41:45 INFO [AppiumClient.154.mark] write png 20211027095159/286_AddressOperateActivity.tag=EditText.depth=11.id=edt_address.text=110.clicked.png 2021-10-29 09:41:45 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/287_AddressOperateActivity.tag=Button.depth=10.id=saveinfo.text=保存信息.click.png 2021-10-29 09:41:45 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:45 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="保存信息" and @resource-id="com.jlpay.merch:id/saveinfo"]] 2021-10-29 09:41:46 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:46 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:47 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:47 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:47 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:47 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:47 INFO [Crawler.649.parsePageContext] url=AddressManageActivity 2021-10-29 09:41:47 INFO [Crawler.673.parsePageContext] currentContentHash=b5b7cba713c16936c259a4cd036aaca2 lastContentHash=f907ce3412803c1a3ff056e5dbd5a894 2021-10-29 09:41:47 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:47 INFO [Crawler.931.saveDom] save to 20211027095159/287_AddressOperateActivity.tag=Button.depth=10.id=saveinfo.text=保存信息.dom 2021-10-29 09:41:47 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:47 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:48 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:48 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:48 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:48 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 288 2021-10-29 09:41:48 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:48 INFO [Crawler.425.needReturn] urlStack=Stack(AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:48 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:48 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:41:48 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:41:48 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:41:48 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:41:48 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:41:48 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:41:48 INFO [Crawler.843.crawl] found AddressManageActivity.tag=TextView.depth=13.id=tv_delete.text=删除 by first available element 2021-10-29 09:41:48 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:48 INFO [Crawler.996.doElementAction] current element = AddressManageActivity.tag=TextView.depth=13.id=tv_delete.text=删除 2021-10-29 09:41:48 INFO [Crawler.997.doElementAction] current index = 288 2021-10-29 09:41:48 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:48 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="删除" and @resource-id="com.jlpay.merch:id/tv_delete"] 2021-10-29 09:41:48 INFO [Crawler.1000.doElementAction] current url = AddressManageActivity 2021-10-29 09:41:48 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:41:48 INFO [Crawler.1002.doElementAction] current file name = AddressManageActivity.tag=TextView.depth=13.id=tv_delete.text=删除 2021-10-29 09:41:48 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:48 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressManageActivity.tag=TextView.depth=13.id=tv_delete.text=删除 2021-10-29 09:41:48 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="删除" and @resource-id="com.jlpay.merch:id/tv_delete"] 2021-10-29 09:41:48 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:48 INFO [Crawler.1080.doElementAction] mark 20211027095159/287_AddressOperateActivity.tag=Button.depth=10.id=saveinfo.text=保存信息.clicked.png to 20211027095159/288_AddressManageActivity.tag=TextView.depth=13.id=tv_delete.text=删除.click.png 2021-10-29 09:41:48 INFO [AppiumClient.141.mark] read from 20211027095159/287_AddressOperateActivity.tag=Button.depth=10.id=saveinfo.text=保存信息.clicked.png 2021-10-29 09:41:48 INFO [AppiumClient.154.mark] write png 20211027095159/287_AddressOperateActivity.tag=Button.depth=10.id=saveinfo.text=保存信息.clicked.png 2021-10-29 09:41:48 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/288_AddressManageActivity.tag=TextView.depth=13.id=tv_delete.text=删除.click.png 2021-10-29 09:41:48 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:48 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="删除" and @resource-id="com.jlpay.merch:id/tv_delete"]] 2021-10-29 09:41:48 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:48 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:49 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:49 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:49 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:49 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:49 INFO [Crawler.649.parsePageContext] url=AddressManageActivity 2021-10-29 09:41:49 INFO [Crawler.673.parsePageContext] currentContentHash=0e600416ec465f3586e0a8cc3cc1d48c lastContentHash=b5b7cba713c16936c259a4cd036aaca2 2021-10-29 09:41:49 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:49 INFO [Crawler.931.saveDom] save to 20211027095159/288_AddressManageActivity.tag=TextView.depth=13.id=tv_delete.text=删除.dom 2021-10-29 09:41:49 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:49 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:49 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:49 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:49 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:49 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressManageActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:41:49 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 289 2021-10-29 09:41:49 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:49 INFO [Crawler.425.needReturn] urlStack=Stack(AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:49 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:49 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:41:49 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:41:49 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:41:49 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:41:49 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:41:49 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:41:49 INFO [Crawler.843.crawl] found AddressManageActivity.tag=Button.depth=8.id=positive_button.text=确认 by first available element 2021-10-29 09:41:49 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:49 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[AddressManageActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=20 2021-10-29 09:41:49 INFO [Crawler.996.doElementAction] current element = AddressManageActivity.tag=Button.depth=8.id=positive_button.text=确认 2021-10-29 09:41:49 INFO [Crawler.997.doElementAction] current index = 289 2021-10-29 09:41:49 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:49 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/positive_button"] 2021-10-29 09:41:49 INFO [Crawler.1000.doElementAction] current url = AddressManageActivity 2021-10-29 09:41:49 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:41:49 INFO [Crawler.1002.doElementAction] current file name = AddressManageActivity.tag=Button.depth=8.id=positive_button.text=确认 2021-10-29 09:41:49 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:49 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressManageActivity.tag=Button.depth=8.id=positive_button.text=确认 2021-10-29 09:41:49 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/positive_button"] 2021-10-29 09:41:49 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:49 INFO [Crawler.1080.doElementAction] mark 20211027095159/288_AddressManageActivity.tag=TextView.depth=13.id=tv_delete.text=删除.clicked.png to 20211027095159/289_AddressManageActivity.tag=Button.depth=8.id=positive_button.text=确认.click.png 2021-10-29 09:41:49 INFO [AppiumClient.141.mark] read from 20211027095159/288_AddressManageActivity.tag=TextView.depth=13.id=tv_delete.text=删除.clicked.png 2021-10-29 09:41:49 INFO [AppiumClient.154.mark] write png 20211027095159/288_AddressManageActivity.tag=TextView.depth=13.id=tv_delete.text=删除.clicked.png 2021-10-29 09:41:49 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/289_AddressManageActivity.tag=Button.depth=8.id=positive_button.text=确认.click.png 2021-10-29 09:41:50 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:50 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/positive_button"]] 2021-10-29 09:41:50 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:50 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:50 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:50 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:52 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:52 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:53 INFO [Crawler.649.parsePageContext] url=AddressManageActivity 2021-10-29 09:41:53 INFO [Crawler.673.parsePageContext] currentContentHash=2c2e6dca1933754d2ee3ef862b7e5f9e lastContentHash=0e600416ec465f3586e0a8cc3cc1d48c 2021-10-29 09:41:53 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:53 INFO [Crawler.931.saveDom] save to 20211027095159/289_AddressManageActivity.tag=Button.depth=8.id=positive_button.text=确认.dom 2021-10-29 09:41:53 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:53 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:53 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:53 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:53 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:53 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressManageActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=3 2021-10-29 09:41:53 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 290 2021-10-29 09:41:53 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:53 INFO [Crawler.425.needReturn] urlStack=Stack(AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:53 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:53 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:41:53 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:41:53 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:41:53 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:41:53 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:41:53 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:41:53 INFO [Crawler.843.crawl] found AddressManageActivity.tag=CheckBox.depth=13.id=ck_address_click.text=设为默认地址 by first available element 2021-10-29 09:41:53 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:53 INFO [Crawler.996.doElementAction] current element = AddressManageActivity.tag=CheckBox.depth=13.id=ck_address_click.text=设为默认地址 2021-10-29 09:41:53 INFO [Crawler.997.doElementAction] current index = 290 2021-10-29 09:41:53 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:53 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="设为默认地址" and @resource-id="com.jlpay.merch:id/ck_address_click"] 2021-10-29 09:41:53 INFO [Crawler.1000.doElementAction] current url = AddressManageActivity 2021-10-29 09:41:53 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.CheckBox 2021-10-29 09:41:53 INFO [Crawler.1002.doElementAction] current file name = AddressManageActivity.tag=CheckBox.depth=13.id=ck_address_click.text=设为默认地址 2021-10-29 09:41:53 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:53 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressManageActivity.tag=CheckBox.depth=13.id=ck_address_click.text=设为默认地址 2021-10-29 09:41:53 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="设为默认地址" and @resource-id="com.jlpay.merch:id/ck_address_click"] 2021-10-29 09:41:54 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:54 INFO [Crawler.1080.doElementAction] mark 20211027095159/289_AddressManageActivity.tag=Button.depth=8.id=positive_button.text=确认.clicked.png to 20211027095159/290_AddressManageActivity.tag=CheckBox.depth=13.id=ck_address_click.text=设为默认地址.click.png 2021-10-29 09:41:54 INFO [AppiumClient.141.mark] read from 20211027095159/289_AddressManageActivity.tag=Button.depth=8.id=positive_button.text=确认.clicked.png 2021-10-29 09:41:54 INFO [AppiumClient.154.mark] write png 20211027095159/289_AddressManageActivity.tag=Button.depth=8.id=positive_button.text=确认.clicked.png 2021-10-29 09:41:54 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/290_AddressManageActivity.tag=CheckBox.depth=13.id=ck_address_click.text=设为默认地址.click.png 2021-10-29 09:41:54 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:54 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@text="设为默认地址" and @resource-id="com.jlpay.merch:id/ck_address_click"]] 2021-10-29 09:41:54 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:54 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:55 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:55 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:55 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:55 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:55 INFO [Crawler.649.parsePageContext] url=AddressManageActivity 2021-10-29 09:41:55 INFO [Crawler.673.parsePageContext] currentContentHash=c540818f6b2793f188ef1d42e542ee2a lastContentHash=2c2e6dca1933754d2ee3ef862b7e5f9e 2021-10-29 09:41:55 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:55 INFO [Crawler.931.saveDom] save to 20211027095159/290_AddressManageActivity.tag=CheckBox.depth=13.id=ck_address_click.text=设为默认地址.dom 2021-10-29 09:41:55 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:55 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:55 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:55 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:55 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:55 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressManageActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.CheckBox]=3 2021-10-29 09:41:55 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 291 2021-10-29 09:41:55 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:55 INFO [Crawler.425.needReturn] urlStack=Stack(AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:55 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:55 INFO [Crawler.487.getAvailableElement] selected nodes size = 1 2021-10-29 09:41:55 INFO [Crawler.499.getAvailableElement] all - black elements size = 1 2021-10-29 09:41:55 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 1 2021-10-29 09:41:55 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:41:55 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:41:55 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:41:55 INFO [Crawler.843.crawl] found AddressManageActivity.tag=Button.depth=8.id=positive_button.text=我知道了 by first available element 2021-10-29 09:41:55 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:55 INFO [Crawler.996.doElementAction] current element = AddressManageActivity.tag=Button.depth=8.id=positive_button.text=我知道了 2021-10-29 09:41:55 INFO [Crawler.997.doElementAction] current index = 291 2021-10-29 09:41:55 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:55 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="我知道了" and @resource-id="com.jlpay.merch:id/positive_button"] 2021-10-29 09:41:55 INFO [Crawler.1000.doElementAction] current url = AddressManageActivity 2021-10-29 09:41:55 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:41:55 INFO [Crawler.1002.doElementAction] current file name = AddressManageActivity.tag=Button.depth=8.id=positive_button.text=我知道了 2021-10-29 09:41:55 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:55 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressManageActivity.tag=Button.depth=8.id=positive_button.text=我知道了 2021-10-29 09:41:55 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="我知道了" and @resource-id="com.jlpay.merch:id/positive_button"] 2021-10-29 09:41:56 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:56 INFO [Crawler.1080.doElementAction] mark 20211027095159/290_AddressManageActivity.tag=CheckBox.depth=13.id=ck_address_click.text=设为默认地址.clicked.png to 20211027095159/291_AddressManageActivity.tag=Button.depth=8.id=positive_button.text=我知道了.click.png 2021-10-29 09:41:56 INFO [AppiumClient.141.mark] read from 20211027095159/290_AddressManageActivity.tag=CheckBox.depth=13.id=ck_address_click.text=设为默认地址.clicked.png 2021-10-29 09:41:56 INFO [AppiumClient.154.mark] write png 20211027095159/290_AddressManageActivity.tag=CheckBox.depth=13.id=ck_address_click.text=设为默认地址.clicked.png 2021-10-29 09:41:56 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/291_AddressManageActivity.tag=Button.depth=8.id=positive_button.text=我知道了.click.png 2021-10-29 09:41:56 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:56 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="我知道了" and @resource-id="com.jlpay.merch:id/positive_button"]] 2021-10-29 09:41:56 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:56 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:56 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:56 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:56 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:56 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:57 INFO [Crawler.649.parsePageContext] url=AddressManageActivity 2021-10-29 09:41:57 INFO [Crawler.673.parsePageContext] currentContentHash=330e19fad01daeeee92ea5a4c0ab77be lastContentHash=c540818f6b2793f188ef1d42e542ee2a 2021-10-29 09:41:57 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:57 INFO [Crawler.931.saveDom] save to 20211027095159/291_AddressManageActivity.tag=Button.depth=8.id=positive_button.text=我知道了.dom 2021-10-29 09:41:57 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:57 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:41:57 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:41:57 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:41:57 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:41:57 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressManageActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=2 2021-10-29 09:41:57 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 292 2021-10-29 09:41:57 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:41:57 INFO [Crawler.425.needReturn] urlStack=Stack(AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:41:57 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:41:57 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:41:57 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:41:57 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:41:57 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:41:57 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:41:57 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:41:57 INFO [Crawler.843.crawl] found AddressManageActivity.tag=Button.depth=9.id=btn_add.text=新增收货地址 by first available element 2021-10-29 09:41:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:41:57 INFO [Crawler.996.doElementAction] current element = AddressManageActivity.tag=Button.depth=9.id=btn_add.text=新增收货地址 2021-10-29 09:41:57 INFO [Crawler.997.doElementAction] current index = 292 2021-10-29 09:41:57 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:41:57 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="新增收货地址" and @resource-id="com.jlpay.merch:id/btn_add"] 2021-10-29 09:41:57 INFO [Crawler.1000.doElementAction] current url = AddressManageActivity 2021-10-29 09:41:57 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:41:57 INFO [Crawler.1002.doElementAction] current file name = AddressManageActivity.tag=Button.depth=9.id=btn_add.text=新增收货地址 2021-10-29 09:41:57 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:41:57 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressManageActivity.tag=Button.depth=9.id=btn_add.text=新增收货地址 2021-10-29 09:41:57 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="新增收货地址" and @resource-id="com.jlpay.merch:id/btn_add"] 2021-10-29 09:41:58 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:41:58 INFO [Crawler.1080.doElementAction] mark 20211027095159/291_AddressManageActivity.tag=Button.depth=8.id=positive_button.text=我知道了.clicked.png to 20211027095159/292_AddressManageActivity.tag=Button.depth=9.id=btn_add.text=新增收货地址.click.png 2021-10-29 09:41:58 INFO [AppiumClient.141.mark] read from 20211027095159/291_AddressManageActivity.tag=Button.depth=8.id=positive_button.text=我知道了.clicked.png 2021-10-29 09:41:58 INFO [AppiumClient.154.mark] write png 20211027095159/291_AddressManageActivity.tag=Button.depth=8.id=positive_button.text=我知道了.clicked.png 2021-10-29 09:41:58 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/292_AddressManageActivity.tag=Button.depth=9.id=btn_add.text=新增收货地址.click.png 2021-10-29 09:41:58 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:41:58 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="新增收货地址" and @resource-id="com.jlpay.merch:id/btn_add"]] 2021-10-29 09:41:58 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:41:58 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:41:58 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:41:58 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:41:59 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:41:59 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:41:59 INFO [Crawler.649.parsePageContext] url=AddressOperateActivity 2021-10-29 09:41:59 INFO [Crawler.673.parsePageContext] currentContentHash=5db3c0bc7b25372acb4c1871f8a8b0c7 lastContentHash=330e19fad01daeeee92ea5a4c0ab77be 2021-10-29 09:41:59 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:41:59 INFO [Crawler.931.saveDom] save to 20211027095159/292_AddressManageActivity.tag=Button.depth=9.id=btn_add.text=新增收货地址.dom 2021-10-29 09:41:59 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:41:59 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:00 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:00 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:00 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:00 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 293 2021-10-29 09:42:00 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:00 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:00 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:00 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:42:00 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:42:00 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:42:00 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:42:00 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:42:00 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:42:00 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=请选择省 by first available element 2021-10-29 09:42:00 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:00 INFO [Crawler.996.doElementAction] current element = AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=请选择省 2021-10-29 09:42:00 INFO [Crawler.997.doElementAction] current index = 293 2021-10-29 09:42:00 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:00 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="请选择省" and @resource-id="com.jlpay.merch:id/text_province"] 2021-10-29 09:42:00 INFO [Crawler.1000.doElementAction] current url = AddressOperateActivity 2021-10-29 09:42:00 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:42:00 INFO [Crawler.1002.doElementAction] current file name = AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=请选择省 2021-10-29 09:42:00 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:00 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=请选择省 2021-10-29 09:42:00 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="请选择省" and @resource-id="com.jlpay.merch:id/text_province"] 2021-10-29 09:42:00 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:00 INFO [Crawler.1080.doElementAction] mark 20211027095159/292_AddressManageActivity.tag=Button.depth=9.id=btn_add.text=新增收货地址.clicked.png to 20211027095159/293_AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=请选择省.click.png 2021-10-29 09:42:00 INFO [AppiumClient.141.mark] read from 20211027095159/292_AddressManageActivity.tag=Button.depth=9.id=btn_add.text=新增收货地址.clicked.png 2021-10-29 09:42:00 INFO [AppiumClient.154.mark] write png 20211027095159/292_AddressManageActivity.tag=Button.depth=9.id=btn_add.text=新增收货地址.clicked.png 2021-10-29 09:42:00 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/293_AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=请选择省.click.png 2021-10-29 09:42:00 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:00 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="请选择省" and @resource-id="com.jlpay.merch:id/text_province"]] 2021-10-29 09:42:00 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:00 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:00 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:00 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:00 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:00 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:01 INFO [Crawler.649.parsePageContext] url=AddressOperateActivity 2021-10-29 09:42:01 INFO [Crawler.673.parsePageContext] currentContentHash=3b34e4cdaf656287db8f6c6ff9a5fd54 lastContentHash=5db3c0bc7b25372acb4c1871f8a8b0c7 2021-10-29 09:42:01 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:01 INFO [Crawler.931.saveDom] save to 20211027095159/293_AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=请选择省.dom 2021-10-29 09:42:01 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:01 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:01 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:01 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:01 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:01 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:42:01 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 294 2021-10-29 09:42:01 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:01 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:01 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:01 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:42:01 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:42:01 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:42:01 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:42:01 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:42:01 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:42:01 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_right.text=确认 by first available element 2021-10-29 09:42:01 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:01 INFO [Crawler.996.doElementAction] current element = AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_right.text=确认 2021-10-29 09:42:01 INFO [Crawler.997.doElementAction] current index = 294 2021-10-29 09:42:01 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:01 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/tv_wheel_dialog_right"] 2021-10-29 09:42:01 INFO [Crawler.1000.doElementAction] current url = AddressOperateActivity 2021-10-29 09:42:01 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:42:01 INFO [Crawler.1002.doElementAction] current file name = AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_right.text=确认 2021-10-29 09:42:01 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:01 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_right.text=确认 2021-10-29 09:42:01 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/tv_wheel_dialog_right"] 2021-10-29 09:42:01 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:01 INFO [Crawler.1080.doElementAction] mark 20211027095159/293_AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=请选择省.clicked.png to 20211027095159/294_AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_right.text=确认.click.png 2021-10-29 09:42:01 INFO [AppiumClient.141.mark] read from 20211027095159/293_AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=请选择省.clicked.png 2021-10-29 09:42:01 INFO [AppiumClient.154.mark] write png 20211027095159/293_AddressOperateActivity.tag=TextView.depth=12.id=text_province.text=请选择省.clicked.png 2021-10-29 09:42:01 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/294_AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_right.text=确认.click.png 2021-10-29 09:42:02 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:02 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/tv_wheel_dialog_right"]] 2021-10-29 09:42:02 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:02 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:02 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:02 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:02 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:02 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:03 INFO [Crawler.649.parsePageContext] url=AddressOperateActivity 2021-10-29 09:42:03 INFO [Crawler.673.parsePageContext] currentContentHash=e48e640e06d1fb89d416d1a85e09884c lastContentHash=3b34e4cdaf656287db8f6c6ff9a5fd54 2021-10-29 09:42:03 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:03 INFO [Crawler.931.saveDom] save to 20211027095159/294_AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_right.text=确认.dom 2021-10-29 09:42:03 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:03 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:03 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:03 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:03 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:03 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=998 2021-10-29 09:42:03 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 295 2021-10-29 09:42:03 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:03 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:03 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:03 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:42:03 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:42:03 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:42:03 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:42:03 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:42:03 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:42:03 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=TextView.depth=12.id=text_area.text=请选择市 by first available element 2021-10-29 09:42:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:03 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:42:03 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:42:03 INFO [TagLimitPlugin.45.beforeElementAction] AddressOperateActivity.tag=TextView.depth=12.id=text_area.text=请选择市 need skip 2021-10-29 09:42:03 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:03 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:42:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:03 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:03 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:03 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:42:03 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:42:03 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:42:03 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:42:03 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:42:03 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:42:03 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=TextView.depth=12.id=text_city.text=请选择区域 by first available element 2021-10-29 09:42:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:03 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:42:03 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:42:03 INFO [TagLimitPlugin.45.beforeElementAction] AddressOperateActivity.tag=TextView.depth=12.id=text_city.text=请选择区域 need skip 2021-10-29 09:42:03 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:03 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:42:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:03 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:03 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:03 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:42:03 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:42:03 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:42:03 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:42:03 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:42:03 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:42:03 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=请输入真实姓名 by first available element 2021-10-29 09:42:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:03 INFO [Crawler.996.doElementAction] current element = AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=请输入真实姓名 2021-10-29 09:42:03 INFO [Crawler.997.doElementAction] current index = 295 2021-10-29 09:42:03 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:03 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="请输入真实姓名" and @resource-id="com.jlpay.merch:id/edt_contact"] 2021-10-29 09:42:03 INFO [Crawler.1000.doElementAction] current url = AddressOperateActivity 2021-10-29 09:42:03 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText 2021-10-29 09:42:03 INFO [Crawler.1002.doElementAction] current file name = AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=请输入真实姓名 2021-10-29 09:42:03 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:03 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=请输入真实姓名 2021-10-29 09:42:03 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="请输入真实姓名" and @resource-id="com.jlpay.merch:id/edt_contact"] 2021-10-29 09:42:03 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:03 INFO [Crawler.1080.doElementAction] mark 20211027095159/294_AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_right.text=确认.clicked.png to 20211027095159/295_AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=请输入真实姓名.click.png 2021-10-29 09:42:03 INFO [AppiumClient.141.mark] read from 20211027095159/294_AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_right.text=确认.clicked.png 2021-10-29 09:42:03 INFO [AppiumClient.154.mark] write png 20211027095159/294_AddressOperateActivity.tag=TextView.depth=7.id=tv_wheel_dialog_right.text=确认.clicked.png 2021-10-29 09:42:03 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/295_AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=请输入真实姓名.click.png 2021-10-29 09:42:04 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:04 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="请输入真实姓名" and @resource-id="com.jlpay.merch:id/edt_contact"]] 2021-10-29 09:42:05 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:05 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:06 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:06 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:06 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:06 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:06 INFO [Crawler.649.parsePageContext] url=AddressOperateActivity 2021-10-29 09:42:06 INFO [Crawler.673.parsePageContext] currentContentHash=e48e640e06d1fb89d416d1a85e09884c lastContentHash=e48e640e06d1fb89d416d1a85e09884c 2021-10-29 09:42:06 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:42:06 INFO [Crawler.931.saveDom] save to 20211027095159/295_AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=请输入真实姓名.dom 2021-10-29 09:42:06 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:06 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:07 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:07 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:07 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:07 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText]=1 2021-10-29 09:42:07 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 296 2021-10-29 09:42:07 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:07 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:07 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:07 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:42:07 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:42:07 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:42:07 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:42:07 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:42:07 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:42:07 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=EditText.depth=11.id=edt_phone.text=请输入手机号 by first available element 2021-10-29 09:42:07 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:07 INFO [Crawler.996.doElementAction] current element = AddressOperateActivity.tag=EditText.depth=11.id=edt_phone.text=请输入手机号 2021-10-29 09:42:07 INFO [Crawler.997.doElementAction] current index = 296 2021-10-29 09:42:07 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:07 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="请输入手机号" and @resource-id="com.jlpay.merch:id/edt_phone"] 2021-10-29 09:42:07 INFO [Crawler.1000.doElementAction] current url = AddressOperateActivity 2021-10-29 09:42:07 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText 2021-10-29 09:42:07 INFO [Crawler.1002.doElementAction] current file name = AddressOperateActivity.tag=EditText.depth=11.id=edt_phone.text=请输入手机号 2021-10-29 09:42:07 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:07 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressOperateActivity.tag=EditText.depth=11.id=edt_phone.text=请输入手机号 2021-10-29 09:42:07 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="请输入手机号" and @resource-id="com.jlpay.merch:id/edt_phone"] 2021-10-29 09:42:07 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:07 INFO [Crawler.1080.doElementAction] mark 20211027095159/295_AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=请输入真实姓名.clicked.png to 20211027095159/296_AddressOperateActivity.tag=EditText.depth=11.id=edt_phone.text=请输入手机号.click.png 2021-10-29 09:42:07 INFO [AppiumClient.141.mark] read from 20211027095159/295_AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=请输入真实姓名.clicked.png 2021-10-29 09:42:07 INFO [AppiumClient.154.mark] write png 20211027095159/295_AddressOperateActivity.tag=EditText.depth=11.id=edt_contact.text=请输入真实姓名.clicked.png 2021-10-29 09:42:07 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/296_AddressOperateActivity.tag=EditText.depth=11.id=edt_phone.text=请输入手机号.click.png 2021-10-29 09:42:07 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:07 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/NestedScrollView"]//*[@text="请输入手机号" and @resource-id="com.jlpay.merch:id/edt_phone"]] 2021-10-29 09:42:09 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:09 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:09 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:09 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:09 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:09 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:09 INFO [Crawler.649.parsePageContext] url=AddressOperateActivity 2021-10-29 09:42:09 INFO [Crawler.673.parsePageContext] currentContentHash=e48e640e06d1fb89d416d1a85e09884c lastContentHash=e48e640e06d1fb89d416d1a85e09884c 2021-10-29 09:42:09 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:42:09 INFO [Crawler.931.saveDom] save to 20211027095159/296_AddressOperateActivity.tag=EditText.depth=11.id=edt_phone.text=请输入手机号.dom 2021-10-29 09:42:10 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:10 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:10 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:10 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:10 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:10 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText]=0 2021-10-29 09:42:10 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 297 2021-10-29 09:42:10 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:10 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:10 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:10 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:42:10 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:42:10 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:42:10 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:42:10 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:42:10 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:42:10 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=EditText.depth=11.id=edt_address.text=请精确到门牌号 by first available element 2021-10-29 09:42:10 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:10 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText]=0 2021-10-29 09:42:10 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:42:10 INFO [TagLimitPlugin.45.beforeElementAction] AddressOperateActivity.tag=EditText.depth=11.id=edt_address.text=请精确到门牌号 need skip 2021-10-29 09:42:10 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:10 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:42:10 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:10 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:10 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:10 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:42:10 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:42:10 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:42:10 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:42:10 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:42:10 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:42:10 INFO [Crawler.843.crawl] found AddressOperateActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:42:10 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:10 INFO [Crawler.996.doElementAction] current element = AddressOperateActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:42:10 INFO [Crawler.997.doElementAction] current index = 297 2021-10-29 09:42:10 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:10 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:42:10 INFO [Crawler.1000.doElementAction] current url = AddressOperateActivity 2021-10-29 09:42:10 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:42:10 INFO [Crawler.1002.doElementAction] current file name = AddressOperateActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:42:10 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:10 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressOperateActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:42:10 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:42:10 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:10 INFO [Crawler.1080.doElementAction] mark 20211027095159/296_AddressOperateActivity.tag=EditText.depth=11.id=edt_phone.text=请输入手机号.clicked.png to 20211027095159/297_AddressOperateActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:42:10 INFO [AppiumClient.141.mark] read from 20211027095159/296_AddressOperateActivity.tag=EditText.depth=11.id=edt_phone.text=请输入手机号.clicked.png 2021-10-29 09:42:10 INFO [AppiumClient.154.mark] write png 20211027095159/296_AddressOperateActivity.tag=EditText.depth=11.id=edt_phone.text=请输入手机号.clicked.png 2021-10-29 09:42:10 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/297_AddressOperateActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:42:11 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:11 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:42:11 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:11 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:11 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:11 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:11 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:11 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:11 INFO [Crawler.649.parsePageContext] url=AddressOperateActivity 2021-10-29 09:42:11 INFO [Crawler.673.parsePageContext] currentContentHash=e48e640e06d1fb89d416d1a85e09884c lastContentHash=e48e640e06d1fb89d416d1a85e09884c 2021-10-29 09:42:11 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:42:11 INFO [Crawler.931.saveDom] save to 20211027095159/297_AddressOperateActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:42:11 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:11 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:12 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:12 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:12 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:12 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressOperateActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:42:12 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 298 2021-10-29 09:42:12 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:12 INFO [Crawler.425.needReturn] urlStack=Stack(AddressOperateActivity, AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:12 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:12 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:42:12 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:42:12 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:42:12 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:42:12 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:42:12 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:42:12 INFO [Crawler.851.crawl] AddressOperateActivity all elements had be clicked 2021-10-29 09:42:12 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:42:12 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:42:12 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:12 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:42:12 INFO [Crawler.996.doElementAction] current element = AddressOperateActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:12 INFO [Crawler.997.doElementAction] current index = 298 2021-10-29 09:42:12 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:12 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:12 INFO [Crawler.1000.doElementAction] current url = AddressOperateActivity 2021-10-29 09:42:12 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:42:12 INFO [Crawler.1002.doElementAction] current file name = AddressOperateActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:12 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:12 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressOperateActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:12 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:12 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:12 INFO [Crawler.1080.doElementAction] mark 20211027095159/297_AddressOperateActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/298_AddressOperateActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:12 INFO [AppiumClient.141.mark] read from 20211027095159/297_AddressOperateActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:42:12 INFO [AppiumClient.154.mark] write png 20211027095159/297_AddressOperateActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:42:12 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/298_AddressOperateActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:12 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:12 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:42:12 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:12 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:13 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:13 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:13 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:13 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:13 INFO [Crawler.649.parsePageContext] url=AddressManageActivity 2021-10-29 09:42:13 INFO [Crawler.673.parsePageContext] currentContentHash=330e19fad01daeeee92ea5a4c0ab77be lastContentHash=e48e640e06d1fb89d416d1a85e09884c 2021-10-29 09:42:13 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:13 INFO [Crawler.931.saveDom] save to 20211027095159/298_AddressOperateActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:42:14 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:14 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:14 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:14 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:14 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:14 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 299 2021-10-29 09:42:14 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:14 INFO [Crawler.425.needReturn] urlStack=Stack(AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:14 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:14 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:42:14 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:42:14 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:42:14 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:42:14 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:42:14 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:42:14 INFO [Crawler.843.crawl] found AddressManageActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:42:14 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:14 INFO [Crawler.996.doElementAction] current element = AddressManageActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:42:14 INFO [Crawler.997.doElementAction] current index = 299 2021-10-29 09:42:14 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:14 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:42:14 INFO [Crawler.1000.doElementAction] current url = AddressManageActivity 2021-10-29 09:42:14 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:42:14 INFO [Crawler.1002.doElementAction] current file name = AddressManageActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:42:14 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:14 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressManageActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:42:14 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:42:14 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:14 INFO [Crawler.1080.doElementAction] mark 20211027095159/298_AddressOperateActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/299_AddressManageActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:42:14 INFO [AppiumClient.141.mark] read from 20211027095159/298_AddressOperateActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:14 INFO [AppiumClient.154.mark] write png 20211027095159/298_AddressOperateActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:14 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/299_AddressManageActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:42:15 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:15 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:42:15 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:15 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:15 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:15 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:15 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:15 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:15 INFO [Crawler.649.parsePageContext] url=AddressManageActivity 2021-10-29 09:42:15 INFO [Crawler.673.parsePageContext] currentContentHash=330e19fad01daeeee92ea5a4c0ab77be lastContentHash=330e19fad01daeeee92ea5a4c0ab77be 2021-10-29 09:42:15 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:42:15 INFO [Crawler.931.saveDom] save to 20211027095159/299_AddressManageActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:42:15 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:15 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:16 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:16 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:16 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:16 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddressManageActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:42:16 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 300 2021-10-29 09:42:16 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:16 INFO [Crawler.425.needReturn] urlStack=Stack(AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:16 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:16 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:42:16 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:42:16 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:42:16 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:42:16 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:42:16 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:42:16 INFO [Crawler.851.crawl] AddressManageActivity all elements had be clicked 2021-10-29 09:42:16 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:42:16 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:42:16 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:16 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:42:16 INFO [Crawler.996.doElementAction] current element = AddressManageActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:16 INFO [Crawler.997.doElementAction] current index = 300 2021-10-29 09:42:16 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:16 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:16 INFO [Crawler.1000.doElementAction] current url = AddressManageActivity 2021-10-29 09:42:16 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:42:16 INFO [Crawler.1002.doElementAction] current file name = AddressManageActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:16 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:16 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressManageActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:16 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:16 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:16 INFO [Crawler.1080.doElementAction] mark 20211027095159/299_AddressManageActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/300_AddressManageActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:16 INFO [AppiumClient.141.mark] read from 20211027095159/299_AddressManageActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:42:16 INFO [AppiumClient.154.mark] write png 20211027095159/299_AddressManageActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:42:16 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/300_AddressManageActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:16 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:16 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:42:16 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:16 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:17 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:17 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:17 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:17 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:18 INFO [Crawler.649.parsePageContext] url=PaperMailingActivity 2021-10-29 09:42:18 INFO [Crawler.673.parsePageContext] currentContentHash=aafcca735161f033919a51a593bba81a lastContentHash=330e19fad01daeeee92ea5a4c0ab77be 2021-10-29 09:42:18 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:18 INFO [Crawler.931.saveDom] save to 20211027095159/300_AddressManageActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:42:18 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:18 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 301 2021-10-29 09:42:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:18 INFO [Crawler.425.needReturn] urlStack=Stack(PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:42:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:42:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:42:18 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:42:18 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:42:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:42:18 INFO [Crawler.843.crawl] found PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=Ethan by first available element 2021-10-29 09:42:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:18 INFO [Crawler.996.doElementAction] current element = PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=Ethan 2021-10-29 09:42:18 INFO [Crawler.997.doElementAction] current index = 301 2021-10-29 09:42:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_address_info"]//*[@text="Ethan" and @resource-id="com.jlpay.merch:id/tv_username"] 2021-10-29 09:42:18 INFO [Crawler.1000.doElementAction] current url = PaperMailingActivity 2021-10-29 09:42:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:42:18 INFO [Crawler.1002.doElementAction] current file name = PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=Ethan 2021-10-29 09:42:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:18 INFO [AppiumClient.53.findElementByURI] find by uri element= PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=Ethan 2021-10-29 09:42:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_address_info"]//*[@text="Ethan" and @resource-id="com.jlpay.merch:id/tv_username"] 2021-10-29 09:42:18 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:18 INFO [Crawler.1080.doElementAction] mark 20211027095159/300_AddressManageActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/301_PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=Ethan.click.png 2021-10-29 09:42:18 INFO [AppiumClient.141.mark] read from 20211027095159/300_AddressManageActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:18 INFO [AppiumClient.154.mark] write png 20211027095159/300_AddressManageActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:18 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/301_PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=Ethan.click.png 2021-10-29 09:42:19 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:19 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_address_info"]//*[@text="Ethan" and @resource-id="com.jlpay.merch:id/tv_username"]] 2021-10-29 09:42:19 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:19 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:20 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:20 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:20 INFO [Crawler.649.parsePageContext] url=AddressManageActivity 2021-10-29 09:42:20 INFO [Crawler.673.parsePageContext] currentContentHash=330e19fad01daeeee92ea5a4c0ab77be lastContentHash=aafcca735161f033919a51a593bba81a 2021-10-29 09:42:20 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:20 INFO [Crawler.931.saveDom] save to 20211027095159/301_PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=Ethan.dom 2021-10-29 09:42:20 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:20 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:20 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:20 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:20 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:20 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 302 2021-10-29 09:42:20 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:20 INFO [Crawler.425.needReturn] urlStack=Stack(AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:20 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:20 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:42:20 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:42:20 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:42:20 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:42:20 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:42:20 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:42:20 INFO [Crawler.851.crawl] AddressManageActivity all elements had be clicked 2021-10-29 09:42:20 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:42:20 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:42:20 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:20 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:42:20 INFO [Crawler.996.doElementAction] current element = AddressManageActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:20 INFO [Crawler.997.doElementAction] current index = 302 2021-10-29 09:42:20 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:20 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:20 INFO [Crawler.1000.doElementAction] current url = AddressManageActivity 2021-10-29 09:42:20 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:42:20 INFO [Crawler.1002.doElementAction] current file name = AddressManageActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:20 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:20 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressManageActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:20 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:20 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:20 INFO [Crawler.1080.doElementAction] mark 20211027095159/301_PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=Ethan.clicked.png to 20211027095159/302_AddressManageActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:20 INFO [AppiumClient.141.mark] read from 20211027095159/301_PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=Ethan.clicked.png 2021-10-29 09:42:21 INFO [AppiumClient.154.mark] write png 20211027095159/301_PaperMailingActivity.tag=TextView.depth=11.id=tv_username.text=Ethan.clicked.png 2021-10-29 09:42:21 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/302_AddressManageActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:21 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:21 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:42:21 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:21 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:21 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:21 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:22 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:22 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:22 INFO [Crawler.649.parsePageContext] url=PaperMailingActivity 2021-10-29 09:42:22 INFO [Crawler.673.parsePageContext] currentContentHash=aafcca735161f033919a51a593bba81a lastContentHash=330e19fad01daeeee92ea5a4c0ab77be 2021-10-29 09:42:22 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:22 INFO [Crawler.931.saveDom] save to 20211027095159/302_AddressManageActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:42:22 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:22 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:23 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:23 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:23 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:23 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 303 2021-10-29 09:42:23 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:23 INFO [Crawler.425.needReturn] urlStack=Stack(PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:23 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:23 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:42:23 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:42:23 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:42:23 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:42:23 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:42:23 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:42:23 INFO [Crawler.843.crawl] found PaperMailingActivity.tag=ImageView.depth=11.id=iv_into_address by first available element 2021-10-29 09:42:23 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:23 INFO [Crawler.996.doElementAction] current element = PaperMailingActivity.tag=ImageView.depth=11.id=iv_into_address 2021-10-29 09:42:23 INFO [Crawler.997.doElementAction] current index = 303 2021-10-29 09:42:23 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:23 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_address_info"]//*[@resource-id="com.jlpay.merch:id/iv_into_address"] 2021-10-29 09:42:23 INFO [Crawler.1000.doElementAction] current url = PaperMailingActivity 2021-10-29 09:42:23 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:42:23 INFO [Crawler.1002.doElementAction] current file name = PaperMailingActivity.tag=ImageView.depth=11.id=iv_into_address 2021-10-29 09:42:23 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:23 INFO [AppiumClient.53.findElementByURI] find by uri element= PaperMailingActivity.tag=ImageView.depth=11.id=iv_into_address 2021-10-29 09:42:23 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_address_info"]//*[@resource-id="com.jlpay.merch:id/iv_into_address"] 2021-10-29 09:42:23 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:23 INFO [Crawler.1080.doElementAction] mark 20211027095159/302_AddressManageActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/303_PaperMailingActivity.tag=ImageView.depth=11.id=iv_into_address.click.png 2021-10-29 09:42:23 INFO [AppiumClient.141.mark] read from 20211027095159/302_AddressManageActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:23 INFO [AppiumClient.154.mark] write png 20211027095159/302_AddressManageActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:23 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/303_PaperMailingActivity.tag=ImageView.depth=11.id=iv_into_address.click.png 2021-10-29 09:42:23 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:23 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_address_info"]//*[@resource-id="com.jlpay.merch:id/iv_into_address"]] 2021-10-29 09:42:23 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:23 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:24 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:24 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:24 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:24 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:24 INFO [Crawler.649.parsePageContext] url=AddressManageActivity 2021-10-29 09:42:24 INFO [Crawler.673.parsePageContext] currentContentHash=330e19fad01daeeee92ea5a4c0ab77be lastContentHash=aafcca735161f033919a51a593bba81a 2021-10-29 09:42:24 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:24 INFO [Crawler.931.saveDom] save to 20211027095159/303_PaperMailingActivity.tag=ImageView.depth=11.id=iv_into_address.dom 2021-10-29 09:42:24 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:24 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:25 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:25 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:25 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:25 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 304 2021-10-29 09:42:25 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:25 INFO [Crawler.425.needReturn] urlStack=Stack(AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:25 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:25 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:42:25 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:42:25 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:42:25 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:42:25 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:42:25 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:42:25 INFO [Crawler.851.crawl] AddressManageActivity all elements had be clicked 2021-10-29 09:42:25 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:42:25 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:42:25 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:25 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:42:25 INFO [Crawler.996.doElementAction] current element = AddressManageActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:25 INFO [Crawler.997.doElementAction] current index = 304 2021-10-29 09:42:25 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:25 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:25 INFO [Crawler.1000.doElementAction] current url = AddressManageActivity 2021-10-29 09:42:25 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:42:25 INFO [Crawler.1002.doElementAction] current file name = AddressManageActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:25 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:25 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressManageActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:25 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:25 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:25 INFO [Crawler.1080.doElementAction] mark 20211027095159/303_PaperMailingActivity.tag=ImageView.depth=11.id=iv_into_address.clicked.png to 20211027095159/304_AddressManageActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:25 INFO [AppiumClient.141.mark] read from 20211027095159/303_PaperMailingActivity.tag=ImageView.depth=11.id=iv_into_address.clicked.png 2021-10-29 09:42:25 INFO [AppiumClient.154.mark] write png 20211027095159/303_PaperMailingActivity.tag=ImageView.depth=11.id=iv_into_address.clicked.png 2021-10-29 09:42:25 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/304_AddressManageActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:25 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:25 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:42:26 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:26 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:27 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:27 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:27 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:27 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:27 INFO [Crawler.649.parsePageContext] url=PaperMailingActivity 2021-10-29 09:42:27 INFO [Crawler.673.parsePageContext] currentContentHash=aafcca735161f033919a51a593bba81a lastContentHash=330e19fad01daeeee92ea5a4c0ab77be 2021-10-29 09:42:27 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:27 INFO [Crawler.931.saveDom] save to 20211027095159/304_AddressManageActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:42:27 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:27 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:28 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:28 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:28 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:28 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 305 2021-10-29 09:42:28 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:28 INFO [Crawler.425.needReturn] urlStack=Stack(PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:28 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:28 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:42:28 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:42:28 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:42:28 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:42:28 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:42:28 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:42:28 INFO [Crawler.843.crawl] found PaperMailingActivity.tag=ImageView.depth=11.id=iv_view by first available element 2021-10-29 09:42:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:28 INFO [Crawler.996.doElementAction] current element = PaperMailingActivity.tag=ImageView.depth=11.id=iv_view 2021-10-29 09:42:28 INFO [Crawler.997.doElementAction] current index = 305 2021-10-29 09:42:28 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:28 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_address_info"]//*[@resource-id="com.jlpay.merch:id/iv_view"] 2021-10-29 09:42:28 INFO [Crawler.1000.doElementAction] current url = PaperMailingActivity 2021-10-29 09:42:28 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:42:28 INFO [Crawler.1002.doElementAction] current file name = PaperMailingActivity.tag=ImageView.depth=11.id=iv_view 2021-10-29 09:42:28 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:28 INFO [AppiumClient.53.findElementByURI] find by uri element= PaperMailingActivity.tag=ImageView.depth=11.id=iv_view 2021-10-29 09:42:28 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_address_info"]//*[@resource-id="com.jlpay.merch:id/iv_view"] 2021-10-29 09:42:28 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:28 INFO [Crawler.1080.doElementAction] mark 20211027095159/304_AddressManageActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/305_PaperMailingActivity.tag=ImageView.depth=11.id=iv_view.click.png 2021-10-29 09:42:28 INFO [AppiumClient.141.mark] read from 20211027095159/304_AddressManageActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:28 INFO [AppiumClient.154.mark] write png 20211027095159/304_AddressManageActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:28 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/305_PaperMailingActivity.tag=ImageView.depth=11.id=iv_view.click.png 2021-10-29 09:42:28 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:28 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_address_info"]//*[@resource-id="com.jlpay.merch:id/iv_view"]] 2021-10-29 09:42:28 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:28 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:29 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:29 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:29 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:29 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:29 INFO [Crawler.649.parsePageContext] url=AddressManageActivity 2021-10-29 09:42:29 INFO [Crawler.673.parsePageContext] currentContentHash=330e19fad01daeeee92ea5a4c0ab77be lastContentHash=aafcca735161f033919a51a593bba81a 2021-10-29 09:42:29 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:29 INFO [Crawler.931.saveDom] save to 20211027095159/305_PaperMailingActivity.tag=ImageView.depth=11.id=iv_view.dom 2021-10-29 09:42:29 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:29 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:30 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:30 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:30 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:30 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 306 2021-10-29 09:42:30 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:30 INFO [Crawler.425.needReturn] urlStack=Stack(AddressManageActivity, PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:30 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:30 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:42:30 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:42:30 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:42:30 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:42:30 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:42:30 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:42:30 INFO [Crawler.851.crawl] AddressManageActivity all elements had be clicked 2021-10-29 09:42:30 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:42:30 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:42:30 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:30 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:42:30 INFO [Crawler.996.doElementAction] current element = AddressManageActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:30 INFO [Crawler.997.doElementAction] current index = 306 2021-10-29 09:42:30 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:30 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:30 INFO [Crawler.1000.doElementAction] current url = AddressManageActivity 2021-10-29 09:42:30 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:42:30 INFO [Crawler.1002.doElementAction] current file name = AddressManageActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:30 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:30 INFO [AppiumClient.53.findElementByURI] find by uri element= AddressManageActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:30 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:30 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:30 INFO [Crawler.1080.doElementAction] mark 20211027095159/305_PaperMailingActivity.tag=ImageView.depth=11.id=iv_view.clicked.png to 20211027095159/306_AddressManageActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:30 INFO [AppiumClient.141.mark] read from 20211027095159/305_PaperMailingActivity.tag=ImageView.depth=11.id=iv_view.clicked.png 2021-10-29 09:42:30 INFO [AppiumClient.154.mark] write png 20211027095159/305_PaperMailingActivity.tag=ImageView.depth=11.id=iv_view.clicked.png 2021-10-29 09:42:30 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/306_AddressManageActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:30 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:30 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:42:30 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:30 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:31 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:31 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:31 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:31 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:32 INFO [Crawler.649.parsePageContext] url=PaperMailingActivity 2021-10-29 09:42:32 INFO [Crawler.673.parsePageContext] currentContentHash=aafcca735161f033919a51a593bba81a lastContentHash=330e19fad01daeeee92ea5a4c0ab77be 2021-10-29 09:42:32 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:32 INFO [Crawler.931.saveDom] save to 20211027095159/306_AddressManageActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:42:32 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:32 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:32 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:32 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:32 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:32 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 307 2021-10-29 09:42:32 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:32 INFO [Crawler.425.needReturn] urlStack=Stack(PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:32 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:32 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:42:32 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:42:32 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:42:32 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:42:32 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:42:32 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:42:32 INFO [Crawler.843.crawl] found PaperMailingActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:42:32 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:32 INFO [Crawler.996.doElementAction] current element = PaperMailingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:42:32 INFO [Crawler.997.doElementAction] current index = 307 2021-10-29 09:42:32 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:32 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:42:32 INFO [Crawler.1000.doElementAction] current url = PaperMailingActivity 2021-10-29 09:42:32 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:42:32 INFO [Crawler.1002.doElementAction] current file name = PaperMailingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:42:32 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:32 INFO [AppiumClient.53.findElementByURI] find by uri element= PaperMailingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:42:32 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:42:32 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:32 INFO [Crawler.1080.doElementAction] mark 20211027095159/306_AddressManageActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/307_PaperMailingActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:42:32 INFO [AppiumClient.141.mark] read from 20211027095159/306_AddressManageActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:33 INFO [AppiumClient.154.mark] write png 20211027095159/306_AddressManageActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:33 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/307_PaperMailingActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:42:33 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:33 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:42:33 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:33 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:33 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:33 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:33 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:33 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:34 INFO [Crawler.649.parsePageContext] url=PaperMailingActivity 2021-10-29 09:42:34 INFO [Crawler.673.parsePageContext] currentContentHash=aafcca735161f033919a51a593bba81a lastContentHash=aafcca735161f033919a51a593bba81a 2021-10-29 09:42:34 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:42:34 INFO [Crawler.931.saveDom] save to 20211027095159/307_PaperMailingActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:42:34 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:34 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:34 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:34 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:34 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:34 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PaperMailingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:42:34 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 308 2021-10-29 09:42:34 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:34 INFO [Crawler.425.needReturn] urlStack=Stack(PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:34 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:34 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:42:34 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:42:34 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:42:34 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:42:34 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:42:34 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:42:34 INFO [Crawler.851.crawl] PaperMailingActivity all elements had be clicked 2021-10-29 09:42:34 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:42:34 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:42:34 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:34 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:42:34 INFO [Crawler.996.doElementAction] current element = PaperMailingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:34 INFO [Crawler.997.doElementAction] current index = 308 2021-10-29 09:42:34 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:34 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:34 INFO [Crawler.1000.doElementAction] current url = PaperMailingActivity 2021-10-29 09:42:34 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:42:34 INFO [Crawler.1002.doElementAction] current file name = PaperMailingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:34 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:34 INFO [AppiumClient.53.findElementByURI] find by uri element= PaperMailingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:34 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:35 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:35 INFO [Crawler.1080.doElementAction] mark 20211027095159/307_PaperMailingActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/308_PaperMailingActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:35 INFO [AppiumClient.141.mark] read from 20211027095159/307_PaperMailingActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:42:35 INFO [AppiumClient.154.mark] write png 20211027095159/307_PaperMailingActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:42:35 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/308_PaperMailingActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:35 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:35 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:42:35 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:35 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:35 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:35 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:36 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:36 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:36 INFO [Crawler.649.parsePageContext] url=ConsumApplyActivity 2021-10-29 09:42:36 INFO [Crawler.673.parsePageContext] currentContentHash=643b77f97aa143e7476c5c6b797aa7d4 lastContentHash=aafcca735161f033919a51a593bba81a 2021-10-29 09:42:36 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:36 INFO [Crawler.931.saveDom] save to 20211027095159/308_PaperMailingActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:42:36 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:36 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:37 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:37 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:37 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:37 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 309 2021-10-29 09:42:37 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:37 INFO [Crawler.425.needReturn] urlStack=Stack(ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:37 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:37 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:42:37 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:42:37 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:42:37 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:42:37 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:42:37 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:42:37 INFO [Crawler.843.crawl] found ConsumApplyActivity.tag=ImageView.depth=11.id=iv_paper by first available element 2021-10-29 09:42:37 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:37 INFO [Crawler.996.doElementAction] current element = ConsumApplyActivity.tag=ImageView.depth=11.id=iv_paper 2021-10-29 09:42:37 INFO [Crawler.997.doElementAction] current index = 309 2021-10-29 09:42:37 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:37 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@resource-id="com.jlpay.merch:id/iv_paper"] 2021-10-29 09:42:37 INFO [Crawler.1000.doElementAction] current url = ConsumApplyActivity 2021-10-29 09:42:37 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.ImageView 2021-10-29 09:42:37 INFO [Crawler.1002.doElementAction] current file name = ConsumApplyActivity.tag=ImageView.depth=11.id=iv_paper 2021-10-29 09:42:37 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:37 INFO [AppiumClient.53.findElementByURI] find by uri element= ConsumApplyActivity.tag=ImageView.depth=11.id=iv_paper 2021-10-29 09:42:37 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@resource-id="com.jlpay.merch:id/iv_paper"] 2021-10-29 09:42:37 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:37 INFO [Crawler.1080.doElementAction] mark 20211027095159/308_PaperMailingActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/309_ConsumApplyActivity.tag=ImageView.depth=11.id=iv_paper.click.png 2021-10-29 09:42:37 INFO [AppiumClient.141.mark] read from 20211027095159/308_PaperMailingActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:37 INFO [AppiumClient.154.mark] write png 20211027095159/308_PaperMailingActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:37 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/309_ConsumApplyActivity.tag=ImageView.depth=11.id=iv_paper.click.png 2021-10-29 09:42:37 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:37 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@resource-id="com.jlpay.merch:id/iv_paper"]] 2021-10-29 09:42:37 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:37 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:38 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:38 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:38 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:38 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:38 INFO [Crawler.649.parsePageContext] url=PaperMailingActivity 2021-10-29 09:42:38 INFO [Crawler.673.parsePageContext] currentContentHash=aafcca735161f033919a51a593bba81a lastContentHash=643b77f97aa143e7476c5c6b797aa7d4 2021-10-29 09:42:38 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:38 INFO [Crawler.931.saveDom] save to 20211027095159/309_ConsumApplyActivity.tag=ImageView.depth=11.id=iv_paper.dom 2021-10-29 09:42:38 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:38 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:39 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:39 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:39 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:39 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 310 2021-10-29 09:42:39 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:39 INFO [Crawler.425.needReturn] urlStack=Stack(PaperMailingActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:39 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:39 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:42:39 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:42:39 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:42:39 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:42:39 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:42:39 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:42:39 INFO [Crawler.851.crawl] PaperMailingActivity all elements had be clicked 2021-10-29 09:42:39 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:42:39 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:42:39 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:39 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:42:39 INFO [Crawler.996.doElementAction] current element = PaperMailingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:39 INFO [Crawler.997.doElementAction] current index = 310 2021-10-29 09:42:39 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:39 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:39 INFO [Crawler.1000.doElementAction] current url = PaperMailingActivity 2021-10-29 09:42:39 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:42:39 INFO [Crawler.1002.doElementAction] current file name = PaperMailingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:39 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:39 INFO [AppiumClient.53.findElementByURI] find by uri element= PaperMailingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:39 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:39 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:39 INFO [Crawler.1080.doElementAction] mark 20211027095159/309_ConsumApplyActivity.tag=ImageView.depth=11.id=iv_paper.clicked.png to 20211027095159/310_PaperMailingActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:39 INFO [AppiumClient.141.mark] read from 20211027095159/309_ConsumApplyActivity.tag=ImageView.depth=11.id=iv_paper.clicked.png 2021-10-29 09:42:39 INFO [AppiumClient.154.mark] write png 20211027095159/309_ConsumApplyActivity.tag=ImageView.depth=11.id=iv_paper.clicked.png 2021-10-29 09:42:39 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/310_PaperMailingActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:39 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:39 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:42:39 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:39 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:40 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:40 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:40 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:40 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:40 INFO [Crawler.649.parsePageContext] url=ConsumApplyActivity 2021-10-29 09:42:40 INFO [Crawler.673.parsePageContext] currentContentHash=643b77f97aa143e7476c5c6b797aa7d4 lastContentHash=aafcca735161f033919a51a593bba81a 2021-10-29 09:42:40 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:40 INFO [Crawler.931.saveDom] save to 20211027095159/310_PaperMailingActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:42:40 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:40 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:41 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:41 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:41 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:41 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 311 2021-10-29 09:42:41 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:41 INFO [Crawler.425.needReturn] urlStack=Stack(ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:41 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:41 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:42:41 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:42:41 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:42:41 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:42:41 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:42:41 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:42:41 INFO [Crawler.843.crawl] found ConsumApplyActivity.tag=TextView.depth=9.id=tv_right.text=我的订单 by first available element 2021-10-29 09:42:41 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:41 INFO [Crawler.996.doElementAction] current element = ConsumApplyActivity.tag=TextView.depth=9.id=tv_right.text=我的订单 2021-10-29 09:42:41 INFO [Crawler.997.doElementAction] current index = 311 2021-10-29 09:42:41 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:41 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="我的订单" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:42:41 INFO [Crawler.1000.doElementAction] current url = ConsumApplyActivity 2021-10-29 09:42:41 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:42:41 INFO [Crawler.1002.doElementAction] current file name = ConsumApplyActivity.tag=TextView.depth=9.id=tv_right.text=我的订单 2021-10-29 09:42:41 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:41 INFO [AppiumClient.53.findElementByURI] find by uri element= ConsumApplyActivity.tag=TextView.depth=9.id=tv_right.text=我的订单 2021-10-29 09:42:41 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="我的订单" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:42:41 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:41 INFO [Crawler.1080.doElementAction] mark 20211027095159/310_PaperMailingActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/311_ConsumApplyActivity.tag=TextView.depth=9.id=tv_right.text=我的订单.click.png 2021-10-29 09:42:41 INFO [AppiumClient.141.mark] read from 20211027095159/310_PaperMailingActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:41 INFO [AppiumClient.154.mark] write png 20211027095159/310_PaperMailingActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:41 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/311_ConsumApplyActivity.tag=TextView.depth=9.id=tv_right.text=我的订单.click.png 2021-10-29 09:42:41 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:41 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="我的订单" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:42:41 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:41 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:42 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:42 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:43 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:43 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:43 INFO [Crawler.649.parsePageContext] url=OrderTypeActivity 2021-10-29 09:42:43 INFO [Crawler.673.parsePageContext] currentContentHash=c2874a571d5154114ae54a3c1adf27c1 lastContentHash=643b77f97aa143e7476c5c6b797aa7d4 2021-10-29 09:42:43 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:43 INFO [Crawler.931.saveDom] save to 20211027095159/311_ConsumApplyActivity.tag=TextView.depth=9.id=tv_right.text=我的订单.dom 2021-10-29 09:42:43 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:43 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:43 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:43 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:43 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:43 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 312 2021-10-29 09:42:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:43 INFO [Crawler.425.needReturn] urlStack=Stack(OrderTypeActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:42:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:42:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:42:43 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:42:43 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:42:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:42:43 INFO [Crawler.843.crawl] found OrderTypeActivity.tag=ImageView.depth=14.id=iv_print_paper by first available element 2021-10-29 09:42:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:43 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[OrderTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab]=20 2021-10-29 09:42:43 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[OrderTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=20 2021-10-29 09:42:43 INFO [Crawler.996.doElementAction] current element = OrderTypeActivity.tag=ImageView.depth=14.id=iv_print_paper 2021-10-29 09:42:43 INFO [Crawler.997.doElementAction] current index = 312 2021-10-29 09:42:43 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:43 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mViewPager"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@resource-id="com.jlpay.merch:id/iv_print_paper"] 2021-10-29 09:42:43 INFO [Crawler.1000.doElementAction] current url = OrderTypeActivity 2021-10-29 09:42:43 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:42:43 INFO [Crawler.1002.doElementAction] current file name = OrderTypeActivity.tag=ImageView.depth=14.id=iv_print_paper 2021-10-29 09:42:43 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:43 INFO [AppiumClient.53.findElementByURI] find by uri element= OrderTypeActivity.tag=ImageView.depth=14.id=iv_print_paper 2021-10-29 09:42:43 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mViewPager"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@resource-id="com.jlpay.merch:id/iv_print_paper"] 2021-10-29 09:42:43 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:43 INFO [Crawler.1080.doElementAction] mark 20211027095159/311_ConsumApplyActivity.tag=TextView.depth=9.id=tv_right.text=我的订单.clicked.png to 20211027095159/312_OrderTypeActivity.tag=ImageView.depth=14.id=iv_print_paper.click.png 2021-10-29 09:42:43 INFO [AppiumClient.141.mark] read from 20211027095159/311_ConsumApplyActivity.tag=TextView.depth=9.id=tv_right.text=我的订单.clicked.png 2021-10-29 09:42:43 INFO [AppiumClient.154.mark] write png 20211027095159/311_ConsumApplyActivity.tag=TextView.depth=9.id=tv_right.text=我的订单.clicked.png 2021-10-29 09:42:43 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/312_OrderTypeActivity.tag=ImageView.depth=14.id=iv_print_paper.click.png 2021-10-29 09:42:44 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:44 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mViewPager"]//*[@resource-id="com.jlpay.merch:id/mrefreshLayout"]//*[@resource-id="com.jlpay.merch:id/mRecyclerview"]//*[@resource-id="com.jlpay.merch:id/iv_print_paper"]] 2021-10-29 09:42:44 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:44 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:44 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:44 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:44 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:44 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:45 INFO [Crawler.649.parsePageContext] url=OrderInfoDetailActivity 2021-10-29 09:42:45 INFO [Crawler.673.parsePageContext] currentContentHash=c59c3effb0afc9dddfc85f275c9079ea lastContentHash=c2874a571d5154114ae54a3c1adf27c1 2021-10-29 09:42:45 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:45 INFO [Crawler.931.saveDom] save to 20211027095159/312_OrderTypeActivity.tag=ImageView.depth=14.id=iv_print_paper.dom 2021-10-29 09:42:45 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:45 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:45 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:45 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:45 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:45 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 313 2021-10-29 09:42:45 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:45 INFO [Crawler.425.needReturn] urlStack=Stack(OrderInfoDetailActivity, OrderTypeActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:45 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:45 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:42:45 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:42:45 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:42:45 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:42:45 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:42:45 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:42:45 INFO [Crawler.843.crawl] found OrderInfoDetailActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:42:45 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:45 INFO [Crawler.996.doElementAction] current element = OrderInfoDetailActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:42:45 INFO [Crawler.997.doElementAction] current index = 313 2021-10-29 09:42:45 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:45 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:42:45 INFO [Crawler.1000.doElementAction] current url = OrderInfoDetailActivity 2021-10-29 09:42:45 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:42:45 INFO [Crawler.1002.doElementAction] current file name = OrderInfoDetailActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:42:45 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:45 INFO [AppiumClient.53.findElementByURI] find by uri element= OrderInfoDetailActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:42:45 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:42:45 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:45 INFO [Crawler.1080.doElementAction] mark 20211027095159/312_OrderTypeActivity.tag=ImageView.depth=14.id=iv_print_paper.clicked.png to 20211027095159/313_OrderInfoDetailActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:42:45 INFO [AppiumClient.141.mark] read from 20211027095159/312_OrderTypeActivity.tag=ImageView.depth=14.id=iv_print_paper.clicked.png 2021-10-29 09:42:46 INFO [AppiumClient.154.mark] write png 20211027095159/312_OrderTypeActivity.tag=ImageView.depth=14.id=iv_print_paper.clicked.png 2021-10-29 09:42:46 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/313_OrderInfoDetailActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:42:46 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:46 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:42:46 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:46 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:46 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:46 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:46 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:46 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:47 INFO [Crawler.649.parsePageContext] url=OrderInfoDetailActivity 2021-10-29 09:42:47 INFO [Crawler.673.parsePageContext] currentContentHash=c59c3effb0afc9dddfc85f275c9079ea lastContentHash=c59c3effb0afc9dddfc85f275c9079ea 2021-10-29 09:42:47 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:42:47 INFO [Crawler.931.saveDom] save to 20211027095159/313_OrderInfoDetailActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:42:47 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:47 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:47 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:47 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:47 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:47 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[OrderInfoDetailActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:42:47 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 314 2021-10-29 09:42:47 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:47 INFO [Crawler.425.needReturn] urlStack=Stack(OrderInfoDetailActivity, OrderTypeActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:47 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:47 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:42:47 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:42:47 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:42:47 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:42:47 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:42:47 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:42:47 INFO [Crawler.851.crawl] OrderInfoDetailActivity all elements had be clicked 2021-10-29 09:42:47 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:42:47 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:42:47 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:47 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:42:47 INFO [Crawler.996.doElementAction] current element = OrderInfoDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:47 INFO [Crawler.997.doElementAction] current index = 314 2021-10-29 09:42:47 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:47 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:47 INFO [Crawler.1000.doElementAction] current url = OrderInfoDetailActivity 2021-10-29 09:42:47 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:42:47 INFO [Crawler.1002.doElementAction] current file name = OrderInfoDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:47 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:47 INFO [AppiumClient.53.findElementByURI] find by uri element= OrderInfoDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:42:47 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:42:48 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:48 INFO [Crawler.1080.doElementAction] mark 20211027095159/313_OrderInfoDetailActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/314_OrderInfoDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:48 INFO [AppiumClient.141.mark] read from 20211027095159/313_OrderInfoDetailActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:42:48 INFO [AppiumClient.154.mark] write png 20211027095159/313_OrderInfoDetailActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:42:48 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/314_OrderInfoDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:42:48 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:48 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:42:48 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:48 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:48 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:48 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:49 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:49 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:49 INFO [Crawler.649.parsePageContext] url=OrderTypeActivity 2021-10-29 09:42:49 INFO [Crawler.673.parsePageContext] currentContentHash=c2874a571d5154114ae54a3c1adf27c1 lastContentHash=c59c3effb0afc9dddfc85f275c9079ea 2021-10-29 09:42:49 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:49 INFO [Crawler.931.saveDom] save to 20211027095159/314_OrderInfoDetailActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:42:49 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:49 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:50 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:50 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:50 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:50 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 315 2021-10-29 09:42:50 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:50 INFO [Crawler.425.needReturn] urlStack=Stack(OrderTypeActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:50 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:50 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:42:50 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:42:50 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:42:50 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:42:50 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:42:50 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:42:50 INFO [Crawler.843.crawl] found OrderTypeActivity.tag=TextView.depth=12.text=待处理 by first available element 2021-10-29 09:42:50 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:50 INFO [Crawler.996.doElementAction] current element = OrderTypeActivity.tag=TextView.depth=12.text=待处理 2021-10-29 09:42:50 INFO [Crawler.997.doElementAction] current index = 315 2021-10-29 09:42:50 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:50 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="待处理"]//*[@text="待处理"] 2021-10-29 09:42:50 INFO [Crawler.1000.doElementAction] current url = OrderTypeActivity 2021-10-29 09:42:50 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView 2021-10-29 09:42:50 INFO [Crawler.1002.doElementAction] current file name = OrderTypeActivity.tag=TextView.depth=12.text=待处理 2021-10-29 09:42:50 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:50 INFO [AppiumClient.53.findElementByURI] find by uri element= OrderTypeActivity.tag=TextView.depth=12.text=待处理 2021-10-29 09:42:50 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="待处理"]//*[@text="待处理"] 2021-10-29 09:42:50 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:50 INFO [Crawler.1080.doElementAction] mark 20211027095159/314_OrderInfoDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/315_OrderTypeActivity.tag=TextView.depth=12.text=待处理.click.png 2021-10-29 09:42:50 INFO [AppiumClient.141.mark] read from 20211027095159/314_OrderInfoDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:50 INFO [AppiumClient.154.mark] write png 20211027095159/314_OrderInfoDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:42:50 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/315_OrderTypeActivity.tag=TextView.depth=12.text=待处理.click.png 2021-10-29 09:42:50 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:50 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="待处理"]//*[@text="待处理"]] 2021-10-29 09:42:50 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:50 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:50 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:51 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:51 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:51 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:51 INFO [Crawler.649.parsePageContext] url=OrderTypeActivity 2021-10-29 09:42:51 INFO [Crawler.673.parsePageContext] currentContentHash=4d3e41addf5fcf9b544711466da26a90 lastContentHash=c2874a571d5154114ae54a3c1adf27c1 2021-10-29 09:42:51 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:51 INFO [Crawler.931.saveDom] save to 20211027095159/315_OrderTypeActivity.tag=TextView.depth=12.text=待处理.dom 2021-10-29 09:42:51 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:51 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:52 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:52 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:52 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:52 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[OrderTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=19 2021-10-29 09:42:52 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 316 2021-10-29 09:42:52 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:52 INFO [Crawler.425.needReturn] urlStack=Stack(OrderTypeActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:52 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:52 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:42:52 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:42:52 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:42:52 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:42:52 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:42:52 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:42:52 INFO [Crawler.843.crawl] found OrderTypeActivity.tag=TextView.depth=12.text=全部 by first available element 2021-10-29 09:42:52 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:52 INFO [Crawler.996.doElementAction] current element = OrderTypeActivity.tag=TextView.depth=12.text=全部 2021-10-29 09:42:52 INFO [Crawler.997.doElementAction] current index = 316 2021-10-29 09:42:52 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:52 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="全部"]//*[@text="全部"] 2021-10-29 09:42:52 INFO [Crawler.1000.doElementAction] current url = OrderTypeActivity 2021-10-29 09:42:52 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView 2021-10-29 09:42:52 INFO [Crawler.1002.doElementAction] current file name = OrderTypeActivity.tag=TextView.depth=12.text=全部 2021-10-29 09:42:52 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:52 INFO [AppiumClient.53.findElementByURI] find by uri element= OrderTypeActivity.tag=TextView.depth=12.text=全部 2021-10-29 09:42:52 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="全部"]//*[@text="全部"] 2021-10-29 09:42:52 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:52 INFO [Crawler.1080.doElementAction] mark 20211027095159/315_OrderTypeActivity.tag=TextView.depth=12.text=待处理.clicked.png to 20211027095159/316_OrderTypeActivity.tag=TextView.depth=12.text=全部.click.png 2021-10-29 09:42:52 INFO [AppiumClient.141.mark] read from 20211027095159/315_OrderTypeActivity.tag=TextView.depth=12.text=待处理.clicked.png 2021-10-29 09:42:52 INFO [AppiumClient.154.mark] write png 20211027095159/315_OrderTypeActivity.tag=TextView.depth=12.text=待处理.clicked.png 2021-10-29 09:42:52 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/316_OrderTypeActivity.tag=TextView.depth=12.text=全部.click.png 2021-10-29 09:42:52 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:52 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="全部"]//*[@text="全部"]] 2021-10-29 09:42:52 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:52 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:53 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:53 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:53 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:53 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:53 INFO [Crawler.649.parsePageContext] url=OrderTypeActivity 2021-10-29 09:42:53 INFO [Crawler.673.parsePageContext] currentContentHash=c2874a571d5154114ae54a3c1adf27c1 lastContentHash=4d3e41addf5fcf9b544711466da26a90 2021-10-29 09:42:53 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:53 INFO [Crawler.931.saveDom] save to 20211027095159/316_OrderTypeActivity.tag=TextView.depth=12.text=全部.dom 2021-10-29 09:42:53 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:53 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:55 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:55 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:55 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:55 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[OrderTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=18 2021-10-29 09:42:55 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 317 2021-10-29 09:42:55 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:55 INFO [Crawler.425.needReturn] urlStack=Stack(OrderTypeActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:55 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:55 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:42:55 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:42:55 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:42:55 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:42:55 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:42:55 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:42:55 INFO [Crawler.843.crawl] found OrderTypeActivity.tag=TextView.depth=12.text=待收货 by first available element 2021-10-29 09:42:55 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:55 INFO [Crawler.996.doElementAction] current element = OrderTypeActivity.tag=TextView.depth=12.text=待收货 2021-10-29 09:42:55 INFO [Crawler.997.doElementAction] current index = 317 2021-10-29 09:42:55 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:55 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="待收货"]//*[@text="待收货"] 2021-10-29 09:42:55 INFO [Crawler.1000.doElementAction] current url = OrderTypeActivity 2021-10-29 09:42:55 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView 2021-10-29 09:42:55 INFO [Crawler.1002.doElementAction] current file name = OrderTypeActivity.tag=TextView.depth=12.text=待收货 2021-10-29 09:42:55 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:55 INFO [AppiumClient.53.findElementByURI] find by uri element= OrderTypeActivity.tag=TextView.depth=12.text=待收货 2021-10-29 09:42:55 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="待收货"]//*[@text="待收货"] 2021-10-29 09:42:55 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:55 INFO [Crawler.1080.doElementAction] mark 20211027095159/316_OrderTypeActivity.tag=TextView.depth=12.text=全部.clicked.png to 20211027095159/317_OrderTypeActivity.tag=TextView.depth=12.text=待收货.click.png 2021-10-29 09:42:55 INFO [AppiumClient.141.mark] read from 20211027095159/316_OrderTypeActivity.tag=TextView.depth=12.text=全部.clicked.png 2021-10-29 09:42:55 INFO [AppiumClient.154.mark] write png 20211027095159/316_OrderTypeActivity.tag=TextView.depth=12.text=全部.clicked.png 2021-10-29 09:42:55 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/317_OrderTypeActivity.tag=TextView.depth=12.text=待收货.click.png 2021-10-29 09:42:55 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:55 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="待收货"]//*[@text="待收货"]] 2021-10-29 09:42:55 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:55 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:56 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:56 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:56 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:56 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:56 INFO [Crawler.649.parsePageContext] url=OrderTypeActivity 2021-10-29 09:42:56 INFO [Crawler.673.parsePageContext] currentContentHash=7c8aa027f4191624d025a13c704d3e6d lastContentHash=c2874a571d5154114ae54a3c1adf27c1 2021-10-29 09:42:56 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:56 INFO [Crawler.931.saveDom] save to 20211027095159/317_OrderTypeActivity.tag=TextView.depth=12.text=待收货.dom 2021-10-29 09:42:56 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:56 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:57 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:57 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:57 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:57 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[OrderTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=17 2021-10-29 09:42:57 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 318 2021-10-29 09:42:57 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:57 INFO [Crawler.425.needReturn] urlStack=Stack(OrderTypeActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:57 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:57 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:42:57 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:42:57 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:42:57 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:42:57 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:42:57 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:42:57 INFO [Crawler.843.crawl] found OrderTypeActivity.tag=TextView.depth=12.text=关闭 by first available element 2021-10-29 09:42:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:57 INFO [Crawler.996.doElementAction] current element = OrderTypeActivity.tag=TextView.depth=12.text=关闭 2021-10-29 09:42:57 INFO [Crawler.997.doElementAction] current index = 318 2021-10-29 09:42:57 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:57 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="关闭"]//*[@text="关闭"] 2021-10-29 09:42:57 INFO [Crawler.1000.doElementAction] current url = OrderTypeActivity 2021-10-29 09:42:57 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView 2021-10-29 09:42:57 INFO [Crawler.1002.doElementAction] current file name = OrderTypeActivity.tag=TextView.depth=12.text=关闭 2021-10-29 09:42:57 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:57 INFO [AppiumClient.53.findElementByURI] find by uri element= OrderTypeActivity.tag=TextView.depth=12.text=关闭 2021-10-29 09:42:57 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="关闭"]//*[@text="关闭"] 2021-10-29 09:42:57 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:42:57 INFO [Crawler.1080.doElementAction] mark 20211027095159/317_OrderTypeActivity.tag=TextView.depth=12.text=待收货.clicked.png to 20211027095159/318_OrderTypeActivity.tag=TextView.depth=12.text=关闭.click.png 2021-10-29 09:42:57 INFO [AppiumClient.141.mark] read from 20211027095159/317_OrderTypeActivity.tag=TextView.depth=12.text=待收货.clicked.png 2021-10-29 09:42:57 INFO [AppiumClient.154.mark] write png 20211027095159/317_OrderTypeActivity.tag=TextView.depth=12.text=待收货.clicked.png 2021-10-29 09:42:57 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/318_OrderTypeActivity.tag=TextView.depth=12.text=关闭.click.png 2021-10-29 09:42:57 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:42:57 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="关闭"]//*[@text="关闭"]] 2021-10-29 09:42:57 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:42:57 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:42:58 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:42:58 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:42:59 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:42:59 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:42:59 INFO [Crawler.649.parsePageContext] url=OrderTypeActivity 2021-10-29 09:42:59 INFO [Crawler.673.parsePageContext] currentContentHash=f54edff2d16406475a035ef344dd165e lastContentHash=7c8aa027f4191624d025a13c704d3e6d 2021-10-29 09:42:59 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:42:59 INFO [Crawler.931.saveDom] save to 20211027095159/318_OrderTypeActivity.tag=TextView.depth=12.text=关闭.dom 2021-10-29 09:42:59 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:42:59 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:42:59 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:42:59 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:42:59 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:42:59 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[OrderTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=16 2021-10-29 09:42:59 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 319 2021-10-29 09:42:59 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:42:59 INFO [Crawler.425.needReturn] urlStack=Stack(OrderTypeActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:42:59 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:42:59 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:42:59 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:42:59 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:42:59 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:42:59 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:42:59 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:42:59 INFO [Crawler.843.crawl] found OrderTypeActivity.tag=TextView.depth=12.text=已完成 by first available element 2021-10-29 09:42:59 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:42:59 INFO [Crawler.996.doElementAction] current element = OrderTypeActivity.tag=TextView.depth=12.text=已完成 2021-10-29 09:42:59 INFO [Crawler.997.doElementAction] current index = 319 2021-10-29 09:42:59 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:42:59 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="已完成"]//*[@text="已完成"] 2021-10-29 09:42:59 INFO [Crawler.1000.doElementAction] current url = OrderTypeActivity 2021-10-29 09:42:59 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView 2021-10-29 09:42:59 INFO [Crawler.1002.doElementAction] current file name = OrderTypeActivity.tag=TextView.depth=12.text=已完成 2021-10-29 09:42:59 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:42:59 INFO [AppiumClient.53.findElementByURI] find by uri element= OrderTypeActivity.tag=TextView.depth=12.text=已完成 2021-10-29 09:42:59 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="已完成"]//*[@text="已完成"] 2021-10-29 09:43:00 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:00 INFO [Crawler.1080.doElementAction] mark 20211027095159/318_OrderTypeActivity.tag=TextView.depth=12.text=关闭.clicked.png to 20211027095159/319_OrderTypeActivity.tag=TextView.depth=12.text=已完成.click.png 2021-10-29 09:43:00 INFO [AppiumClient.141.mark] read from 20211027095159/318_OrderTypeActivity.tag=TextView.depth=12.text=关闭.clicked.png 2021-10-29 09:43:00 INFO [AppiumClient.154.mark] write png 20211027095159/318_OrderTypeActivity.tag=TextView.depth=12.text=关闭.clicked.png 2021-10-29 09:43:00 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/319_OrderTypeActivity.tag=TextView.depth=12.text=已完成.click.png 2021-10-29 09:43:00 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:00 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/mTabLayout"]//*[@content-desc="已完成"]//*[@text="已完成"]] 2021-10-29 09:43:00 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:00 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:00 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:00 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:01 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:01 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:01 INFO [Crawler.649.parsePageContext] url=OrderTypeActivity 2021-10-29 09:43:01 INFO [Crawler.673.parsePageContext] currentContentHash=66f4867044a9d3b44950786786c8e39a lastContentHash=f54edff2d16406475a035ef344dd165e 2021-10-29 09:43:01 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:01 INFO [Crawler.931.saveDom] save to 20211027095159/319_OrderTypeActivity.tag=TextView.depth=12.text=已完成.dom 2021-10-29 09:43:01 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:01 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:01 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:01 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:01 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:01 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[OrderTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=15 2021-10-29 09:43:01 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 320 2021-10-29 09:43:01 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:01 INFO [Crawler.425.needReturn] urlStack=Stack(OrderTypeActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:01 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:01 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:43:01 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:43:01 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:43:01 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:43:01 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:43:01 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:43:01 INFO [Crawler.843.crawl] found OrderTypeActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:43:01 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:01 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[OrderTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab]=20 2021-10-29 09:43:01 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[OrderTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/androidx.appcompat.app.ActionBar.Tab/android.widget.TextView]=20 2021-10-29 09:43:01 INFO [Crawler.996.doElementAction] current element = OrderTypeActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:43:01 INFO [Crawler.997.doElementAction] current index = 320 2021-10-29 09:43:01 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:01 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:43:01 INFO [Crawler.1000.doElementAction] current url = OrderTypeActivity 2021-10-29 09:43:01 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:43:01 INFO [Crawler.1002.doElementAction] current file name = OrderTypeActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:43:01 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:01 INFO [AppiumClient.53.findElementByURI] find by uri element= OrderTypeActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:43:01 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:43:01 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:01 INFO [Crawler.1080.doElementAction] mark 20211027095159/319_OrderTypeActivity.tag=TextView.depth=12.text=已完成.clicked.png to 20211027095159/320_OrderTypeActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:43:01 INFO [AppiumClient.141.mark] read from 20211027095159/319_OrderTypeActivity.tag=TextView.depth=12.text=已完成.clicked.png 2021-10-29 09:43:01 INFO [AppiumClient.154.mark] write png 20211027095159/319_OrderTypeActivity.tag=TextView.depth=12.text=已完成.clicked.png 2021-10-29 09:43:01 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/320_OrderTypeActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:43:02 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:02 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:43:02 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:02 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:02 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:02 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:02 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:02 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:02 INFO [Crawler.649.parsePageContext] url=OrderTypeActivity 2021-10-29 09:43:02 INFO [Crawler.673.parsePageContext] currentContentHash=66f4867044a9d3b44950786786c8e39a lastContentHash=66f4867044a9d3b44950786786c8e39a 2021-10-29 09:43:02 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:43:02 INFO [Crawler.931.saveDom] save to 20211027095159/320_OrderTypeActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:43:03 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:03 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:03 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:03 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:03 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:03 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[OrderTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:43:03 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 321 2021-10-29 09:43:03 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:03 INFO [Crawler.425.needReturn] urlStack=Stack(OrderTypeActivity, ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:03 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:03 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:43:03 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:43:03 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:43:03 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:43:03 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:43:03 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:43:03 INFO [Crawler.851.crawl] OrderTypeActivity all elements had be clicked 2021-10-29 09:43:03 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:43:03 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:43:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:03 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:43:03 INFO [Crawler.996.doElementAction] current element = OrderTypeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:43:03 INFO [Crawler.997.doElementAction] current index = 321 2021-10-29 09:43:03 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:03 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:43:03 INFO [Crawler.1000.doElementAction] current url = OrderTypeActivity 2021-10-29 09:43:03 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:43:03 INFO [Crawler.1002.doElementAction] current file name = OrderTypeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:43:03 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:03 INFO [AppiumClient.53.findElementByURI] find by uri element= OrderTypeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:43:03 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:43:03 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:03 INFO [Crawler.1080.doElementAction] mark 20211027095159/320_OrderTypeActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/321_OrderTypeActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:43:03 INFO [AppiumClient.141.mark] read from 20211027095159/320_OrderTypeActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:43:03 INFO [AppiumClient.154.mark] write png 20211027095159/320_OrderTypeActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:43:03 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/321_OrderTypeActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:43:03 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:03 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:43:03 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:03 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:04 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:04 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:04 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:04 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:04 INFO [Crawler.649.parsePageContext] url=ConsumApplyActivity 2021-10-29 09:43:04 INFO [Crawler.673.parsePageContext] currentContentHash=643b77f97aa143e7476c5c6b797aa7d4 lastContentHash=66f4867044a9d3b44950786786c8e39a 2021-10-29 09:43:04 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:04 INFO [Crawler.931.saveDom] save to 20211027095159/321_OrderTypeActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:43:04 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:04 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:05 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:05 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:05 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:05 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 322 2021-10-29 09:43:05 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:05 INFO [Crawler.425.needReturn] urlStack=Stack(ConsumApplyActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:05 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:05 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:43:05 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:43:05 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:43:05 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:43:05 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:43:05 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:43:05 INFO [Crawler.851.crawl] ConsumApplyActivity all elements had be clicked 2021-10-29 09:43:05 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:43:05 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:43:05 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:05 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:43:05 INFO [Crawler.996.doElementAction] current element = ConsumApplyActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:43:05 INFO [Crawler.997.doElementAction] current index = 322 2021-10-29 09:43:05 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:05 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:43:05 INFO [Crawler.1000.doElementAction] current url = ConsumApplyActivity 2021-10-29 09:43:05 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:43:05 INFO [Crawler.1002.doElementAction] current file name = ConsumApplyActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:43:05 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:05 INFO [AppiumClient.53.findElementByURI] find by uri element= ConsumApplyActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:43:05 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:43:05 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:05 INFO [Crawler.1080.doElementAction] mark 20211027095159/321_OrderTypeActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/322_ConsumApplyActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:43:05 INFO [AppiumClient.141.mark] read from 20211027095159/321_OrderTypeActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:43:05 INFO [AppiumClient.154.mark] write png 20211027095159/321_OrderTypeActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:43:05 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/322_ConsumApplyActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:43:05 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:05 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:43:05 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:05 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:06 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:06 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:06 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:06 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:07 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:43:07 INFO [Crawler.673.parsePageContext] currentContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 lastContentHash=643b77f97aa143e7476c5c6b797aa7d4 2021-10-29 09:43:07 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:07 INFO [Crawler.931.saveDom] save to 20211027095159/322_ConsumApplyActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:43:07 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:07 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:07 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:07 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:07 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:07 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 323 2021-10-29 09:43:07 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:07 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:07 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:07 INFO [Crawler.487.getAvailableElement] selected nodes size = 24 2021-10-29 09:43:07 INFO [Crawler.499.getAvailableElement] all - black elements size = 24 2021-10-29 09:43:07 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 24 2021-10-29 09:43:07 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:43:07 INFO [Crawler.598.getAvailableElement] all - clicked size=13 2021-10-29 09:43:07 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=13 2021-10-29 09:43:07 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_name.text=发票助手 by first available element 2021-10-29 09:43:07 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:07 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_name.text=发票助手 2021-10-29 09:43:07 INFO [Crawler.997.doElementAction] current index = 323 2021-10-29 09:43:07 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:07 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="发票助手" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:43:07 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:43:07 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:43:07 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_name.text=发票助手 2021-10-29 09:43:07 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:07 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_name.text=发票助手 2021-10-29 09:43:07 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="发票助手" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:43:08 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:08 INFO [Crawler.1080.doElementAction] mark 20211027095159/322_ConsumApplyActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/323_MainActivity.tag=TextView.depth=16.id=tv_name.text=发票助手.click.png 2021-10-29 09:43:08 INFO [AppiumClient.141.mark] read from 20211027095159/322_ConsumApplyActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:43:08 INFO [AppiumClient.154.mark] write png 20211027095159/322_ConsumApplyActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:43:08 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/323_MainActivity.tag=TextView.depth=16.id=tv_name.text=发票助手.click.png 2021-10-29 09:43:08 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:08 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="发票助手" and @resource-id="com.jlpay.merch:id/tv_name"]] 2021-10-29 09:43:09 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:09 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:09 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:09 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:10 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:10 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:10 INFO [Crawler.649.parsePageContext] url=InvoiceIntroduceActivity 2021-10-29 09:43:10 INFO [Crawler.673.parsePageContext] currentContentHash=d95585b545087be2f68596fef71df891 lastContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 2021-10-29 09:43:10 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:10 INFO [Crawler.931.saveDom] save to 20211027095159/323_MainActivity.tag=TextView.depth=16.id=tv_name.text=发票助手.dom 2021-10-29 09:43:10 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:10 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:10 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:10 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:10 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:10 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 324 2021-10-29 09:43:10 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:10 INFO [Crawler.425.needReturn] urlStack=Stack(InvoiceIntroduceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:10 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:10 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:43:10 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:43:10 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:43:10 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:43:10 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:43:10 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:43:10 INFO [Crawler.843.crawl] found InvoiceIntroduceActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:43:10 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:10 INFO [Crawler.996.doElementAction] current element = InvoiceIntroduceActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:43:10 INFO [Crawler.997.doElementAction] current index = 324 2021-10-29 09:43:10 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:10 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:43:10 INFO [Crawler.1000.doElementAction] current url = InvoiceIntroduceActivity 2021-10-29 09:43:10 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:43:10 INFO [Crawler.1002.doElementAction] current file name = InvoiceIntroduceActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:43:10 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:10 INFO [AppiumClient.53.findElementByURI] find by uri element= InvoiceIntroduceActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:43:10 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:43:11 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:11 INFO [Crawler.1080.doElementAction] mark 20211027095159/323_MainActivity.tag=TextView.depth=16.id=tv_name.text=发票助手.clicked.png to 20211027095159/324_InvoiceIntroduceActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:43:11 INFO [AppiumClient.141.mark] read from 20211027095159/323_MainActivity.tag=TextView.depth=16.id=tv_name.text=发票助手.clicked.png 2021-10-29 09:43:11 INFO [AppiumClient.154.mark] write png 20211027095159/323_MainActivity.tag=TextView.depth=16.id=tv_name.text=发票助手.clicked.png 2021-10-29 09:43:11 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/324_InvoiceIntroduceActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:43:11 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:11 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:43:11 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:11 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:11 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:11 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:11 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:11 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:12 INFO [Crawler.649.parsePageContext] url=InvoiceIntroduceActivity 2021-10-29 09:43:12 INFO [Crawler.673.parsePageContext] currentContentHash=d95585b545087be2f68596fef71df891 lastContentHash=d95585b545087be2f68596fef71df891 2021-10-29 09:43:12 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:43:12 INFO [Crawler.931.saveDom] save to 20211027095159/324_InvoiceIntroduceActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:43:12 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:12 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:12 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:12 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:12 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:12 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[InvoiceIntroduceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:43:12 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 325 2021-10-29 09:43:12 INFO [ReportPlugin.39.afterElementAction] 325-272 > 325/10+20 2021-10-29 09:43:12 INFO [ReportPlugin.40.afterElementAction] generate test report 2021-10-29 09:43:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:18 INFO [Crawler.425.needReturn] urlStack=Stack(InvoiceIntroduceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:43:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:43:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:43:18 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:43:18 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:43:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:43:18 INFO [Crawler.843.crawl] found InvoiceIntroduceActivity.tag=Button.depth=8.id=btn_confirm.text=确认 by first available element 2021-10-29 09:43:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:18 INFO [Crawler.996.doElementAction] current element = InvoiceIntroduceActivity.tag=Button.depth=8.id=btn_confirm.text=确认 2021-10-29 09:43:18 INFO [Crawler.997.doElementAction] current index = 325 2021-10-29 09:43:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_confirm"] 2021-10-29 09:43:18 INFO [Crawler.1000.doElementAction] current url = InvoiceIntroduceActivity 2021-10-29 09:43:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.Button 2021-10-29 09:43:18 INFO [Crawler.1002.doElementAction] current file name = InvoiceIntroduceActivity.tag=Button.depth=8.id=btn_confirm.text=确认 2021-10-29 09:43:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:18 INFO [AppiumClient.53.findElementByURI] find by uri element= InvoiceIntroduceActivity.tag=Button.depth=8.id=btn_confirm.text=确认 2021-10-29 09:43:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_confirm"] 2021-10-29 09:43:18 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:18 INFO [Crawler.1080.doElementAction] mark 20211027095159/324_InvoiceIntroduceActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/325_InvoiceIntroduceActivity.tag=Button.depth=8.id=btn_confirm.text=确认.click.png 2021-10-29 09:43:18 INFO [AppiumClient.141.mark] read from 20211027095159/324_InvoiceIntroduceActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:43:18 INFO [AppiumClient.154.mark] write png 20211027095159/324_InvoiceIntroduceActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:43:18 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/325_InvoiceIntroduceActivity.tag=Button.depth=8.id=btn_confirm.text=确认.click.png 2021-10-29 09:43:18 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:18 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_confirm"]] 2021-10-29 09:43:19 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:19 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:19 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:19 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:19 INFO [Crawler.649.parsePageContext] url=InvoiceIntroduceActivity 2021-10-29 09:43:19 INFO [Crawler.673.parsePageContext] currentContentHash=96a70b7e138a280620fa4d3179279bab lastContentHash=d95585b545087be2f68596fef71df891 2021-10-29 09:43:19 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:19 INFO [Crawler.931.saveDom] save to 20211027095159/325_InvoiceIntroduceActivity.tag=Button.depth=8.id=btn_confirm.text=确认.dom 2021-10-29 09:43:20 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:20 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:20 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:20 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:20 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:20 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[InvoiceIntroduceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.Button]=3 2021-10-29 09:43:20 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 326 2021-10-29 09:43:20 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:20 INFO [Crawler.425.needReturn] urlStack=Stack(InvoiceIntroduceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:20 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:20 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:43:20 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:43:20 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:43:20 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:43:20 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:43:20 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:43:20 INFO [Crawler.843.crawl] found InvoiceIntroduceActivity.tag=CheckBox.depth=8.id=ck_read_click.text=勾选代表您已阅读并同意 by first available element 2021-10-29 09:43:20 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:20 INFO [Crawler.996.doElementAction] current element = InvoiceIntroduceActivity.tag=CheckBox.depth=8.id=ck_read_click.text=勾选代表您已阅读并同意 2021-10-29 09:43:20 INFO [Crawler.997.doElementAction] current index = 326 2021-10-29 09:43:20 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:20 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ck_read_click"] 2021-10-29 09:43:20 INFO [Crawler.1000.doElementAction] current url = InvoiceIntroduceActivity 2021-10-29 09:43:20 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.CheckBox 2021-10-29 09:43:20 INFO [Crawler.1002.doElementAction] current file name = InvoiceIntroduceActivity.tag=CheckBox.depth=8.id=ck_read_click.text=勾选代表您已阅读并同意 2021-10-29 09:43:20 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:20 INFO [AppiumClient.53.findElementByURI] find by uri element= InvoiceIntroduceActivity.tag=CheckBox.depth=8.id=ck_read_click.text=勾选代表您已阅读并同意 2021-10-29 09:43:20 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ck_read_click"] 2021-10-29 09:43:20 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:20 INFO [Crawler.1080.doElementAction] mark 20211027095159/325_InvoiceIntroduceActivity.tag=Button.depth=8.id=btn_confirm.text=确认.clicked.png to 20211027095159/326_InvoiceIntroduceActivity.tag=CheckBox.depth=8.id=ck_read_click.text=勾选代表您已阅读并同意.click.png 2021-10-29 09:43:20 INFO [AppiumClient.141.mark] read from 20211027095159/325_InvoiceIntroduceActivity.tag=Button.depth=8.id=btn_confirm.text=确认.clicked.png 2021-10-29 09:43:20 INFO [AppiumClient.154.mark] write png 20211027095159/325_InvoiceIntroduceActivity.tag=Button.depth=8.id=btn_confirm.text=确认.clicked.png 2021-10-29 09:43:20 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/326_InvoiceIntroduceActivity.tag=CheckBox.depth=8.id=ck_read_click.text=勾选代表您已阅读并同意.click.png 2021-10-29 09:43:21 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:21 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ck_read_click"]] 2021-10-29 09:43:21 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:21 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:22 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:22 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:22 INFO [Crawler.649.parsePageContext] url=InvoiceIntroduceActivity 2021-10-29 09:43:22 INFO [Crawler.673.parsePageContext] currentContentHash=d95585b545087be2f68596fef71df891 lastContentHash=96a70b7e138a280620fa4d3179279bab 2021-10-29 09:43:22 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:22 INFO [Crawler.931.saveDom] save to 20211027095159/326_InvoiceIntroduceActivity.tag=CheckBox.depth=8.id=ck_read_click.text=勾选代表您已阅读并同意.dom 2021-10-29 09:43:22 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:22 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:23 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:23 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:23 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:23 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[InvoiceIntroduceActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.CheckBox]=3 2021-10-29 09:43:23 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 327 2021-10-29 09:43:23 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:23 INFO [Crawler.425.needReturn] urlStack=Stack(InvoiceIntroduceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:23 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:23 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:43:23 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:43:23 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:43:23 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:43:23 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:43:23 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:43:23 INFO [Crawler.851.crawl] InvoiceIntroduceActivity all elements had be clicked 2021-10-29 09:43:23 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:43:23 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:43:23 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:23 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:43:23 INFO [Crawler.996.doElementAction] current element = InvoiceIntroduceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:43:23 INFO [Crawler.997.doElementAction] current index = 327 2021-10-29 09:43:23 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:23 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:43:23 INFO [Crawler.1000.doElementAction] current url = InvoiceIntroduceActivity 2021-10-29 09:43:23 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:43:23 INFO [Crawler.1002.doElementAction] current file name = InvoiceIntroduceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:43:23 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:23 INFO [AppiumClient.53.findElementByURI] find by uri element= InvoiceIntroduceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:43:23 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:43:23 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:23 INFO [Crawler.1080.doElementAction] mark 20211027095159/326_InvoiceIntroduceActivity.tag=CheckBox.depth=8.id=ck_read_click.text=勾选代表您已阅读并同意.clicked.png to 20211027095159/327_InvoiceIntroduceActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:43:23 INFO [AppiumClient.141.mark] read from 20211027095159/326_InvoiceIntroduceActivity.tag=CheckBox.depth=8.id=ck_read_click.text=勾选代表您已阅读并同意.clicked.png 2021-10-29 09:43:23 INFO [AppiumClient.154.mark] write png 20211027095159/326_InvoiceIntroduceActivity.tag=CheckBox.depth=8.id=ck_read_click.text=勾选代表您已阅读并同意.clicked.png 2021-10-29 09:43:23 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/327_InvoiceIntroduceActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:43:23 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:23 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:43:23 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:23 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:24 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:24 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:24 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:24 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:24 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:43:24 INFO [Crawler.673.parsePageContext] currentContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 lastContentHash=d95585b545087be2f68596fef71df891 2021-10-29 09:43:24 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:24 INFO [Crawler.931.saveDom] save to 20211027095159/327_InvoiceIntroduceActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:43:25 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:25 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:25 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:25 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:25 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:25 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 328 2021-10-29 09:43:25 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:25 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:25 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:25 INFO [Crawler.487.getAvailableElement] selected nodes size = 24 2021-10-29 09:43:25 INFO [Crawler.499.getAvailableElement] all - black elements size = 24 2021-10-29 09:43:25 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 24 2021-10-29 09:43:25 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:43:25 INFO [Crawler.598.getAvailableElement] all - clicked size=12 2021-10-29 09:43:25 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=12 2021-10-29 09:43:25 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_name.text=码牌备注 by first available element 2021-10-29 09:43:25 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:25 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_name.text=码牌备注 2021-10-29 09:43:25 INFO [Crawler.997.doElementAction] current index = 328 2021-10-29 09:43:25 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:25 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="码牌备注" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:43:25 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:43:25 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:43:25 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_name.text=码牌备注 2021-10-29 09:43:25 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:25 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_name.text=码牌备注 2021-10-29 09:43:25 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="码牌备注" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:43:25 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:25 INFO [Crawler.1080.doElementAction] mark 20211027095159/327_InvoiceIntroduceActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/328_MainActivity.tag=TextView.depth=16.id=tv_name.text=码牌备注.click.png 2021-10-29 09:43:25 INFO [AppiumClient.141.mark] read from 20211027095159/327_InvoiceIntroduceActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:43:26 INFO [AppiumClient.154.mark] write png 20211027095159/327_InvoiceIntroduceActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:43:26 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/328_MainActivity.tag=TextView.depth=16.id=tv_name.text=码牌备注.click.png 2021-10-29 09:43:26 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:26 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="码牌备注" and @resource-id="com.jlpay.merch:id/tv_name"]] 2021-10-29 09:43:27 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:27 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:27 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:27 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:27 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:27 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:28 INFO [Crawler.649.parsePageContext] url=PaycodeRemarkActivity 2021-10-29 09:43:28 INFO [Crawler.673.parsePageContext] currentContentHash=285aaee17629e9161bd993bdf0f44e68 lastContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 2021-10-29 09:43:28 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:28 INFO [Crawler.931.saveDom] save to 20211027095159/328_MainActivity.tag=TextView.depth=16.id=tv_name.text=码牌备注.dom 2021-10-29 09:43:28 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:28 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:28 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:28 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:28 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:28 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 329 2021-10-29 09:43:28 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:28 INFO [Crawler.425.needReturn] urlStack=Stack(PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:28 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:28 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:43:28 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:43:28 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:43:28 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:43:28 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:43:28 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:43:28 INFO [Crawler.843.crawl] found PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_unbind.text=绑定 by first available element 2021-10-29 09:43:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:28 INFO [Crawler.996.doElementAction] current element = PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_unbind.text=绑定 2021-10-29 09:43:28 INFO [Crawler.997.doElementAction] current index = 329 2021-10-29 09:43:28 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:28 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/rv_content"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="绑定" and @resource-id="com.jlpay.merch:id/tv_unbind"] 2021-10-29 09:43:28 INFO [Crawler.1000.doElementAction] current url = PaycodeRemarkActivity 2021-10-29 09:43:28 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:43:28 INFO [Crawler.1002.doElementAction] current file name = PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_unbind.text=绑定 2021-10-29 09:43:28 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:28 INFO [AppiumClient.53.findElementByURI] find by uri element= PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_unbind.text=绑定 2021-10-29 09:43:28 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/rv_content"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="绑定" and @resource-id="com.jlpay.merch:id/tv_unbind"] 2021-10-29 09:43:28 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:28 INFO [Crawler.1080.doElementAction] mark 20211027095159/328_MainActivity.tag=TextView.depth=16.id=tv_name.text=码牌备注.clicked.png to 20211027095159/329_PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_unbind.text=绑定.click.png 2021-10-29 09:43:28 INFO [AppiumClient.141.mark] read from 20211027095159/328_MainActivity.tag=TextView.depth=16.id=tv_name.text=码牌备注.clicked.png 2021-10-29 09:43:28 INFO [AppiumClient.154.mark] write png 20211027095159/328_MainActivity.tag=TextView.depth=16.id=tv_name.text=码牌备注.clicked.png 2021-10-29 09:43:28 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/329_PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_unbind.text=绑定.click.png 2021-10-29 09:43:29 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:29 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/rv_content"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="绑定" and @resource-id="com.jlpay.merch:id/tv_unbind"]] 2021-10-29 09:43:29 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:29 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:29 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:29 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:30 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:30 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:30 INFO [Crawler.649.parsePageContext] url=AddBindPaycodeActivity 2021-10-29 09:43:30 INFO [Crawler.673.parsePageContext] currentContentHash=c4d80aef91ffb986942542d5475b7b5f lastContentHash=285aaee17629e9161bd993bdf0f44e68 2021-10-29 09:43:30 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:30 INFO [Crawler.931.saveDom] save to 20211027095159/329_PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_unbind.text=绑定.dom 2021-10-29 09:43:30 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:30 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:30 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:30 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:30 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:30 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 330 2021-10-29 09:43:30 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:30 INFO [Crawler.425.needReturn] urlStack=Stack(AddBindPaycodeActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:30 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:30 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:43:30 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:43:30 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:43:30 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:43:30 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:43:30 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:43:30 INFO [Crawler.843.crawl] found AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_merch_no by first available element 2021-10-29 09:43:30 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:30 INFO [Crawler.996.doElementAction] current element = AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_merch_no 2021-10-29 09:43:30 INFO [Crawler.997.doElementAction] current index = 330 2021-10-29 09:43:30 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:30 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_merch_no"]//*[@resource-id="com.jlpay.merch:id/cb_merch_no"] 2021-10-29 09:43:30 INFO [Crawler.1000.doElementAction] current url = AddBindPaycodeActivity 2021-10-29 09:43:30 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:43:30 INFO [Crawler.1002.doElementAction] current file name = AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_merch_no 2021-10-29 09:43:30 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:30 INFO [AppiumClient.53.findElementByURI] find by uri element= AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_merch_no 2021-10-29 09:43:30 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_merch_no"]//*[@resource-id="com.jlpay.merch:id/cb_merch_no"] 2021-10-29 09:43:30 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:30 INFO [Crawler.1080.doElementAction] mark 20211027095159/329_PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_unbind.text=绑定.clicked.png to 20211027095159/330_AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_merch_no.click.png 2021-10-29 09:43:30 INFO [AppiumClient.141.mark] read from 20211027095159/329_PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_unbind.text=绑定.clicked.png 2021-10-29 09:43:31 INFO [AppiumClient.154.mark] write png 20211027095159/329_PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_unbind.text=绑定.clicked.png 2021-10-29 09:43:31 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/330_AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_merch_no.click.png 2021-10-29 09:43:31 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:31 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_merch_no"]//*[@resource-id="com.jlpay.merch:id/cb_merch_no"]] 2021-10-29 09:43:31 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:31 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:31 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:31 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:31 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:31 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:31 INFO [Crawler.649.parsePageContext] url=AddBindPaycodeActivity 2021-10-29 09:43:31 INFO [Crawler.673.parsePageContext] currentContentHash=c4d80aef91ffb986942542d5475b7b5f lastContentHash=c4d80aef91ffb986942542d5475b7b5f 2021-10-29 09:43:31 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:43:31 INFO [Crawler.931.saveDom] save to 20211027095159/330_AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_merch_no.dom 2021-10-29 09:43:32 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:32 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:32 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:32 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:32 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:32 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddBindPaycodeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=3 2021-10-29 09:43:32 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 331 2021-10-29 09:43:32 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:32 INFO [Crawler.425.needReturn] urlStack=Stack(AddBindPaycodeActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:32 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:32 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:43:32 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:43:32 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:43:32 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:43:32 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:43:32 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:43:32 INFO [Crawler.843.crawl] found AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_terminal_no by first available element 2021-10-29 09:43:32 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:32 INFO [Crawler.996.doElementAction] current element = AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_terminal_no 2021-10-29 09:43:32 INFO [Crawler.997.doElementAction] current index = 331 2021-10-29 09:43:32 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:32 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_terminal_no"]//*[@resource-id="com.jlpay.merch:id/cb_terminal_no"] 2021-10-29 09:43:32 INFO [Crawler.1000.doElementAction] current url = AddBindPaycodeActivity 2021-10-29 09:43:32 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:43:32 INFO [Crawler.1002.doElementAction] current file name = AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_terminal_no 2021-10-29 09:43:32 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:32 INFO [AppiumClient.53.findElementByURI] find by uri element= AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_terminal_no 2021-10-29 09:43:32 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_terminal_no"]//*[@resource-id="com.jlpay.merch:id/cb_terminal_no"] 2021-10-29 09:43:32 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:32 INFO [Crawler.1080.doElementAction] mark 20211027095159/330_AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_merch_no.clicked.png to 20211027095159/331_AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_terminal_no.click.png 2021-10-29 09:43:32 INFO [AppiumClient.141.mark] read from 20211027095159/330_AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_merch_no.clicked.png 2021-10-29 09:43:32 INFO [AppiumClient.154.mark] write png 20211027095159/330_AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_merch_no.clicked.png 2021-10-29 09:43:32 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/331_AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_terminal_no.click.png 2021-10-29 09:43:33 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:33 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_terminal_no"]//*[@resource-id="com.jlpay.merch:id/cb_terminal_no"]] 2021-10-29 09:43:33 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:33 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:34 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:34 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:34 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:34 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:34 INFO [Crawler.649.parsePageContext] url=AddBindPaycodeActivity 2021-10-29 09:43:34 INFO [Crawler.673.parsePageContext] currentContentHash=662bf9c92df90ecc34e1fa6054890fc4 lastContentHash=c4d80aef91ffb986942542d5475b7b5f 2021-10-29 09:43:34 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:34 INFO [Crawler.931.saveDom] save to 20211027095159/331_AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_terminal_no.dom 2021-10-29 09:43:34 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:34 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:35 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:35 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:35 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:35 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddBindPaycodeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=2 2021-10-29 09:43:35 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 332 2021-10-29 09:43:35 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:35 INFO [Crawler.425.needReturn] urlStack=Stack(AddBindPaycodeActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:35 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:35 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:43:35 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:43:35 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:43:35 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:43:35 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:43:35 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:43:35 INFO [Crawler.843.crawl] found AddBindPaycodeActivity.tag=CheckBox.depth=15.id=cb_terminal by first available element 2021-10-29 09:43:35 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:35 INFO [Crawler.996.doElementAction] current element = AddBindPaycodeActivity.tag=CheckBox.depth=15.id=cb_terminal 2021-10-29 09:43:35 INFO [Crawler.997.doElementAction] current index = 332 2021-10-29 09:43:35 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:35 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rv_content"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/cb_terminal"] 2021-10-29 09:43:35 INFO [Crawler.1000.doElementAction] current url = AddBindPaycodeActivity 2021-10-29 09:43:35 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:43:35 INFO [Crawler.1002.doElementAction] current file name = AddBindPaycodeActivity.tag=CheckBox.depth=15.id=cb_terminal 2021-10-29 09:43:35 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:35 INFO [AppiumClient.53.findElementByURI] find by uri element= AddBindPaycodeActivity.tag=CheckBox.depth=15.id=cb_terminal 2021-10-29 09:43:35 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rv_content"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/cb_terminal"] 2021-10-29 09:43:36 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:36 INFO [Crawler.1080.doElementAction] mark 20211027095159/331_AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_terminal_no.clicked.png to 20211027095159/332_AddBindPaycodeActivity.tag=CheckBox.depth=15.id=cb_terminal.click.png 2021-10-29 09:43:36 INFO [AppiumClient.141.mark] read from 20211027095159/331_AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_terminal_no.clicked.png 2021-10-29 09:43:36 INFO [AppiumClient.154.mark] write png 20211027095159/331_AddBindPaycodeActivity.tag=CheckBox.depth=13.id=cb_terminal_no.clicked.png 2021-10-29 09:43:36 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/332_AddBindPaycodeActivity.tag=CheckBox.depth=15.id=cb_terminal.click.png 2021-10-29 09:43:36 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:36 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rv_content"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/cb_terminal"]] 2021-10-29 09:43:36 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:36 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:36 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:36 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:37 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:37 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:37 INFO [Crawler.649.parsePageContext] url=AddBindPaycodeActivity 2021-10-29 09:43:37 INFO [Crawler.673.parsePageContext] currentContentHash=662bf9c92df90ecc34e1fa6054890fc4 lastContentHash=662bf9c92df90ecc34e1fa6054890fc4 2021-10-29 09:43:37 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:43:37 INFO [Crawler.931.saveDom] save to 20211027095159/332_AddBindPaycodeActivity.tag=CheckBox.depth=15.id=cb_terminal.dom 2021-10-29 09:43:37 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:37 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:39 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:39 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:39 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:39 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddBindPaycodeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=3 2021-10-29 09:43:39 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 333 2021-10-29 09:43:39 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:39 INFO [Crawler.425.needReturn] urlStack=Stack(AddBindPaycodeActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:39 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:39 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:43:39 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:43:39 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:43:39 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:43:39 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:43:39 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:43:39 INFO [Crawler.843.crawl] found AddBindPaycodeActivity.tag=Button.depth=10.id=btn_ok.text=确定 by first available element 2021-10-29 09:43:39 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:39 INFO [TagLimitPlugin.35.beforeElementAction] tagLimit[AddBindPaycodeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button]=1000 with conf.tagLimit 2021-10-29 09:43:39 INFO [Crawler.996.doElementAction] current element = AddBindPaycodeActivity.tag=Button.depth=10.id=btn_ok.text=确定 2021-10-29 09:43:39 INFO [Crawler.997.doElementAction] current index = 333 2021-10-29 09:43:39 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:39 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/btn_ok"] 2021-10-29 09:43:39 INFO [Crawler.1000.doElementAction] current url = AddBindPaycodeActivity 2021-10-29 09:43:39 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:43:39 INFO [Crawler.1002.doElementAction] current file name = AddBindPaycodeActivity.tag=Button.depth=10.id=btn_ok.text=确定 2021-10-29 09:43:39 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:39 INFO [AppiumClient.53.findElementByURI] find by uri element= AddBindPaycodeActivity.tag=Button.depth=10.id=btn_ok.text=确定 2021-10-29 09:43:39 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/btn_ok"] 2021-10-29 09:43:39 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:39 INFO [Crawler.1080.doElementAction] mark 20211027095159/332_AddBindPaycodeActivity.tag=CheckBox.depth=15.id=cb_terminal.clicked.png to 20211027095159/333_AddBindPaycodeActivity.tag=Button.depth=10.id=btn_ok.text=确定.click.png 2021-10-29 09:43:39 INFO [AppiumClient.141.mark] read from 20211027095159/332_AddBindPaycodeActivity.tag=CheckBox.depth=15.id=cb_terminal.clicked.png 2021-10-29 09:43:39 INFO [AppiumClient.154.mark] write png 20211027095159/332_AddBindPaycodeActivity.tag=CheckBox.depth=15.id=cb_terminal.clicked.png 2021-10-29 09:43:39 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/333_AddBindPaycodeActivity.tag=Button.depth=10.id=btn_ok.text=确定.click.png 2021-10-29 09:43:39 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:39 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/btn_ok"]] 2021-10-29 09:43:39 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:39 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:40 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:40 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:40 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:40 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:41 INFO [Crawler.649.parsePageContext] url=PaycodeRemarkActivity 2021-10-29 09:43:41 INFO [Crawler.673.parsePageContext] currentContentHash=59a086da94a4d55669d8c5c457067ed6 lastContentHash=662bf9c92df90ecc34e1fa6054890fc4 2021-10-29 09:43:41 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:41 INFO [Crawler.931.saveDom] save to 20211027095159/333_AddBindPaycodeActivity.tag=Button.depth=10.id=btn_ok.text=确定.dom 2021-10-29 09:43:41 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:41 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:41 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:41 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:41 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:41 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 334 2021-10-29 09:43:41 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:41 INFO [Crawler.425.needReturn] urlStack=Stack(PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:41 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:41 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:43:41 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:43:41 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:43:41 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:43:41 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:43:41 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:43:41 INFO [Crawler.843.crawl] found PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_modify.text=修改 by first available element 2021-10-29 09:43:41 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:41 INFO [Crawler.996.doElementAction] current element = PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_modify.text=修改 2021-10-29 09:43:41 INFO [Crawler.997.doElementAction] current index = 334 2021-10-29 09:43:41 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:41 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/rv_content"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="修改" and @resource-id="com.jlpay.merch:id/tv_modify"] 2021-10-29 09:43:41 INFO [Crawler.1000.doElementAction] current url = PaycodeRemarkActivity 2021-10-29 09:43:41 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:43:41 INFO [Crawler.1002.doElementAction] current file name = PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_modify.text=修改 2021-10-29 09:43:41 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:41 INFO [AppiumClient.53.findElementByURI] find by uri element= PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_modify.text=修改 2021-10-29 09:43:41 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/rv_content"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="修改" and @resource-id="com.jlpay.merch:id/tv_modify"] 2021-10-29 09:43:41 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:41 INFO [Crawler.1080.doElementAction] mark 20211027095159/333_AddBindPaycodeActivity.tag=Button.depth=10.id=btn_ok.text=确定.clicked.png to 20211027095159/334_PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_modify.text=修改.click.png 2021-10-29 09:43:41 INFO [AppiumClient.141.mark] read from 20211027095159/333_AddBindPaycodeActivity.tag=Button.depth=10.id=btn_ok.text=确定.clicked.png 2021-10-29 09:43:41 INFO [AppiumClient.154.mark] write png 20211027095159/333_AddBindPaycodeActivity.tag=Button.depth=10.id=btn_ok.text=确定.clicked.png 2021-10-29 09:43:41 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/334_PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_modify.text=修改.click.png 2021-10-29 09:43:41 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:41 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/rv_content"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="修改" and @resource-id="com.jlpay.merch:id/tv_modify"]] 2021-10-29 09:43:42 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:42 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:42 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:42 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:42 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:42 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:43 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:43:43 INFO [Crawler.673.parsePageContext] currentContentHash=960eb90336f63c139684ee916b86439e lastContentHash=59a086da94a4d55669d8c5c457067ed6 2021-10-29 09:43:43 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:43 INFO [Crawler.931.saveDom] save to 20211027095159/334_PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_modify.text=修改.dom 2021-10-29 09:43:43 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:43 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:44 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:44 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:44 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:44 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 335 2021-10-29 09:43:44 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:44 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:44 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:44 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:43:44 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:43:44 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:43:44 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:43:44 INFO [Crawler.598.getAvailableElement] all - clicked size=12 2021-10-29 09:43:44 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=12 2021-10-29 09:43:44 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_add_remark by first available element 2021-10-29 09:43:44 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:44 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_add_remark 2021-10-29 09:43:44 INFO [Crawler.997.doElementAction] current index = 335 2021-10-29 09:43:44 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:44 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/ll_chooose_item_container"]//*[@resource-id="com.jlpay.merch:id/btn_add_remark"] 2021-10-29 09:43:44 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:43:44 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:43:44 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_add_remark 2021-10-29 09:43:44 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:44 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_add_remark 2021-10-29 09:43:44 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/ll_chooose_item_container"]//*[@resource-id="com.jlpay.merch:id/btn_add_remark"] 2021-10-29 09:43:44 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:44 INFO [Crawler.1080.doElementAction] mark 20211027095159/334_PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_modify.text=修改.clicked.png to 20211027095159/335_AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_add_remark.click.png 2021-10-29 09:43:44 INFO [AppiumClient.141.mark] read from 20211027095159/334_PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_modify.text=修改.clicked.png 2021-10-29 09:43:44 INFO [AppiumClient.154.mark] write png 20211027095159/334_PaycodeRemarkActivity.tag=TextView.depth=14.id=tv_modify.text=修改.clicked.png 2021-10-29 09:43:44 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/335_AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_add_remark.click.png 2021-10-29 09:43:44 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:44 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/ll_chooose_item_container"]//*[@resource-id="com.jlpay.merch:id/btn_add_remark"]] 2021-10-29 09:43:44 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:44 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:45 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:45 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:45 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:45 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:45 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:43:45 INFO [Crawler.673.parsePageContext] currentContentHash=dea37575cfe0dfd76fe01db1ae4039f1 lastContentHash=960eb90336f63c139684ee916b86439e 2021-10-29 09:43:45 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:45 INFO [Crawler.931.saveDom] save to 20211027095159/335_AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_add_remark.dom 2021-10-29 09:43:45 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:45 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:46 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:46 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:46 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:46 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=3 2021-10-29 09:43:46 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 336 2021-10-29 09:43:46 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:46 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:46 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:46 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:43:46 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:43:46 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:43:46 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:43:46 INFO [Crawler.598.getAvailableElement] all - clicked size=13 2021-10-29 09:43:46 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=13 2021-10-29 09:43:46 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_del_remark by first available element 2021-10-29 09:43:46 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:46 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_del_remark 2021-10-29 09:43:46 INFO [Crawler.997.doElementAction] current index = 336 2021-10-29 09:43:46 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:46 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/ll_chooose_item_container"]//*[@resource-id="com.jlpay.merch:id/btn_del_remark"] 2021-10-29 09:43:46 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:43:46 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:43:46 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_del_remark 2021-10-29 09:43:46 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:46 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_del_remark 2021-10-29 09:43:46 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/ll_chooose_item_container"]//*[@resource-id="com.jlpay.merch:id/btn_del_remark"] 2021-10-29 09:43:46 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:46 INFO [Crawler.1080.doElementAction] mark 20211027095159/335_AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_add_remark.clicked.png to 20211027095159/336_AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_del_remark.click.png 2021-10-29 09:43:46 INFO [AppiumClient.141.mark] read from 20211027095159/335_AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_add_remark.clicked.png 2021-10-29 09:43:46 INFO [AppiumClient.154.mark] write png 20211027095159/335_AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_add_remark.clicked.png 2021-10-29 09:43:46 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/336_AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_del_remark.click.png 2021-10-29 09:43:46 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:46 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/ll_chooose_item_container"]//*[@resource-id="com.jlpay.merch:id/btn_del_remark"]] 2021-10-29 09:43:47 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:47 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:47 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:47 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:47 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:47 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:48 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:43:48 INFO [Crawler.673.parsePageContext] currentContentHash=c1832a10bfc77f6f3102d14f94a144a5 lastContentHash=dea37575cfe0dfd76fe01db1ae4039f1 2021-10-29 09:43:48 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:48 INFO [Crawler.931.saveDom] save to 20211027095159/336_AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_del_remark.dom 2021-10-29 09:43:48 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:48 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:48 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:48 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:48 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:48 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=2 2021-10-29 09:43:48 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 337 2021-10-29 09:43:48 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:48 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:48 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:48 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:43:48 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:43:48 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:43:48 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:43:48 INFO [Crawler.598.getAvailableElement] all - clicked size=11 2021-10-29 09:43:48 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=11 2021-10-29 09:43:48 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=EditText.depth=17.id=edt_chooose_item_1.text=请输入选项名称 by first available element 2021-10-29 09:43:48 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:48 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=EditText.depth=17.id=edt_chooose_item_1.text=请输入选项名称 2021-10-29 09:43:48 INFO [Crawler.997.doElementAction] current index = 337 2021-10-29 09:43:48 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:48 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/ll_chooose_item_container"]//*[@text="请输入选项名称" and @resource-id="com.jlpay.merch:id/edt_chooose_item_1"] 2021-10-29 09:43:48 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:43:48 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:43:48 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=EditText.depth=17.id=edt_chooose_item_1.text=请输入选项名称 2021-10-29 09:43:48 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:48 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=EditText.depth=17.id=edt_chooose_item_1.text=请输入选项名称 2021-10-29 09:43:48 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/ll_chooose_item_container"]//*[@text="请输入选项名称" and @resource-id="com.jlpay.merch:id/edt_chooose_item_1"] 2021-10-29 09:43:48 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:48 INFO [Crawler.1080.doElementAction] mark 20211027095159/336_AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_del_remark.clicked.png to 20211027095159/337_AddPaycodeRemarkActivity.tag=EditText.depth=17.id=edt_chooose_item_1.text=请输入选项名称.click.png 2021-10-29 09:43:48 INFO [AppiumClient.141.mark] read from 20211027095159/336_AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_del_remark.clicked.png 2021-10-29 09:43:49 INFO [AppiumClient.154.mark] write png 20211027095159/336_AddPaycodeRemarkActivity.tag=Button.depth=17.id=btn_del_remark.clicked.png 2021-10-29 09:43:49 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/337_AddPaycodeRemarkActivity.tag=EditText.depth=17.id=edt_chooose_item_1.text=请输入选项名称.click.png 2021-10-29 09:43:49 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:49 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/ll_chooose_item_container"]//*[@text="请输入选项名称" and @resource-id="com.jlpay.merch:id/edt_chooose_item_1"]] 2021-10-29 09:43:50 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:50 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:51 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:51 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:51 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:51 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:51 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:43:51 INFO [Crawler.673.parsePageContext] currentContentHash=c1832a10bfc77f6f3102d14f94a144a5 lastContentHash=c1832a10bfc77f6f3102d14f94a144a5 2021-10-29 09:43:51 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:43:51 INFO [Crawler.931.saveDom] save to 20211027095159/337_AddPaycodeRemarkActivity.tag=EditText.depth=17.id=edt_chooose_item_1.text=请输入选项名称.dom 2021-10-29 09:43:51 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:51 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:52 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:52 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:52 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:52 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:43:52 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 338 2021-10-29 09:43:52 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:52 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:52 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:52 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:43:52 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:43:52 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:43:52 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:43:52 INFO [Crawler.598.getAvailableElement] all - clicked size=10 2021-10-29 09:43:52 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=10 2021-10-29 09:43:52 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_yes.text=是 by first available element 2021-10-29 09:43:52 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:52 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_yes.text=是 2021-10-29 09:43:52 INFO [Crawler.997.doElementAction] current index = 338 2021-10-29 09:43:52 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:52 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/rg_remark_name"]//*[@text="是" and @resource-id="com.jlpay.merch:id/rb_remark_name_yes"] 2021-10-29 09:43:52 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:43:52 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton 2021-10-29 09:43:52 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_yes.text=是 2021-10-29 09:43:52 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:52 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_yes.text=是 2021-10-29 09:43:52 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/rg_remark_name"]//*[@text="是" and @resource-id="com.jlpay.merch:id/rb_remark_name_yes"] 2021-10-29 09:43:52 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:52 INFO [Crawler.1080.doElementAction] mark 20211027095159/337_AddPaycodeRemarkActivity.tag=EditText.depth=17.id=edt_chooose_item_1.text=请输入选项名称.clicked.png to 20211027095159/338_AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_yes.text=是.click.png 2021-10-29 09:43:52 INFO [AppiumClient.141.mark] read from 20211027095159/337_AddPaycodeRemarkActivity.tag=EditText.depth=17.id=edt_chooose_item_1.text=请输入选项名称.clicked.png 2021-10-29 09:43:52 INFO [AppiumClient.154.mark] write png 20211027095159/337_AddPaycodeRemarkActivity.tag=EditText.depth=17.id=edt_chooose_item_1.text=请输入选项名称.clicked.png 2021-10-29 09:43:52 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/338_AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_yes.text=是.click.png 2021-10-29 09:43:52 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:52 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/rg_remark_name"]//*[@text="是" and @resource-id="com.jlpay.merch:id/rb_remark_name_yes"]] 2021-10-29 09:43:52 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:52 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:53 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:53 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:53 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:53 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:53 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:43:53 INFO [Crawler.673.parsePageContext] currentContentHash=c1832a10bfc77f6f3102d14f94a144a5 lastContentHash=c1832a10bfc77f6f3102d14f94a144a5 2021-10-29 09:43:53 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:43:53 INFO [Crawler.931.saveDom] save to 20211027095159/338_AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_yes.text=是.dom 2021-10-29 09:43:53 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:53 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:54 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:54 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:54 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:54 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton]=3 2021-10-29 09:43:54 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 339 2021-10-29 09:43:54 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:54 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:54 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:54 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:43:54 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:43:54 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:43:54 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:43:54 INFO [Crawler.598.getAvailableElement] all - clicked size=9 2021-10-29 09:43:54 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:43:54 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_no.text=否 by first available element 2021-10-29 09:43:54 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:54 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_no.text=否 2021-10-29 09:43:54 INFO [Crawler.997.doElementAction] current index = 339 2021-10-29 09:43:54 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:54 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/rg_remark_name"]//*[@text="否" and @resource-id="com.jlpay.merch:id/rb_remark_name_no"] 2021-10-29 09:43:54 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:43:54 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton 2021-10-29 09:43:54 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_no.text=否 2021-10-29 09:43:54 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:54 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_no.text=否 2021-10-29 09:43:54 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/rg_remark_name"]//*[@text="否" and @resource-id="com.jlpay.merch:id/rb_remark_name_no"] 2021-10-29 09:43:54 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:54 INFO [Crawler.1080.doElementAction] mark 20211027095159/338_AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_yes.text=是.clicked.png to 20211027095159/339_AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_no.text=否.click.png 2021-10-29 09:43:54 INFO [AppiumClient.141.mark] read from 20211027095159/338_AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_yes.text=是.clicked.png 2021-10-29 09:43:54 INFO [AppiumClient.154.mark] write png 20211027095159/338_AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_yes.text=是.clicked.png 2021-10-29 09:43:54 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/339_AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_no.text=否.click.png 2021-10-29 09:43:54 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:54 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@resource-id="com.jlpay.merch:id/rg_remark_name"]//*[@text="否" and @resource-id="com.jlpay.merch:id/rb_remark_name_no"]] 2021-10-29 09:43:54 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:54 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:55 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:55 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:55 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:55 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:55 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:43:55 INFO [Crawler.673.parsePageContext] currentContentHash=c1832a10bfc77f6f3102d14f94a144a5 lastContentHash=c1832a10bfc77f6f3102d14f94a144a5 2021-10-29 09:43:55 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:43:55 INFO [Crawler.931.saveDom] save to 20211027095159/339_AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_no.text=否.dom 2021-10-29 09:43:55 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:55 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:56 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:56 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:56 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:56 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RadioGroup/android.widget.RadioButton]=2 2021-10-29 09:43:56 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 340 2021-10-29 09:43:56 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:56 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:56 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:56 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:43:56 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:43:56 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:43:56 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:43:56 INFO [Crawler.598.getAvailableElement] all - clicked size=8 2021-10-29 09:43:56 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:43:56 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单选 by first available element 2021-10-29 09:43:56 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:56 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单选 2021-10-29 09:43:56 INFO [Crawler.997.doElementAction] current index = 340 2021-10-29 09:43:56 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:56 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@text="单选" and @resource-id="com.jlpay.merch:id/tv_remark_type_switch"] 2021-10-29 09:43:56 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:43:56 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:43:56 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单选 2021-10-29 09:43:56 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:56 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单选 2021-10-29 09:43:56 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@text="单选" and @resource-id="com.jlpay.merch:id/tv_remark_type_switch"] 2021-10-29 09:43:56 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:56 INFO [Crawler.1080.doElementAction] mark 20211027095159/339_AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_no.text=否.clicked.png to 20211027095159/340_AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单选.click.png 2021-10-29 09:43:56 INFO [AppiumClient.141.mark] read from 20211027095159/339_AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_no.text=否.clicked.png 2021-10-29 09:43:56 INFO [AppiumClient.154.mark] write png 20211027095159/339_AddPaycodeRemarkActivity.tag=RadioButton.depth=16.id=rb_remark_name_no.text=否.clicked.png 2021-10-29 09:43:56 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/340_AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单选.click.png 2021-10-29 09:43:56 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:56 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@text="单选" and @resource-id="com.jlpay.merch:id/tv_remark_type_switch"]] 2021-10-29 09:43:57 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:57 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:57 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:57 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:43:57 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:43:57 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:43:57 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:43:57 INFO [Crawler.673.parsePageContext] currentContentHash=addc8314ac7968e851564a787b74ba0c lastContentHash=c1832a10bfc77f6f3102d14f94a144a5 2021-10-29 09:43:57 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:43:57 INFO [Crawler.931.saveDom] save to 20211027095159/340_AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单选.dom 2021-10-29 09:43:57 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:43:57 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:43:58 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:43:58 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:43:58 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:43:58 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:43:58 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 341 2021-10-29 09:43:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:43:58 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:43:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:43:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:43:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:43:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:43:58 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:43:58 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:43:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:43:58 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_text.text=单行文本 by first available element 2021-10-29 09:43:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:43:58 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_text.text=单行文本 2021-10-29 09:43:58 INFO [Crawler.997.doElementAction] current index = 341 2021-10-29 09:43:58 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:43:58 INFO [Crawler.999.doElementAction] current xpath = //*[@text="单行文本" and @resource-id="com.jlpay.merch:id/tv_choose_text"] 2021-10-29 09:43:58 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:43:58 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:43:58 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_text.text=单行文本 2021-10-29 09:43:58 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:43:58 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_text.text=单行文本 2021-10-29 09:43:58 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@text="单行文本" and @resource-id="com.jlpay.merch:id/tv_choose_text"] 2021-10-29 09:43:58 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:43:58 INFO [Crawler.1080.doElementAction] mark 20211027095159/340_AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单选.clicked.png to 20211027095159/341_AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_text.text=单行文本.click.png 2021-10-29 09:43:58 INFO [AppiumClient.141.mark] read from 20211027095159/340_AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单选.clicked.png 2021-10-29 09:43:58 INFO [AppiumClient.154.mark] write png 20211027095159/340_AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单选.clicked.png 2021-10-29 09:43:58 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/341_AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_text.text=单行文本.click.png 2021-10-29 09:43:59 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:43:59 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@text="单行文本" and @resource-id="com.jlpay.merch:id/tv_choose_text"]] 2021-10-29 09:43:59 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:43:59 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:43:59 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:43:59 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:00 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:00 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:00 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:44:00 INFO [Crawler.673.parsePageContext] currentContentHash=6255b2252e900be129647afeff74c823 lastContentHash=addc8314ac7968e851564a787b74ba0c 2021-10-29 09:44:00 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:00 INFO [Crawler.931.saveDom] save to 20211027095159/341_AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_text.text=单行文本.dom 2021-10-29 09:44:00 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:00 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:01 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:01 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:01 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:01 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:44:01 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 342 2021-10-29 09:44:01 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:01 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:01 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:01 INFO [Crawler.487.getAvailableElement] selected nodes size = 11 2021-10-29 09:44:01 INFO [Crawler.499.getAvailableElement] all - black elements size = 11 2021-10-29 09:44:01 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 11 2021-10-29 09:44:01 INFO [Crawler.590.getAvailableElement] all - backButton size=10 2021-10-29 09:44:01 INFO [Crawler.598.getAvailableElement] all - clicked size=8 2021-10-29 09:44:01 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:44:01 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单行文本 by first available element 2021-10-29 09:44:01 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:01 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单行文本 2021-10-29 09:44:01 INFO [Crawler.997.doElementAction] current index = 342 2021-10-29 09:44:01 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:01 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@text="单行文本" and @resource-id="com.jlpay.merch:id/tv_remark_type_switch"] 2021-10-29 09:44:01 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:44:01 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:44:01 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单行文本 2021-10-29 09:44:01 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:01 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单行文本 2021-10-29 09:44:01 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@text="单行文本" and @resource-id="com.jlpay.merch:id/tv_remark_type_switch"] 2021-10-29 09:44:01 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:01 INFO [Crawler.1080.doElementAction] mark 20211027095159/341_AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_text.text=单行文本.clicked.png to 20211027095159/342_AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单行文本.click.png 2021-10-29 09:44:01 INFO [AppiumClient.141.mark] read from 20211027095159/341_AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_text.text=单行文本.clicked.png 2021-10-29 09:44:01 INFO [AppiumClient.154.mark] write png 20211027095159/341_AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_text.text=单行文本.clicked.png 2021-10-29 09:44:01 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/342_AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单行文本.click.png 2021-10-29 09:44:01 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:01 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@text="单行文本" and @resource-id="com.jlpay.merch:id/tv_remark_type_switch"]] 2021-10-29 09:44:01 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:01 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:01 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:01 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:02 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:02 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:02 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:44:02 INFO [Crawler.673.parsePageContext] currentContentHash=addc8314ac7968e851564a787b74ba0c lastContentHash=6255b2252e900be129647afeff74c823 2021-10-29 09:44:02 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:02 INFO [Crawler.931.saveDom] save to 20211027095159/342_AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单行文本.dom 2021-10-29 09:44:02 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:02 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:03 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:03 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:03 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:03 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=2 2021-10-29 09:44:03 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 343 2021-10-29 09:44:03 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:03 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:03 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:03 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:44:03 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:44:03 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:44:03 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:44:03 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:44:03 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:44:03 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_single.text=单选 by first available element 2021-10-29 09:44:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:03 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_single.text=单选 2021-10-29 09:44:03 INFO [Crawler.997.doElementAction] current index = 343 2021-10-29 09:44:03 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:03 INFO [Crawler.999.doElementAction] current xpath = //*[@text="单选" and @resource-id="com.jlpay.merch:id/tv_choose_single"] 2021-10-29 09:44:03 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:44:03 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:44:03 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_single.text=单选 2021-10-29 09:44:03 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:03 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_single.text=单选 2021-10-29 09:44:03 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@text="单选" and @resource-id="com.jlpay.merch:id/tv_choose_single"] 2021-10-29 09:44:03 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:03 INFO [Crawler.1080.doElementAction] mark 20211027095159/342_AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单行文本.clicked.png to 20211027095159/343_AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_single.text=单选.click.png 2021-10-29 09:44:03 INFO [AppiumClient.141.mark] read from 20211027095159/342_AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单行文本.clicked.png 2021-10-29 09:44:03 INFO [AppiumClient.154.mark] write png 20211027095159/342_AddPaycodeRemarkActivity.tag=TextView.depth=15.id=tv_remark_type_switch.text=单行文本.clicked.png 2021-10-29 09:44:03 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/343_AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_single.text=单选.click.png 2021-10-29 09:44:03 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:03 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@text="单选" and @resource-id="com.jlpay.merch:id/tv_choose_single"]] 2021-10-29 09:44:03 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:03 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:04 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:04 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:04 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:04 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:04 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:44:04 INFO [Crawler.673.parsePageContext] currentContentHash=c1832a10bfc77f6f3102d14f94a144a5 lastContentHash=addc8314ac7968e851564a787b74ba0c 2021-10-29 09:44:04 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:04 INFO [Crawler.931.saveDom] save to 20211027095159/343_AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_single.text=单选.dom 2021-10-29 09:44:04 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:04 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:05 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:05 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:05 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:05 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:44:05 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 344 2021-10-29 09:44:05 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:05 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:05 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:05 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:44:05 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:44:05 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:44:05 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:44:05 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:44:05 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:44:05 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=EditText.depth=15.id=edt_remark_name.text=测试 by first available element 2021-10-29 09:44:05 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:05 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=EditText.depth=15.id=edt_remark_name.text=测试 2021-10-29 09:44:05 INFO [Crawler.997.doElementAction] current index = 344 2021-10-29 09:44:05 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:05 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@text="测试" and @resource-id="com.jlpay.merch:id/edt_remark_name"] 2021-10-29 09:44:05 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:44:05 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText 2021-10-29 09:44:05 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=EditText.depth=15.id=edt_remark_name.text=测试 2021-10-29 09:44:05 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:05 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=EditText.depth=15.id=edt_remark_name.text=测试 2021-10-29 09:44:05 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@text="测试" and @resource-id="com.jlpay.merch:id/edt_remark_name"] 2021-10-29 09:44:05 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:05 INFO [Crawler.1080.doElementAction] mark 20211027095159/343_AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_single.text=单选.clicked.png to 20211027095159/344_AddPaycodeRemarkActivity.tag=EditText.depth=15.id=edt_remark_name.text=测试.click.png 2021-10-29 09:44:05 INFO [AppiumClient.141.mark] read from 20211027095159/343_AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_single.text=单选.clicked.png 2021-10-29 09:44:05 INFO [AppiumClient.154.mark] write png 20211027095159/343_AddPaycodeRemarkActivity.tag=TextView.depth=5.id=tv_choose_single.text=单选.clicked.png 2021-10-29 09:44:05 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/344_AddPaycodeRemarkActivity.tag=EditText.depth=15.id=edt_remark_name.text=测试.click.png 2021-10-29 09:44:05 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:05 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_remark_item"]//*[@text="测试" and @resource-id="com.jlpay.merch:id/edt_remark_name"]] 2021-10-29 09:44:06 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:06 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:06 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:06 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:07 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:07 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:07 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:44:07 INFO [Crawler.673.parsePageContext] currentContentHash=c1832a10bfc77f6f3102d14f94a144a5 lastContentHash=c1832a10bfc77f6f3102d14f94a144a5 2021-10-29 09:44:07 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:44:07 INFO [Crawler.931.saveDom] save to 20211027095159/344_AddPaycodeRemarkActivity.tag=EditText.depth=15.id=edt_remark_name.text=测试.dom 2021-10-29 09:44:07 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:07 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:07 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:07 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:07 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:07 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText]=3 2021-10-29 09:44:07 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 345 2021-10-29 09:44:07 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:07 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:07 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:07 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:44:08 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:44:08 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:44:08 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:44:08 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:44:08 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:44:08 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_name.text=测试 by first available element 2021-10-29 09:44:08 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:08 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_name.text=测试 2021-10-29 09:44:08 INFO [Crawler.997.doElementAction] current index = 345 2021-10-29 09:44:08 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:08 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="测试" and @resource-id="com.jlpay.merch:id/edt_template_name"] 2021-10-29 09:44:08 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:44:08 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:44:08 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_name.text=测试 2021-10-29 09:44:08 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:08 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_name.text=测试 2021-10-29 09:44:08 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="测试" and @resource-id="com.jlpay.merch:id/edt_template_name"] 2021-10-29 09:44:08 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:08 INFO [Crawler.1080.doElementAction] mark 20211027095159/344_AddPaycodeRemarkActivity.tag=EditText.depth=15.id=edt_remark_name.text=测试.clicked.png to 20211027095159/345_AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_name.text=测试.click.png 2021-10-29 09:44:08 INFO [AppiumClient.141.mark] read from 20211027095159/344_AddPaycodeRemarkActivity.tag=EditText.depth=15.id=edt_remark_name.text=测试.clicked.png 2021-10-29 09:44:08 INFO [AppiumClient.154.mark] write png 20211027095159/344_AddPaycodeRemarkActivity.tag=EditText.depth=15.id=edt_remark_name.text=测试.clicked.png 2021-10-29 09:44:08 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/345_AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_name.text=测试.click.png 2021-10-29 09:44:08 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:08 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="测试" and @resource-id="com.jlpay.merch:id/edt_template_name"]] 2021-10-29 09:44:10 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:10 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:10 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:10 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:10 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:10 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:10 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:44:10 INFO [Crawler.673.parsePageContext] currentContentHash=c1832a10bfc77f6f3102d14f94a144a5 lastContentHash=c1832a10bfc77f6f3102d14f94a144a5 2021-10-29 09:44:10 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:44:10 INFO [Crawler.931.saveDom] save to 20211027095159/345_AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_name.text=测试.dom 2021-10-29 09:44:11 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:11 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:11 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:11 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:11 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:11 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:44:11 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 346 2021-10-29 09:44:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:11 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:44:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:44:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:44:11 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:44:11 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:44:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:44:11 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_des.text=测试 by first available element 2021-10-29 09:44:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:11 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_des.text=测试 2021-10-29 09:44:11 INFO [Crawler.997.doElementAction] current index = 346 2021-10-29 09:44:11 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:11 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="测试" and @resource-id="com.jlpay.merch:id/edt_template_des"] 2021-10-29 09:44:11 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:44:11 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:44:11 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_des.text=测试 2021-10-29 09:44:11 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:11 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_des.text=测试 2021-10-29 09:44:11 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="测试" and @resource-id="com.jlpay.merch:id/edt_template_des"] 2021-10-29 09:44:11 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:11 INFO [Crawler.1080.doElementAction] mark 20211027095159/345_AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_name.text=测试.clicked.png to 20211027095159/346_AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_des.text=测试.click.png 2021-10-29 09:44:11 INFO [AppiumClient.141.mark] read from 20211027095159/345_AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_name.text=测试.clicked.png 2021-10-29 09:44:11 INFO [AppiumClient.154.mark] write png 20211027095159/345_AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_name.text=测试.clicked.png 2021-10-29 09:44:11 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/346_AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_des.text=测试.click.png 2021-10-29 09:44:12 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:12 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="测试" and @resource-id="com.jlpay.merch:id/edt_template_des"]] 2021-10-29 09:44:13 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:13 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:14 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:14 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:14 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:14 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:14 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:44:14 INFO [Crawler.673.parsePageContext] currentContentHash=c1832a10bfc77f6f3102d14f94a144a5 lastContentHash=c1832a10bfc77f6f3102d14f94a144a5 2021-10-29 09:44:14 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:44:14 INFO [Crawler.931.saveDom] save to 20211027095159/346_AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_des.text=测试.dom 2021-10-29 09:44:14 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:14 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:15 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:15 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:15 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:15 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=2 2021-10-29 09:44:15 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 347 2021-10-29 09:44:15 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:15 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:15 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:15 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:44:15 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:44:15 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:44:15 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:44:15 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:44:15 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:44:15 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=TextView.depth=11.id=tv_add_remark_type.text=+添加备注类型 by first available element 2021-10-29 09:44:15 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:15 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=TextView.depth=11.id=tv_add_remark_type.text=+添加备注类型 2021-10-29 09:44:15 INFO [Crawler.997.doElementAction] current index = 347 2021-10-29 09:44:15 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:15 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="+添加备注类型" and @resource-id="com.jlpay.merch:id/tv_add_remark_type"] 2021-10-29 09:44:15 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:44:15 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:44:15 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=TextView.depth=11.id=tv_add_remark_type.text=+添加备注类型 2021-10-29 09:44:15 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:15 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=TextView.depth=11.id=tv_add_remark_type.text=+添加备注类型 2021-10-29 09:44:15 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="+添加备注类型" and @resource-id="com.jlpay.merch:id/tv_add_remark_type"] 2021-10-29 09:44:15 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:15 INFO [Crawler.1080.doElementAction] mark 20211027095159/346_AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_des.text=测试.clicked.png to 20211027095159/347_AddPaycodeRemarkActivity.tag=TextView.depth=11.id=tv_add_remark_type.text=+添加备注类型.click.png 2021-10-29 09:44:15 INFO [AppiumClient.141.mark] read from 20211027095159/346_AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_des.text=测试.clicked.png 2021-10-29 09:44:15 INFO [AppiumClient.154.mark] write png 20211027095159/346_AddPaycodeRemarkActivity.tag=EditText.depth=11.id=edt_template_des.text=测试.clicked.png 2021-10-29 09:44:15 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/347_AddPaycodeRemarkActivity.tag=TextView.depth=11.id=tv_add_remark_type.text=+添加备注类型.click.png 2021-10-29 09:44:15 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:15 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="+添加备注类型" and @resource-id="com.jlpay.merch:id/tv_add_remark_type"]] 2021-10-29 09:44:15 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:15 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:16 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:16 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:16 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:16 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:16 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:44:16 INFO [Crawler.673.parsePageContext] currentContentHash=0d7d5231fc5f582c76c4b396083ac775 lastContentHash=c1832a10bfc77f6f3102d14f94a144a5 2021-10-29 09:44:16 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:16 INFO [Crawler.931.saveDom] save to 20211027095159/347_AddPaycodeRemarkActivity.tag=TextView.depth=11.id=tv_add_remark_type.text=+添加备注类型.dom 2021-10-29 09:44:16 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:16 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:17 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:17 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:17 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:17 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:44:17 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 348 2021-10-29 09:44:17 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:17 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:17 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:17 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:44:17 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:44:17 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:44:17 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:44:17 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:44:17 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:44:17 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_preview.text=效果预览 by first available element 2021-10-29 09:44:17 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:17 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_preview.text=效果预览 2021-10-29 09:44:17 INFO [Crawler.997.doElementAction] current index = 348 2021-10-29 09:44:17 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:17 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="效果预览" and @resource-id="com.jlpay.merch:id/btn_preview"] 2021-10-29 09:44:17 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:44:17 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:44:17 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_preview.text=效果预览 2021-10-29 09:44:17 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:17 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_preview.text=效果预览 2021-10-29 09:44:17 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="效果预览" and @resource-id="com.jlpay.merch:id/btn_preview"] 2021-10-29 09:44:17 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:17 INFO [Crawler.1080.doElementAction] mark 20211027095159/347_AddPaycodeRemarkActivity.tag=TextView.depth=11.id=tv_add_remark_type.text=+添加备注类型.clicked.png to 20211027095159/348_AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_preview.text=效果预览.click.png 2021-10-29 09:44:17 INFO [AppiumClient.141.mark] read from 20211027095159/347_AddPaycodeRemarkActivity.tag=TextView.depth=11.id=tv_add_remark_type.text=+添加备注类型.clicked.png 2021-10-29 09:44:18 INFO [AppiumClient.154.mark] write png 20211027095159/347_AddPaycodeRemarkActivity.tag=TextView.depth=11.id=tv_add_remark_type.text=+添加备注类型.clicked.png 2021-10-29 09:44:18 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/348_AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_preview.text=效果预览.click.png 2021-10-29 09:44:18 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:18 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="效果预览" and @resource-id="com.jlpay.merch:id/btn_preview"]] 2021-10-29 09:44:18 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:18 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:18 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:18 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:18 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:18 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:19 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:44:19 INFO [Crawler.673.parsePageContext] currentContentHash=0d7d5231fc5f582c76c4b396083ac775 lastContentHash=0d7d5231fc5f582c76c4b396083ac775 2021-10-29 09:44:19 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:44:19 INFO [Crawler.931.saveDom] save to 20211027095159/348_AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_preview.text=效果预览.dom 2021-10-29 09:44:19 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:19 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:19 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:19 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:19 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:19 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=3 2021-10-29 09:44:19 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 349 2021-10-29 09:44:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:19 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:44:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:44:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:44:19 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:44:19 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:44:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:44:19 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_ok.text=确定 by first available element 2021-10-29 09:44:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:19 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_ok.text=确定 2021-10-29 09:44:19 INFO [Crawler.997.doElementAction] current index = 349 2021-10-29 09:44:19 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:19 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/btn_ok"] 2021-10-29 09:44:19 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:44:19 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:44:19 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_ok.text=确定 2021-10-29 09:44:19 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:19 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_ok.text=确定 2021-10-29 09:44:19 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/btn_ok"] 2021-10-29 09:44:19 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:19 INFO [Crawler.1080.doElementAction] mark 20211027095159/348_AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_preview.text=效果预览.clicked.png to 20211027095159/349_AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_ok.text=确定.click.png 2021-10-29 09:44:19 INFO [AppiumClient.141.mark] read from 20211027095159/348_AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_preview.text=效果预览.clicked.png 2021-10-29 09:44:20 INFO [AppiumClient.154.mark] write png 20211027095159/348_AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_preview.text=效果预览.clicked.png 2021-10-29 09:44:20 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/349_AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_ok.text=确定.click.png 2021-10-29 09:44:20 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:20 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/btn_ok"]] 2021-10-29 09:44:20 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:20 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:20 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:20 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:20 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:20 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:21 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:44:21 INFO [Crawler.673.parsePageContext] currentContentHash=0d7d5231fc5f582c76c4b396083ac775 lastContentHash=0d7d5231fc5f582c76c4b396083ac775 2021-10-29 09:44:21 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:44:21 INFO [Crawler.931.saveDom] save to 20211027095159/349_AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_ok.text=确定.dom 2021-10-29 09:44:21 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:21 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:21 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:21 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:21 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:21 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=2 2021-10-29 09:44:21 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 350 2021-10-29 09:44:21 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:21 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:21 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:21 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:44:21 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:44:21 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:44:21 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:44:21 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:44:21 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:44:21 INFO [Crawler.843.crawl] found AddPaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=使用指南 by first available element 2021-10-29 09:44:21 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:21 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=使用指南 2021-10-29 09:44:21 INFO [Crawler.997.doElementAction] current index = 350 2021-10-29 09:44:21 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:21 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="使用指南" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:44:21 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:44:21 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:44:21 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=使用指南 2021-10-29 09:44:21 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:21 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=使用指南 2021-10-29 09:44:21 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="使用指南" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:44:22 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:22 INFO [Crawler.1080.doElementAction] mark 20211027095159/349_AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_ok.text=确定.clicked.png to 20211027095159/350_AddPaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=使用指南.click.png 2021-10-29 09:44:22 INFO [AppiumClient.141.mark] read from 20211027095159/349_AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_ok.text=确定.clicked.png 2021-10-29 09:44:22 INFO [AppiumClient.154.mark] write png 20211027095159/349_AddPaycodeRemarkActivity.tag=Button.depth=9.id=btn_ok.text=确定.clicked.png 2021-10-29 09:44:22 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/350_AddPaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=使用指南.click.png 2021-10-29 09:44:22 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:22 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="使用指南" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:44:22 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:22 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:23 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:23 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:23 INFO [Crawler.649.parsePageContext] url=AddPaycodeRemarkActivity 2021-10-29 09:44:23 INFO [Crawler.673.parsePageContext] currentContentHash=c1832a10bfc77f6f3102d14f94a144a5 lastContentHash=0d7d5231fc5f582c76c4b396083ac775 2021-10-29 09:44:23 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:23 INFO [Crawler.931.saveDom] save to 20211027095159/350_AddPaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=使用指南.dom 2021-10-29 09:44:23 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:23 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:24 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:24 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:24 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:24 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AddPaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:44:24 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 351 2021-10-29 09:44:24 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:24 INFO [Crawler.425.needReturn] urlStack=Stack(AddPaycodeRemarkActivity, PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:24 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:24 INFO [Crawler.487.getAvailableElement] selected nodes size = 13 2021-10-29 09:44:24 INFO [Crawler.499.getAvailableElement] all - black elements size = 13 2021-10-29 09:44:24 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 13 2021-10-29 09:44:24 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:44:24 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:44:24 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:44:24 INFO [Crawler.851.crawl] AddPaycodeRemarkActivity all elements had be clicked 2021-10-29 09:44:24 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:44:24 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:44:24 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:24 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:44:24 INFO [Crawler.996.doElementAction] current element = AddPaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:44:24 INFO [Crawler.997.doElementAction] current index = 351 2021-10-29 09:44:24 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:24 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:44:24 INFO [Crawler.1000.doElementAction] current url = AddPaycodeRemarkActivity 2021-10-29 09:44:24 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:44:24 INFO [Crawler.1002.doElementAction] current file name = AddPaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:44:24 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:24 INFO [AppiumClient.53.findElementByURI] find by uri element= AddPaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:44:24 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:44:24 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:24 INFO [Crawler.1080.doElementAction] mark 20211027095159/350_AddPaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=使用指南.clicked.png to 20211027095159/351_AddPaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:44:24 INFO [AppiumClient.141.mark] read from 20211027095159/350_AddPaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=使用指南.clicked.png 2021-10-29 09:44:24 INFO [AppiumClient.154.mark] write png 20211027095159/350_AddPaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=使用指南.clicked.png 2021-10-29 09:44:24 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/351_AddPaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:44:24 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:24 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:44:24 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:24 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:25 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:25 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:25 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:25 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:25 INFO [Crawler.649.parsePageContext] url=PaycodeRemarkActivity 2021-10-29 09:44:25 INFO [Crawler.673.parsePageContext] currentContentHash=285aaee17629e9161bd993bdf0f44e68 lastContentHash=c1832a10bfc77f6f3102d14f94a144a5 2021-10-29 09:44:25 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:25 INFO [Crawler.931.saveDom] save to 20211027095159/351_AddPaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:44:25 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:25 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:26 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:26 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:26 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:26 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 352 2021-10-29 09:44:26 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:26 INFO [Crawler.425.needReturn] urlStack=Stack(PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:26 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:26 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:44:26 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:44:26 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:44:26 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:44:26 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:44:26 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:44:26 INFO [Crawler.843.crawl] found PaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=添加 by first available element 2021-10-29 09:44:26 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:26 INFO [Crawler.996.doElementAction] current element = PaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:44:26 INFO [Crawler.997.doElementAction] current index = 352 2021-10-29 09:44:26 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:26 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:44:26 INFO [Crawler.1000.doElementAction] current url = PaycodeRemarkActivity 2021-10-29 09:44:26 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:44:26 INFO [Crawler.1002.doElementAction] current file name = PaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:44:26 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:26 INFO [AppiumClient.53.findElementByURI] find by uri element= PaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=添加 2021-10-29 09:44:26 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:44:26 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:26 INFO [Crawler.1080.doElementAction] mark 20211027095159/351_AddPaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/352_PaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=添加.click.png 2021-10-29 09:44:26 INFO [AppiumClient.141.mark] read from 20211027095159/351_AddPaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:44:26 INFO [AppiumClient.154.mark] write png 20211027095159/351_AddPaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:44:26 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/352_PaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=添加.click.png 2021-10-29 09:44:26 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:26 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="添加" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:44:26 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:26 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:27 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:27 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:27 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:27 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:27 INFO [Crawler.649.parsePageContext] url=PaycodeRemarkActivity 2021-10-29 09:44:27 INFO [Crawler.673.parsePageContext] currentContentHash=285aaee17629e9161bd993bdf0f44e68 lastContentHash=285aaee17629e9161bd993bdf0f44e68 2021-10-29 09:44:27 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:44:27 INFO [Crawler.931.saveDom] save to 20211027095159/352_PaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=添加.dom 2021-10-29 09:44:27 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:27 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:28 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:28 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:28 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:28 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PaycodeRemarkActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:44:28 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 353 2021-10-29 09:44:28 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:28 INFO [Crawler.425.needReturn] urlStack=Stack(PaycodeRemarkActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:28 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:28 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:44:28 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:44:28 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:44:28 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:44:28 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:44:28 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:44:28 INFO [Crawler.851.crawl] PaycodeRemarkActivity all elements had be clicked 2021-10-29 09:44:28 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:44:28 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:44:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:28 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:44:28 INFO [Crawler.996.doElementAction] current element = PaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:44:28 INFO [Crawler.997.doElementAction] current index = 353 2021-10-29 09:44:28 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:28 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:44:28 INFO [Crawler.1000.doElementAction] current url = PaycodeRemarkActivity 2021-10-29 09:44:28 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:44:28 INFO [Crawler.1002.doElementAction] current file name = PaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:44:28 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:28 INFO [AppiumClient.53.findElementByURI] find by uri element= PaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:44:28 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:44:28 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:28 INFO [Crawler.1080.doElementAction] mark 20211027095159/352_PaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png to 20211027095159/353_PaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:44:28 INFO [AppiumClient.141.mark] read from 20211027095159/352_PaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png 2021-10-29 09:44:28 INFO [AppiumClient.154.mark] write png 20211027095159/352_PaycodeRemarkActivity.tag=TextView.depth=9.id=tv_right.text=添加.clicked.png 2021-10-29 09:44:28 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/353_PaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:44:28 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:28 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:44:28 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:28 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:29 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:29 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:29 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:29 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:29 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:44:29 INFO [Crawler.673.parsePageContext] currentContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 lastContentHash=285aaee17629e9161bd993bdf0f44e68 2021-10-29 09:44:29 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:29 INFO [Crawler.931.saveDom] save to 20211027095159/353_PaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:44:29 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:29 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:30 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:30 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:30 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:30 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 354 2021-10-29 09:44:30 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:30 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:30 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:30 INFO [Crawler.487.getAvailableElement] selected nodes size = 24 2021-10-29 09:44:30 INFO [Crawler.499.getAvailableElement] all - black elements size = 24 2021-10-29 09:44:30 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 24 2021-10-29 09:44:30 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:44:30 INFO [Crawler.598.getAvailableElement] all - clicked size=11 2021-10-29 09:44:30 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=11 2021-10-29 09:44:30 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_name.text=交易报备 by first available element 2021-10-29 09:44:30 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:30 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_name.text=交易报备 2021-10-29 09:44:30 INFO [Crawler.997.doElementAction] current index = 354 2021-10-29 09:44:30 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:30 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="交易报备" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:44:30 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:44:30 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:44:30 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_name.text=交易报备 2021-10-29 09:44:30 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:30 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_name.text=交易报备 2021-10-29 09:44:30 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="交易报备" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:44:30 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:30 INFO [Crawler.1080.doElementAction] mark 20211027095159/353_PaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/354_MainActivity.tag=TextView.depth=16.id=tv_name.text=交易报备.click.png 2021-10-29 09:44:30 INFO [AppiumClient.141.mark] read from 20211027095159/353_PaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:44:30 INFO [AppiumClient.154.mark] write png 20211027095159/353_PaycodeRemarkActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:44:30 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/354_MainActivity.tag=TextView.depth=16.id=tv_name.text=交易报备.click.png 2021-10-29 09:44:30 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:30 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="交易报备" and @resource-id="com.jlpay.merch:id/tv_name"]] 2021-10-29 09:44:31 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:31 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:31 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:31 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:32 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:32 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:32 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:44:32 INFO [Crawler.673.parsePageContext] currentContentHash=d4136512c1ae4f938aacd7b8ba1fb507 lastContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 2021-10-29 09:44:32 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:32 INFO [Crawler.931.saveDom] save to 20211027095159/354_MainActivity.tag=TextView.depth=16.id=tv_name.text=交易报备.dom 2021-10-29 09:44:32 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:32 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:33 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:33 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:33 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:33 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 355 2021-10-29 09:44:33 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:33 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:33 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:33 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:44:33 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:44:33 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:44:33 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:44:33 INFO [Crawler.598.getAvailableElement] all - clicked size=13 2021-10-29 09:44:33 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=13 2021-10-29 09:44:33 INFO [Crawler.843.crawl] found DealReportActivity.tag=CheckBox.depth=15.id=ckbox_termianl_unbind by first available element 2021-10-29 09:44:33 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:33 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=CheckBox.depth=15.id=ckbox_termianl_unbind 2021-10-29 09:44:33 INFO [Crawler.997.doElementAction] current index = 355 2021-10-29 09:44:33 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:33 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@resource-id="com.jlpay.merch:id/recy_terminal"]//*[@resource-id="com.jlpay.merch:id/ckbox_termianl_unbind"] 2021-10-29 09:44:33 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:44:33 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:44:33 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=CheckBox.depth=15.id=ckbox_termianl_unbind 2021-10-29 09:44:33 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:33 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=CheckBox.depth=15.id=ckbox_termianl_unbind 2021-10-29 09:44:33 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@resource-id="com.jlpay.merch:id/recy_terminal"]//*[@resource-id="com.jlpay.merch:id/ckbox_termianl_unbind"] 2021-10-29 09:44:33 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:33 INFO [Crawler.1080.doElementAction] mark 20211027095159/354_MainActivity.tag=TextView.depth=16.id=tv_name.text=交易报备.clicked.png to 20211027095159/355_DealReportActivity.tag=CheckBox.depth=15.id=ckbox_termianl_unbind.click.png 2021-10-29 09:44:33 INFO [AppiumClient.141.mark] read from 20211027095159/354_MainActivity.tag=TextView.depth=16.id=tv_name.text=交易报备.clicked.png 2021-10-29 09:44:33 INFO [AppiumClient.154.mark] write png 20211027095159/354_MainActivity.tag=TextView.depth=16.id=tv_name.text=交易报备.clicked.png 2021-10-29 09:44:33 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/355_DealReportActivity.tag=CheckBox.depth=15.id=ckbox_termianl_unbind.click.png 2021-10-29 09:44:33 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:33 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@resource-id="com.jlpay.merch:id/recy_terminal"]//*[@resource-id="com.jlpay.merch:id/ckbox_termianl_unbind"]] 2021-10-29 09:44:33 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:33 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:34 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:34 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:34 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:34 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:34 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:44:34 INFO [Crawler.673.parsePageContext] currentContentHash=d4136512c1ae4f938aacd7b8ba1fb507 lastContentHash=d4136512c1ae4f938aacd7b8ba1fb507 2021-10-29 09:44:34 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:44:34 INFO [Crawler.931.saveDom] save to 20211027095159/355_DealReportActivity.tag=CheckBox.depth=15.id=ckbox_termianl_unbind.dom 2021-10-29 09:44:34 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:34 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:35 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:35 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:35 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:35 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=3 2021-10-29 09:44:35 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 356 2021-10-29 09:44:35 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:35 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:35 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:35 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:44:35 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:44:35 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:44:35 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:44:35 INFO [Crawler.598.getAvailableElement] all - clicked size=12 2021-10-29 09:44:35 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=12 2021-10-29 09:44:35 INFO [Crawler.843.crawl] found DealReportActivity.tag=TextView.depth=13.id=tv_search.text=查询 by first available element 2021-10-29 09:44:35 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:35 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=TextView.depth=13.id=tv_search.text=查询 2021-10-29 09:44:35 INFO [Crawler.997.doElementAction] current index = 356 2021-10-29 09:44:35 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:35 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search"] 2021-10-29 09:44:35 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:44:35 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:44:35 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=TextView.depth=13.id=tv_search.text=查询 2021-10-29 09:44:35 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:35 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=TextView.depth=13.id=tv_search.text=查询 2021-10-29 09:44:35 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search"] 2021-10-29 09:44:35 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:35 INFO [Crawler.1080.doElementAction] mark 20211027095159/355_DealReportActivity.tag=CheckBox.depth=15.id=ckbox_termianl_unbind.clicked.png to 20211027095159/356_DealReportActivity.tag=TextView.depth=13.id=tv_search.text=查询.click.png 2021-10-29 09:44:35 INFO [AppiumClient.141.mark] read from 20211027095159/355_DealReportActivity.tag=CheckBox.depth=15.id=ckbox_termianl_unbind.clicked.png 2021-10-29 09:44:35 INFO [AppiumClient.154.mark] write png 20211027095159/355_DealReportActivity.tag=CheckBox.depth=15.id=ckbox_termianl_unbind.clicked.png 2021-10-29 09:44:35 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/356_DealReportActivity.tag=TextView.depth=13.id=tv_search.text=查询.click.png 2021-10-29 09:44:35 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:35 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search"]] 2021-10-29 09:44:35 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:35 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:36 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:36 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:36 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:36 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:36 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:44:36 INFO [Crawler.673.parsePageContext] currentContentHash=d4136512c1ae4f938aacd7b8ba1fb507 lastContentHash=d4136512c1ae4f938aacd7b8ba1fb507 2021-10-29 09:44:36 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:44:36 INFO [Crawler.931.saveDom] save to 20211027095159/356_DealReportActivity.tag=TextView.depth=13.id=tv_search.text=查询.dom 2021-10-29 09:44:36 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:36 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:37 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:37 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:37 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:37 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:44:37 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 357 2021-10-29 09:44:37 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:37 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:37 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:37 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:44:37 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:44:37 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:44:37 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:44:37 INFO [Crawler.598.getAvailableElement] all - clicked size=11 2021-10-29 09:44:37 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=11 2021-10-29 09:44:37 INFO [Crawler.843.crawl] found DealReportActivity.tag=TextView.depth=13.id=text_province.text=请选择省 by first available element 2021-10-29 09:44:37 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:37 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=TextView.depth=13.id=text_province.text=请选择省 2021-10-29 09:44:37 INFO [Crawler.997.doElementAction] current index = 357 2021-10-29 09:44:37 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:37 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="请选择省" and @resource-id="com.jlpay.merch:id/text_province"] 2021-10-29 09:44:37 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:44:37 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:44:37 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=TextView.depth=13.id=text_province.text=请选择省 2021-10-29 09:44:37 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:37 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=TextView.depth=13.id=text_province.text=请选择省 2021-10-29 09:44:37 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="请选择省" and @resource-id="com.jlpay.merch:id/text_province"] 2021-10-29 09:44:37 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:37 INFO [Crawler.1080.doElementAction] mark 20211027095159/356_DealReportActivity.tag=TextView.depth=13.id=tv_search.text=查询.clicked.png to 20211027095159/357_DealReportActivity.tag=TextView.depth=13.id=text_province.text=请选择省.click.png 2021-10-29 09:44:37 INFO [AppiumClient.141.mark] read from 20211027095159/356_DealReportActivity.tag=TextView.depth=13.id=tv_search.text=查询.clicked.png 2021-10-29 09:44:37 INFO [AppiumClient.154.mark] write png 20211027095159/356_DealReportActivity.tag=TextView.depth=13.id=tv_search.text=查询.clicked.png 2021-10-29 09:44:37 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/357_DealReportActivity.tag=TextView.depth=13.id=text_province.text=请选择省.click.png 2021-10-29 09:44:38 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:38 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="请选择省" and @resource-id="com.jlpay.merch:id/text_province"]] 2021-10-29 09:44:38 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:38 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:38 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:38 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:38 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:38 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:38 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:44:38 INFO [Crawler.673.parsePageContext] currentContentHash=3b34e4cdaf656287db8f6c6ff9a5fd54 lastContentHash=d4136512c1ae4f938aacd7b8ba1fb507 2021-10-29 09:44:38 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:38 INFO [Crawler.931.saveDom] save to 20211027095159/357_DealReportActivity.tag=TextView.depth=13.id=text_province.text=请选择省.dom 2021-10-29 09:44:38 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:38 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:39 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:39 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:39 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:39 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:44:39 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 358 2021-10-29 09:44:39 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:39 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:39 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:39 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:44:39 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:44:39 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:44:39 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:44:39 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:44:39 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:44:39 INFO [Crawler.843.crawl] found DealReportActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消 by first available element 2021-10-29 09:44:39 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:39 INFO [TagLimitPlugin.35.beforeElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=1000 with conf.tagLimit 2021-10-29 09:44:39 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消 2021-10-29 09:44:39 INFO [Crawler.997.doElementAction] current index = 358 2021-10-29 09:44:39 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:39 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_wheel_dialog_left"] 2021-10-29 09:44:39 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:44:39 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:44:39 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消 2021-10-29 09:44:39 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:39 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消 2021-10-29 09:44:39 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_wheel_dialog_left"] 2021-10-29 09:44:39 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:39 INFO [Crawler.1080.doElementAction] mark 20211027095159/357_DealReportActivity.tag=TextView.depth=13.id=text_province.text=请选择省.clicked.png to 20211027095159/358_DealReportActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.click.png 2021-10-29 09:44:39 INFO [AppiumClient.141.mark] read from 20211027095159/357_DealReportActivity.tag=TextView.depth=13.id=text_province.text=请选择省.clicked.png 2021-10-29 09:44:39 INFO [AppiumClient.154.mark] write png 20211027095159/357_DealReportActivity.tag=TextView.depth=13.id=text_province.text=请选择省.clicked.png 2021-10-29 09:44:39 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/358_DealReportActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.click.png 2021-10-29 09:44:40 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:40 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_wheel_dialog_left"]] 2021-10-29 09:44:40 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:40 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:40 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:40 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:40 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:40 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:41 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:44:41 INFO [Crawler.673.parsePageContext] currentContentHash=d4136512c1ae4f938aacd7b8ba1fb507 lastContentHash=3b34e4cdaf656287db8f6c6ff9a5fd54 2021-10-29 09:44:41 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:41 INFO [Crawler.931.saveDom] save to 20211027095159/358_DealReportActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.dom 2021-10-29 09:44:41 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:41 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:41 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:41 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:41 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:41 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=999 2021-10-29 09:44:41 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 359 2021-10-29 09:44:41 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:41 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:41 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:41 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:44:41 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:44:41 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:44:41 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:44:41 INFO [Crawler.598.getAvailableElement] all - clicked size=10 2021-10-29 09:44:41 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=10 2021-10-29 09:44:41 INFO [Crawler.843.crawl] found DealReportActivity.tag=TextView.depth=13.id=text_area.text=请选择市 by first available element 2021-10-29 09:44:41 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:41 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=TextView.depth=13.id=text_area.text=请选择市 2021-10-29 09:44:41 INFO [Crawler.997.doElementAction] current index = 359 2021-10-29 09:44:41 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:41 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="请选择市" and @resource-id="com.jlpay.merch:id/text_area"] 2021-10-29 09:44:41 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:44:41 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:44:41 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=TextView.depth=13.id=text_area.text=请选择市 2021-10-29 09:44:41 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:41 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=TextView.depth=13.id=text_area.text=请选择市 2021-10-29 09:44:41 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="请选择市" and @resource-id="com.jlpay.merch:id/text_area"] 2021-10-29 09:44:42 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:42 INFO [Crawler.1080.doElementAction] mark 20211027095159/358_DealReportActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.clicked.png to 20211027095159/359_DealReportActivity.tag=TextView.depth=13.id=text_area.text=请选择市.click.png 2021-10-29 09:44:42 INFO [AppiumClient.141.mark] read from 20211027095159/358_DealReportActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.clicked.png 2021-10-29 09:44:42 INFO [AppiumClient.154.mark] write png 20211027095159/358_DealReportActivity.tag=TextView.depth=7.id=tv_wheel_dialog_left.text=取消.clicked.png 2021-10-29 09:44:42 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/359_DealReportActivity.tag=TextView.depth=13.id=text_area.text=请选择市.click.png 2021-10-29 09:44:42 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:42 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="请选择市" and @resource-id="com.jlpay.merch:id/text_area"]] 2021-10-29 09:44:42 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:42 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:42 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:42 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:43 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:43 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:43 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:44:43 INFO [Crawler.673.parsePageContext] currentContentHash=a83db7dc4b27abedd4907fcf2b4a99d0 lastContentHash=d4136512c1ae4f938aacd7b8ba1fb507 2021-10-29 09:44:43 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:43 INFO [Crawler.931.saveDom] save to 20211027095159/359_DealReportActivity.tag=TextView.depth=13.id=text_area.text=请选择市.dom 2021-10-29 09:44:43 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:43 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:43 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:43 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:43 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:43 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=1 2021-10-29 09:44:43 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 360 2021-10-29 09:44:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:43 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:44:44 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:44:44 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:44:44 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:44:44 INFO [Crawler.598.getAvailableElement] all - clicked size=9 2021-10-29 09:44:44 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:44:44 INFO [Crawler.843.crawl] found DealReportActivity.tag=TextView.depth=13.id=text_city.text=请选择区域 by first available element 2021-10-29 09:44:44 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:44 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=TextView.depth=13.id=text_city.text=请选择区域 2021-10-29 09:44:44 INFO [Crawler.997.doElementAction] current index = 360 2021-10-29 09:44:44 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:44 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="请选择区域" and @resource-id="com.jlpay.merch:id/text_city"] 2021-10-29 09:44:44 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:44:44 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:44:44 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=TextView.depth=13.id=text_city.text=请选择区域 2021-10-29 09:44:44 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:44 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=TextView.depth=13.id=text_city.text=请选择区域 2021-10-29 09:44:44 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="请选择区域" and @resource-id="com.jlpay.merch:id/text_city"] 2021-10-29 09:44:44 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:44 INFO [Crawler.1080.doElementAction] mark 20211027095159/359_DealReportActivity.tag=TextView.depth=13.id=text_area.text=请选择市.clicked.png to 20211027095159/360_DealReportActivity.tag=TextView.depth=13.id=text_city.text=请选择区域.click.png 2021-10-29 09:44:44 INFO [AppiumClient.141.mark] read from 20211027095159/359_DealReportActivity.tag=TextView.depth=13.id=text_area.text=请选择市.clicked.png 2021-10-29 09:44:44 INFO [AppiumClient.154.mark] write png 20211027095159/359_DealReportActivity.tag=TextView.depth=13.id=text_area.text=请选择市.clicked.png 2021-10-29 09:44:44 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/360_DealReportActivity.tag=TextView.depth=13.id=text_city.text=请选择区域.click.png 2021-10-29 09:44:44 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:44 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="请选择区域" and @resource-id="com.jlpay.merch:id/text_city"]] 2021-10-29 09:44:45 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:45 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:45 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:45 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:45 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:45 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:45 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:44:45 INFO [Crawler.673.parsePageContext] currentContentHash=a83db7dc4b27abedd4907fcf2b4a99d0 lastContentHash=a83db7dc4b27abedd4907fcf2b4a99d0 2021-10-29 09:44:45 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:44:45 INFO [Crawler.931.saveDom] save to 20211027095159/360_DealReportActivity.tag=TextView.depth=13.id=text_city.text=请选择区域.dom 2021-10-29 09:44:45 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:45 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:46 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:46 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:46 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:46 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:44:46 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 361 2021-10-29 09:44:46 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:46 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:46 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:46 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:44:46 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:44:46 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:44:46 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:44:46 INFO [Crawler.598.getAvailableElement] all - clicked size=8 2021-10-29 09:44:46 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:44:46 INFO [Crawler.843.crawl] found DealReportActivity.tag=ImageView.depth=13.id=iv_door_photo by first available element 2021-10-29 09:44:46 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:46 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=ImageView.depth=13.id=iv_door_photo 2021-10-29 09:44:46 INFO [Crawler.997.doElementAction] current index = 361 2021-10-29 09:44:46 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:46 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@resource-id="com.jlpay.merch:id/iv_door_photo"] 2021-10-29 09:44:46 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:44:46 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView 2021-10-29 09:44:46 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=ImageView.depth=13.id=iv_door_photo 2021-10-29 09:44:46 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:46 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=ImageView.depth=13.id=iv_door_photo 2021-10-29 09:44:46 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@resource-id="com.jlpay.merch:id/iv_door_photo"] 2021-10-29 09:44:46 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:46 INFO [Crawler.1080.doElementAction] mark 20211027095159/360_DealReportActivity.tag=TextView.depth=13.id=text_city.text=请选择区域.clicked.png to 20211027095159/361_DealReportActivity.tag=ImageView.depth=13.id=iv_door_photo.click.png 2021-10-29 09:44:46 INFO [AppiumClient.141.mark] read from 20211027095159/360_DealReportActivity.tag=TextView.depth=13.id=text_city.text=请选择区域.clicked.png 2021-10-29 09:44:46 INFO [AppiumClient.154.mark] write png 20211027095159/360_DealReportActivity.tag=TextView.depth=13.id=text_city.text=请选择区域.clicked.png 2021-10-29 09:44:46 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/361_DealReportActivity.tag=ImageView.depth=13.id=iv_door_photo.click.png 2021-10-29 09:44:46 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:46 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@resource-id="com.jlpay.merch:id/iv_door_photo"]] 2021-10-29 09:44:46 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:46 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:47 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:47 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:47 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:47 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:47 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:44:47 INFO [Crawler.673.parsePageContext] currentContentHash=cdb5353bb1168e496ebcd4aef0222676 lastContentHash=a83db7dc4b27abedd4907fcf2b4a99d0 2021-10-29 09:44:47 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:47 INFO [Crawler.931.saveDom] save to 20211027095159/361_DealReportActivity.tag=ImageView.depth=13.id=iv_door_photo.dom 2021-10-29 09:44:47 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:47 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:48 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:48 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:48 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:48 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView]=3 2021-10-29 09:44:48 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 362 2021-10-29 09:44:48 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:48 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:48 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:48 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:44:48 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:44:48 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:44:48 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:44:48 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:44:48 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:44:48 INFO [Crawler.843.crawl] found DealReportActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取 by first available element 2021-10-29 09:44:48 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:48 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取 2021-10-29 09:44:48 INFO [Crawler.997.doElementAction] current index = 362 2021-10-29 09:44:48 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:48 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@text="从相册选取" and @resource-id="com.jlpay.merch:id/tv_album"] 2021-10-29 09:44:48 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:44:48 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:44:48 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取 2021-10-29 09:44:48 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:48 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取 2021-10-29 09:44:48 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@text="从相册选取" and @resource-id="com.jlpay.merch:id/tv_album"] 2021-10-29 09:44:48 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:48 INFO [Crawler.1080.doElementAction] mark 20211027095159/361_DealReportActivity.tag=ImageView.depth=13.id=iv_door_photo.clicked.png to 20211027095159/362_DealReportActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取.click.png 2021-10-29 09:44:48 INFO [AppiumClient.141.mark] read from 20211027095159/361_DealReportActivity.tag=ImageView.depth=13.id=iv_door_photo.clicked.png 2021-10-29 09:44:48 INFO [AppiumClient.154.mark] write png 20211027095159/361_DealReportActivity.tag=ImageView.depth=13.id=iv_door_photo.clicked.png 2021-10-29 09:44:48 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/362_DealReportActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取.click.png 2021-10-29 09:44:48 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:48 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@text="从相册选取" and @resource-id="com.jlpay.merch:id/tv_album"]] 2021-10-29 09:44:48 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:48 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:49 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:49 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:49 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:49 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:49 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:44:49 INFO [Crawler.673.parsePageContext] currentContentHash=890e933c2e705b51cee78e182ac22193 lastContentHash=cdb5353bb1168e496ebcd4aef0222676 2021-10-29 09:44:49 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:49 INFO [Crawler.931.saveDom] save to 20211027095159/362_DealReportActivity.tag=TextView.depth=6.id=tv_album.text=从相册选取.dom 2021-10-29 09:44:50 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:50 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:50 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:50 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:50 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:50 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 363 2021-10-29 09:44:50 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:50 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:50 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:50 INFO [Crawler.487.getAvailableElement] selected nodes size = 22 2021-10-29 09:44:50 INFO [Crawler.499.getAvailableElement] all - black elements size = 22 2021-10-29 09:44:50 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 22 2021-10-29 09:44:50 INFO [Crawler.590.getAvailableElement] all - backButton size=22 2021-10-29 09:44:50 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:44:50 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:44:50 INFO [Crawler.851.crawl] PickActivity all elements had be clicked 2021-10-29 09:44:50 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:44:50 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:44:50 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:44:50 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:44:50 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:44:50 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=Back.id=Back 2021-10-29 09:44:50 INFO [Crawler.997.doElementAction] current index = 363 2021-10-29 09:44:50 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:44:50 INFO [Crawler.999.doElementAction] current xpath = Back-363 2021-10-29 09:44:50 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:44:50 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:44:50 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=Back.id=Back 2021-10-29 09:44:50 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:44:50 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:44:50 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:44:50 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:51 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:51 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:51 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:51 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:52 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:44:52 INFO [Crawler.673.parsePageContext] currentContentHash=1f4beb68d45f404b2ad240a8a2f98a67 lastContentHash=890e933c2e705b51cee78e182ac22193 2021-10-29 09:44:52 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:52 INFO [Crawler.931.saveDom] save to 20211027095159/363_PickActivity.tag=Back.id=Back.dom 2021-10-29 09:44:52 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:52 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:53 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:53 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:44:53 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:53 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 364 2021-10-29 09:44:53 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:53 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:53 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:53 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:44:53 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:44:53 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:44:53 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:44:53 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:44:53 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:44:53 INFO [Crawler.851.crawl] PickActivity all elements had be clicked 2021-10-29 09:44:53 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:44:53 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:44:53 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:44:53 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:44:53 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:44:53 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=Back.id=Back 2021-10-29 09:44:53 INFO [Crawler.997.doElementAction] current index = 364 2021-10-29 09:44:53 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:44:53 INFO [Crawler.999.doElementAction] current xpath = Back-364 2021-10-29 09:44:53 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:44:53 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:44:53 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=Back.id=Back 2021-10-29 09:44:53 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:44:53 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:44:55 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:44:55 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:55 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:55 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:55 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:55 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:56 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:44:56 INFO [Crawler.673.parsePageContext] currentContentHash=73256172190343600f1d8a182c606ad1 lastContentHash=1f4beb68d45f404b2ad240a8a2f98a67 2021-10-29 09:44:56 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:56 INFO [Crawler.931.saveDom] save to 20211027095159/364_PickActivity.tag=Back.id=Back.dom 2021-10-29 09:44:56 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:56 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:56 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:56 INFO [Crawler.709.afterElementAction] backRetry=2 2021-10-29 09:44:56 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:56 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 365 2021-10-29 09:44:56 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:56 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:56 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:56 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:44:56 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:44:56 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:44:56 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:44:56 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:44:56 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:44:56 INFO [Crawler.843.crawl] found DealReportActivity.tag=ImageView.depth=13.id=iv_group_photo by first available element 2021-10-29 09:44:56 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:56 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=ImageView.depth=13.id=iv_group_photo 2021-10-29 09:44:56 INFO [Crawler.997.doElementAction] current index = 365 2021-10-29 09:44:56 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:56 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@resource-id="com.jlpay.merch:id/iv_group_photo"] 2021-10-29 09:44:56 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:44:56 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView 2021-10-29 09:44:56 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=ImageView.depth=13.id=iv_group_photo 2021-10-29 09:44:56 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:56 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=ImageView.depth=13.id=iv_group_photo 2021-10-29 09:44:56 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@resource-id="com.jlpay.merch:id/iv_group_photo"] 2021-10-29 09:44:57 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:57 INFO [Crawler.1080.doElementAction] mark 20211027095159/364_PickActivity.tag=Back.id=Back.clicked.png to 20211027095159/365_DealReportActivity.tag=ImageView.depth=13.id=iv_group_photo.click.png 2021-10-29 09:44:57 INFO [AppiumClient.141.mark] read from 20211027095159/364_PickActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:44:57 INFO [AppiumClient.154.mark] write png 20211027095159/364_PickActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:44:57 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/365_DealReportActivity.tag=ImageView.depth=13.id=iv_group_photo.click.png 2021-10-29 09:44:57 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:57 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@resource-id="com.jlpay.merch:id/iv_group_photo"]] 2021-10-29 09:44:57 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:57 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:58 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:58 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:44:58 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:44:58 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:44:58 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:44:58 INFO [Crawler.673.parsePageContext] currentContentHash=975ff753ca507f98ceb7f7b7b6bff789 lastContentHash=73256172190343600f1d8a182c606ad1 2021-10-29 09:44:58 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:44:58 INFO [Crawler.931.saveDom] save to 20211027095159/365_DealReportActivity.tag=ImageView.depth=13.id=iv_group_photo.dom 2021-10-29 09:44:58 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:44:58 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:44:58 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:44:58 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:44:58 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:44:58 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView]=2 2021-10-29 09:44:58 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 366 2021-10-29 09:44:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:44:58 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:44:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:44:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:44:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:44:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:44:58 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:44:58 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:44:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:44:58 INFO [Crawler.843.crawl] found DealReportActivity.tag=TextView.depth=6.id=tv_cancel.text=取消 by first available element 2021-10-29 09:44:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:44:58 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=TextView.depth=6.id=tv_cancel.text=取消 2021-10-29 09:44:58 INFO [Crawler.997.doElementAction] current index = 366 2021-10-29 09:44:58 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:44:58 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_cancel"] 2021-10-29 09:44:58 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:44:58 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:44:58 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=TextView.depth=6.id=tv_cancel.text=取消 2021-10-29 09:44:58 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:44:58 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=TextView.depth=6.id=tv_cancel.text=取消 2021-10-29 09:44:58 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_cancel"] 2021-10-29 09:44:59 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:44:59 INFO [Crawler.1080.doElementAction] mark 20211027095159/365_DealReportActivity.tag=ImageView.depth=13.id=iv_group_photo.clicked.png to 20211027095159/366_DealReportActivity.tag=TextView.depth=6.id=tv_cancel.text=取消.click.png 2021-10-29 09:44:59 INFO [AppiumClient.141.mark] read from 20211027095159/365_DealReportActivity.tag=ImageView.depth=13.id=iv_group_photo.clicked.png 2021-10-29 09:44:59 INFO [AppiumClient.154.mark] write png 20211027095159/365_DealReportActivity.tag=ImageView.depth=13.id=iv_group_photo.clicked.png 2021-10-29 09:44:59 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/366_DealReportActivity.tag=TextView.depth=6.id=tv_cancel.text=取消.click.png 2021-10-29 09:44:59 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:44:59 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@text="取消" and @resource-id="com.jlpay.merch:id/tv_cancel"]] 2021-10-29 09:44:59 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:44:59 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:44:59 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:44:59 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:00 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:00 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:00 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:45:00 INFO [Crawler.673.parsePageContext] currentContentHash=d4136512c1ae4f938aacd7b8ba1fb507 lastContentHash=975ff753ca507f98ceb7f7b7b6bff789 2021-10-29 09:45:00 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:45:00 INFO [Crawler.931.saveDom] save to 20211027095159/366_DealReportActivity.tag=TextView.depth=6.id=tv_cancel.text=取消.dom 2021-10-29 09:45:00 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:00 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:01 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:01 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:01 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:01 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:45:01 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 367 2021-10-29 09:45:01 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:01 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:01 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:01 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:45:01 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:45:01 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:45:01 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:45:01 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:45:01 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:45:01 INFO [Crawler.843.crawl] found DealReportActivity.tag=TextView.depth=12.id=tv_start_time.text=有效期开始日期 by first available element 2021-10-29 09:45:01 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:01 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=TextView.depth=12.id=tv_start_time.text=有效期开始日期 2021-10-29 09:45:01 INFO [Crawler.997.doElementAction] current index = 367 2021-10-29 09:45:01 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:01 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="有效期开始日期" and @resource-id="com.jlpay.merch:id/tv_start_time"] 2021-10-29 09:45:01 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:45:01 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/androidx.appcompat.widget.LinearLayoutCompat/android.widget.TextView 2021-10-29 09:45:01 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=TextView.depth=12.id=tv_start_time.text=有效期开始日期 2021-10-29 09:45:01 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:01 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=TextView.depth=12.id=tv_start_time.text=有效期开始日期 2021-10-29 09:45:01 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="有效期开始日期" and @resource-id="com.jlpay.merch:id/tv_start_time"] 2021-10-29 09:45:01 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:01 INFO [Crawler.1080.doElementAction] mark 20211027095159/366_DealReportActivity.tag=TextView.depth=6.id=tv_cancel.text=取消.clicked.png to 20211027095159/367_DealReportActivity.tag=TextView.depth=12.id=tv_start_time.text=有效期开始日期.click.png 2021-10-29 09:45:01 INFO [AppiumClient.141.mark] read from 20211027095159/366_DealReportActivity.tag=TextView.depth=6.id=tv_cancel.text=取消.clicked.png 2021-10-29 09:45:01 INFO [AppiumClient.154.mark] write png 20211027095159/366_DealReportActivity.tag=TextView.depth=6.id=tv_cancel.text=取消.clicked.png 2021-10-29 09:45:01 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/367_DealReportActivity.tag=TextView.depth=12.id=tv_start_time.text=有效期开始日期.click.png 2021-10-29 09:45:01 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:01 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="有效期开始日期" and @resource-id="com.jlpay.merch:id/tv_start_time"]] 2021-10-29 09:45:01 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:01 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:02 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:02 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:02 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:02 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:02 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:45:02 INFO [Crawler.673.parsePageContext] currentContentHash=64d760d1080be777e607c9810b35c8bb lastContentHash=d4136512c1ae4f938aacd7b8ba1fb507 2021-10-29 09:45:02 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:45:02 INFO [Crawler.931.saveDom] save to 20211027095159/367_DealReportActivity.tag=TextView.depth=12.id=tv_start_time.text=有效期开始日期.dom 2021-10-29 09:45:02 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:02 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:03 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:03 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:03 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:03 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/androidx.appcompat.widget.LinearLayoutCompat/android.widget.TextView]=3 2021-10-29 09:45:03 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 368 2021-10-29 09:45:03 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:03 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:03 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:03 INFO [Crawler.487.getAvailableElement] selected nodes size = 16 2021-10-29 09:45:03 INFO [Crawler.499.getAvailableElement] all - black elements size = 16 2021-10-29 09:45:03 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 16 2021-10-29 09:45:03 INFO [Crawler.590.getAvailableElement] all - backButton size=15 2021-10-29 09:45:03 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:45:03 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:45:03 INFO [Crawler.843.crawl] found DealReportActivity.tag=TextView.depth=12.id=tv_end_time.text=有效期结束日期 by first available element 2021-10-29 09:45:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:03 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=TextView.depth=12.id=tv_end_time.text=有效期结束日期 2021-10-29 09:45:03 INFO [Crawler.997.doElementAction] current index = 368 2021-10-29 09:45:03 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:03 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="有效期结束日期" and @resource-id="com.jlpay.merch:id/tv_end_time"] 2021-10-29 09:45:03 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:45:03 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/androidx.appcompat.widget.LinearLayoutCompat/android.widget.TextView 2021-10-29 09:45:03 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=TextView.depth=12.id=tv_end_time.text=有效期结束日期 2021-10-29 09:45:03 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:03 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=TextView.depth=12.id=tv_end_time.text=有效期结束日期 2021-10-29 09:45:03 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="有效期结束日期" and @resource-id="com.jlpay.merch:id/tv_end_time"] 2021-10-29 09:45:04 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:04 INFO [Crawler.1080.doElementAction] mark 20211027095159/367_DealReportActivity.tag=TextView.depth=12.id=tv_start_time.text=有效期开始日期.clicked.png to 20211027095159/368_DealReportActivity.tag=TextView.depth=12.id=tv_end_time.text=有效期结束日期.click.png 2021-10-29 09:45:04 INFO [AppiumClient.141.mark] read from 20211027095159/367_DealReportActivity.tag=TextView.depth=12.id=tv_start_time.text=有效期开始日期.clicked.png 2021-10-29 09:45:04 INFO [AppiumClient.154.mark] write png 20211027095159/367_DealReportActivity.tag=TextView.depth=12.id=tv_start_time.text=有效期开始日期.clicked.png 2021-10-29 09:45:04 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/368_DealReportActivity.tag=TextView.depth=12.id=tv_end_time.text=有效期结束日期.click.png 2021-10-29 09:45:04 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:04 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="有效期结束日期" and @resource-id="com.jlpay.merch:id/tv_end_time"]] 2021-10-29 09:45:04 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:04 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:04 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:04 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:05 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:05 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:05 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:45:05 INFO [Crawler.673.parsePageContext] currentContentHash=64d760d1080be777e607c9810b35c8bb lastContentHash=64d760d1080be777e607c9810b35c8bb 2021-10-29 09:45:05 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:45:05 INFO [Crawler.931.saveDom] save to 20211027095159/368_DealReportActivity.tag=TextView.depth=12.id=tv_end_time.text=有效期结束日期.dom 2021-10-29 09:45:05 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:05 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:06 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:06 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:06 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:06 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/androidx.appcompat.widget.LinearLayoutCompat/android.widget.TextView]=2 2021-10-29 09:45:06 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 369 2021-10-29 09:45:06 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:06 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:06 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:06 INFO [Crawler.487.getAvailableElement] selected nodes size = 16 2021-10-29 09:45:06 INFO [Crawler.499.getAvailableElement] all - black elements size = 16 2021-10-29 09:45:06 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 16 2021-10-29 09:45:06 INFO [Crawler.590.getAvailableElement] all - backButton size=15 2021-10-29 09:45:06 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:45:06 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:45:06 INFO [Crawler.843.crawl] found DealReportActivity.tag=TextView.depth=12.id=tv_show_example_1.text=查看示例照 by first available element 2021-10-29 09:45:06 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:06 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=TextView.depth=12.id=tv_show_example_1.text=查看示例照 2021-10-29 09:45:06 INFO [Crawler.997.doElementAction] current index = 369 2021-10-29 09:45:06 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:06 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="查看示例照" and @resource-id="com.jlpay.merch:id/tv_show_example_1"] 2021-10-29 09:45:06 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:45:06 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:45:06 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=TextView.depth=12.id=tv_show_example_1.text=查看示例照 2021-10-29 09:45:06 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:06 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=TextView.depth=12.id=tv_show_example_1.text=查看示例照 2021-10-29 09:45:06 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="查看示例照" and @resource-id="com.jlpay.merch:id/tv_show_example_1"] 2021-10-29 09:45:06 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:06 INFO [Crawler.1080.doElementAction] mark 20211027095159/368_DealReportActivity.tag=TextView.depth=12.id=tv_end_time.text=有效期结束日期.clicked.png to 20211027095159/369_DealReportActivity.tag=TextView.depth=12.id=tv_show_example_1.text=查看示例照.click.png 2021-10-29 09:45:06 INFO [AppiumClient.141.mark] read from 20211027095159/368_DealReportActivity.tag=TextView.depth=12.id=tv_end_time.text=有效期结束日期.clicked.png 2021-10-29 09:45:06 INFO [AppiumClient.154.mark] write png 20211027095159/368_DealReportActivity.tag=TextView.depth=12.id=tv_end_time.text=有效期结束日期.clicked.png 2021-10-29 09:45:06 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/369_DealReportActivity.tag=TextView.depth=12.id=tv_show_example_1.text=查看示例照.click.png 2021-10-29 09:45:06 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:06 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="查看示例照" and @resource-id="com.jlpay.merch:id/tv_show_example_1"]] 2021-10-29 09:45:06 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:06 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:07 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:07 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:07 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:07 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:07 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:45:07 INFO [Crawler.673.parsePageContext] currentContentHash=64d760d1080be777e607c9810b35c8bb lastContentHash=64d760d1080be777e607c9810b35c8bb 2021-10-29 09:45:07 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:45:07 INFO [Crawler.931.saveDom] save to 20211027095159/369_DealReportActivity.tag=TextView.depth=12.id=tv_show_example_1.text=查看示例照.dom 2021-10-29 09:45:07 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:07 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:08 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:08 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:08 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:08 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:45:08 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 370 2021-10-29 09:45:08 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:08 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:08 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:08 INFO [Crawler.487.getAvailableElement] selected nodes size = 16 2021-10-29 09:45:08 INFO [Crawler.499.getAvailableElement] all - black elements size = 16 2021-10-29 09:45:08 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 16 2021-10-29 09:45:08 INFO [Crawler.590.getAvailableElement] all - backButton size=15 2021-10-29 09:45:08 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:45:08 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:45:08 INFO [Crawler.843.crawl] found DealReportActivity.tag=CheckBox.depth=12.id=checkbox.text=全选 by first available element 2021-10-29 09:45:08 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:08 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=CheckBox.depth=12.id=checkbox.text=全选 2021-10-29 09:45:08 INFO [Crawler.997.doElementAction] current index = 370 2021-10-29 09:45:08 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:08 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="全选" and @resource-id="com.jlpay.merch:id/checkbox"] 2021-10-29 09:45:08 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:45:08 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:45:08 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=CheckBox.depth=12.id=checkbox.text=全选 2021-10-29 09:45:08 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:08 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=CheckBox.depth=12.id=checkbox.text=全选 2021-10-29 09:45:08 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="全选" and @resource-id="com.jlpay.merch:id/checkbox"] 2021-10-29 09:45:08 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:08 INFO [Crawler.1080.doElementAction] mark 20211027095159/369_DealReportActivity.tag=TextView.depth=12.id=tv_show_example_1.text=查看示例照.clicked.png to 20211027095159/370_DealReportActivity.tag=CheckBox.depth=12.id=checkbox.text=全选.click.png 2021-10-29 09:45:08 INFO [AppiumClient.141.mark] read from 20211027095159/369_DealReportActivity.tag=TextView.depth=12.id=tv_show_example_1.text=查看示例照.clicked.png 2021-10-29 09:45:08 INFO [AppiumClient.154.mark] write png 20211027095159/369_DealReportActivity.tag=TextView.depth=12.id=tv_show_example_1.text=查看示例照.clicked.png 2021-10-29 09:45:08 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/370_DealReportActivity.tag=CheckBox.depth=12.id=checkbox.text=全选.click.png 2021-10-29 09:45:08 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:08 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="全选" and @resource-id="com.jlpay.merch:id/checkbox"]] 2021-10-29 09:45:08 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:08 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:09 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:09 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:09 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:09 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:10 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:45:10 INFO [Crawler.673.parsePageContext] currentContentHash=d4136512c1ae4f938aacd7b8ba1fb507 lastContentHash=64d760d1080be777e607c9810b35c8bb 2021-10-29 09:45:10 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:45:10 INFO [Crawler.931.saveDom] save to 20211027095159/370_DealReportActivity.tag=CheckBox.depth=12.id=checkbox.text=全选.dom 2021-10-29 09:45:10 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:10 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:10 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:10 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:10 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:10 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.CheckBox]=3 2021-10-29 09:45:10 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 371 2021-10-29 09:45:10 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:10 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:10 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:10 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:45:10 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:45:10 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:45:10 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:45:10 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:45:10 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:45:10 INFO [Crawler.843.crawl] found DealReportActivity.tag=EditText.depth=11.id=edit_detail_address.text=请输入详细地址 by first available element 2021-10-29 09:45:10 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:10 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=EditText.depth=11.id=edit_detail_address.text=请输入详细地址 2021-10-29 09:45:10 INFO [Crawler.997.doElementAction] current index = 371 2021-10-29 09:45:10 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:10 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="请输入详细地址" and @resource-id="com.jlpay.merch:id/edit_detail_address"] 2021-10-29 09:45:10 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:45:10 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:45:10 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=EditText.depth=11.id=edit_detail_address.text=请输入详细地址 2021-10-29 09:45:10 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:10 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=EditText.depth=11.id=edit_detail_address.text=请输入详细地址 2021-10-29 09:45:10 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="请输入详细地址" and @resource-id="com.jlpay.merch:id/edit_detail_address"] 2021-10-29 09:45:11 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:11 INFO [Crawler.1080.doElementAction] mark 20211027095159/370_DealReportActivity.tag=CheckBox.depth=12.id=checkbox.text=全选.clicked.png to 20211027095159/371_DealReportActivity.tag=EditText.depth=11.id=edit_detail_address.text=请输入详细地址.click.png 2021-10-29 09:45:11 INFO [AppiumClient.141.mark] read from 20211027095159/370_DealReportActivity.tag=CheckBox.depth=12.id=checkbox.text=全选.clicked.png 2021-10-29 09:45:11 INFO [AppiumClient.154.mark] write png 20211027095159/370_DealReportActivity.tag=CheckBox.depth=12.id=checkbox.text=全选.clicked.png 2021-10-29 09:45:11 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/371_DealReportActivity.tag=EditText.depth=11.id=edit_detail_address.text=请输入详细地址.click.png 2021-10-29 09:45:11 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:11 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/scorllview"]//*[@text="请输入详细地址" and @resource-id="com.jlpay.merch:id/edit_detail_address"]] 2021-10-29 09:45:13 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:13 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:13 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:13 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:13 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:13 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:14 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:45:14 INFO [Crawler.673.parsePageContext] currentContentHash=d4136512c1ae4f938aacd7b8ba1fb507 lastContentHash=d4136512c1ae4f938aacd7b8ba1fb507 2021-10-29 09:45:14 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:45:14 INFO [Crawler.931.saveDom] save to 20211027095159/371_DealReportActivity.tag=EditText.depth=11.id=edit_detail_address.text=请输入详细地址.dom 2021-10-29 09:45:14 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:14 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:14 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:14 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:14 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:14 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[DealReportActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:45:14 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 372 2021-10-29 09:45:14 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:14 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:14 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:14 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:45:14 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:45:14 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:45:14 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:45:14 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:45:14 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:45:14 INFO [Crawler.843.crawl] found DealReportActivity.tag=TextView.depth=9.id=tv_right.text=报备记录 by first available element 2021-10-29 09:45:14 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:14 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=TextView.depth=9.id=tv_right.text=报备记录 2021-10-29 09:45:14 INFO [Crawler.997.doElementAction] current index = 372 2021-10-29 09:45:14 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:14 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="报备记录" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:45:14 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:45:14 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:45:14 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=TextView.depth=9.id=tv_right.text=报备记录 2021-10-29 09:45:14 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:14 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=TextView.depth=9.id=tv_right.text=报备记录 2021-10-29 09:45:14 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="报备记录" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:45:15 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:15 INFO [Crawler.1080.doElementAction] mark 20211027095159/371_DealReportActivity.tag=EditText.depth=11.id=edit_detail_address.text=请输入详细地址.clicked.png to 20211027095159/372_DealReportActivity.tag=TextView.depth=9.id=tv_right.text=报备记录.click.png 2021-10-29 09:45:15 INFO [AppiumClient.141.mark] read from 20211027095159/371_DealReportActivity.tag=EditText.depth=11.id=edit_detail_address.text=请输入详细地址.clicked.png 2021-10-29 09:45:15 INFO [AppiumClient.154.mark] write png 20211027095159/371_DealReportActivity.tag=EditText.depth=11.id=edit_detail_address.text=请输入详细地址.clicked.png 2021-10-29 09:45:15 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/372_DealReportActivity.tag=TextView.depth=9.id=tv_right.text=报备记录.click.png 2021-10-29 09:45:15 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:15 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="报备记录" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:45:15 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:15 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:15 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:15 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:16 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:16 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:16 INFO [Crawler.649.parsePageContext] url=FilingRecordsActivity 2021-10-29 09:45:16 INFO [Crawler.673.parsePageContext] currentContentHash=804f5404e870110d6354fb487d00ffef lastContentHash=d4136512c1ae4f938aacd7b8ba1fb507 2021-10-29 09:45:16 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:45:16 INFO [Crawler.931.saveDom] save to 20211027095159/372_DealReportActivity.tag=TextView.depth=9.id=tv_right.text=报备记录.dom 2021-10-29 09:45:16 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:16 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:17 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:17 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:17 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:17 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 373 2021-10-29 09:45:17 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:17 INFO [Crawler.425.needReturn] urlStack=Stack(FilingRecordsActivity, DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:17 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:17 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:45:17 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:45:17 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:45:17 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:45:17 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:45:17 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:45:17 INFO [Crawler.843.crawl] found FilingRecordsActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:45:17 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:17 INFO [Crawler.996.doElementAction] current element = FilingRecordsActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:45:17 INFO [Crawler.997.doElementAction] current index = 373 2021-10-29 09:45:17 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:17 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:45:17 INFO [Crawler.1000.doElementAction] current url = FilingRecordsActivity 2021-10-29 09:45:17 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:45:17 INFO [Crawler.1002.doElementAction] current file name = FilingRecordsActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:45:17 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:17 INFO [AppiumClient.53.findElementByURI] find by uri element= FilingRecordsActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:45:17 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:45:17 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:17 INFO [Crawler.1080.doElementAction] mark 20211027095159/372_DealReportActivity.tag=TextView.depth=9.id=tv_right.text=报备记录.clicked.png to 20211027095159/373_FilingRecordsActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:45:17 INFO [AppiumClient.141.mark] read from 20211027095159/372_DealReportActivity.tag=TextView.depth=9.id=tv_right.text=报备记录.clicked.png 2021-10-29 09:45:17 INFO [AppiumClient.154.mark] write png 20211027095159/372_DealReportActivity.tag=TextView.depth=9.id=tv_right.text=报备记录.clicked.png 2021-10-29 09:45:17 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/373_FilingRecordsActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:45:17 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:17 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:45:17 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:17 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:17 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:17 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:17 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:17 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:17 INFO [Crawler.649.parsePageContext] url=FilingRecordsActivity 2021-10-29 09:45:17 INFO [Crawler.673.parsePageContext] currentContentHash=804f5404e870110d6354fb487d00ffef lastContentHash=804f5404e870110d6354fb487d00ffef 2021-10-29 09:45:17 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:45:17 INFO [Crawler.931.saveDom] save to 20211027095159/373_FilingRecordsActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:45:18 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:18 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:18 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[FilingRecordsActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:45:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 374 2021-10-29 09:45:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:18 INFO [Crawler.425.needReturn] urlStack=Stack(FilingRecordsActivity, DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:45:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:45:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:45:18 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:45:18 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:45:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:45:18 INFO [Crawler.843.crawl] found FilingRecordsActivity.tag=EditText.depth=9.id=edt_description.text=请输入报备终端号 by first available element 2021-10-29 09:45:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:18 INFO [Crawler.996.doElementAction] current element = FilingRecordsActivity.tag=EditText.depth=9.id=edt_description.text=请输入报备终端号 2021-10-29 09:45:18 INFO [Crawler.997.doElementAction] current index = 374 2021-10-29 09:45:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="请输入报备终端号" and @resource-id="com.jlpay.merch:id/edt_description"] 2021-10-29 09:45:18 INFO [Crawler.1000.doElementAction] current url = FilingRecordsActivity 2021-10-29 09:45:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:45:18 INFO [Crawler.1002.doElementAction] current file name = FilingRecordsActivity.tag=EditText.depth=9.id=edt_description.text=请输入报备终端号 2021-10-29 09:45:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:18 INFO [AppiumClient.53.findElementByURI] find by uri element= FilingRecordsActivity.tag=EditText.depth=9.id=edt_description.text=请输入报备终端号 2021-10-29 09:45:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="请输入报备终端号" and @resource-id="com.jlpay.merch:id/edt_description"] 2021-10-29 09:45:18 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:18 INFO [Crawler.1080.doElementAction] mark 20211027095159/373_FilingRecordsActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/374_FilingRecordsActivity.tag=EditText.depth=9.id=edt_description.text=请输入报备终端号.click.png 2021-10-29 09:45:18 INFO [AppiumClient.141.mark] read from 20211027095159/373_FilingRecordsActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:45:18 INFO [AppiumClient.154.mark] write png 20211027095159/373_FilingRecordsActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:45:18 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/374_FilingRecordsActivity.tag=EditText.depth=9.id=edt_description.text=请输入报备终端号.click.png 2021-10-29 09:45:18 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:18 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="请输入报备终端号" and @resource-id="com.jlpay.merch:id/edt_description"]] 2021-10-29 09:45:20 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:20 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:21 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:21 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:21 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:21 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:21 INFO [Crawler.649.parsePageContext] url=FilingRecordsActivity 2021-10-29 09:45:21 INFO [Crawler.673.parsePageContext] currentContentHash=804f5404e870110d6354fb487d00ffef lastContentHash=804f5404e870110d6354fb487d00ffef 2021-10-29 09:45:21 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:45:21 INFO [Crawler.931.saveDom] save to 20211027095159/374_FilingRecordsActivity.tag=EditText.depth=9.id=edt_description.text=请输入报备终端号.dom 2021-10-29 09:45:21 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:21 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:21 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:21 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:21 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:21 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[FilingRecordsActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:45:21 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 375 2021-10-29 09:45:21 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:21 INFO [Crawler.425.needReturn] urlStack=Stack(FilingRecordsActivity, DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:21 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:21 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:45:21 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:45:21 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:45:21 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:45:21 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:45:21 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:45:21 INFO [Crawler.843.crawl] found FilingRecordsActivity.tag=TextView.depth=9.id=tv_search.text=查询 by first available element 2021-10-29 09:45:21 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:21 INFO [Crawler.996.doElementAction] current element = FilingRecordsActivity.tag=TextView.depth=9.id=tv_search.text=查询 2021-10-29 09:45:21 INFO [Crawler.997.doElementAction] current index = 375 2021-10-29 09:45:21 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:21 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search"] 2021-10-29 09:45:21 INFO [Crawler.1000.doElementAction] current url = FilingRecordsActivity 2021-10-29 09:45:21 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:45:21 INFO [Crawler.1002.doElementAction] current file name = FilingRecordsActivity.tag=TextView.depth=9.id=tv_search.text=查询 2021-10-29 09:45:21 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:21 INFO [AppiumClient.53.findElementByURI] find by uri element= FilingRecordsActivity.tag=TextView.depth=9.id=tv_search.text=查询 2021-10-29 09:45:21 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search"] 2021-10-29 09:45:21 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:21 INFO [Crawler.1080.doElementAction] mark 20211027095159/374_FilingRecordsActivity.tag=EditText.depth=9.id=edt_description.text=请输入报备终端号.clicked.png to 20211027095159/375_FilingRecordsActivity.tag=TextView.depth=9.id=tv_search.text=查询.click.png 2021-10-29 09:45:21 INFO [AppiumClient.141.mark] read from 20211027095159/374_FilingRecordsActivity.tag=EditText.depth=9.id=edt_description.text=请输入报备终端号.clicked.png 2021-10-29 09:45:21 INFO [AppiumClient.154.mark] write png 20211027095159/374_FilingRecordsActivity.tag=EditText.depth=9.id=edt_description.text=请输入报备终端号.clicked.png 2021-10-29 09:45:21 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/375_FilingRecordsActivity.tag=TextView.depth=9.id=tv_search.text=查询.click.png 2021-10-29 09:45:22 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:22 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="查询" and @resource-id="com.jlpay.merch:id/tv_search"]] 2021-10-29 09:45:22 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:22 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:22 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:22 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:22 INFO [Crawler.649.parsePageContext] url=FilingRecordsActivity 2021-10-29 09:45:22 INFO [Crawler.673.parsePageContext] currentContentHash=804f5404e870110d6354fb487d00ffef lastContentHash=804f5404e870110d6354fb487d00ffef 2021-10-29 09:45:22 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:45:22 INFO [Crawler.931.saveDom] save to 20211027095159/375_FilingRecordsActivity.tag=TextView.depth=9.id=tv_search.text=查询.dom 2021-10-29 09:45:23 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:23 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:23 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:23 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:23 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:23 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[FilingRecordsActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:45:23 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 376 2021-10-29 09:45:23 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:23 INFO [Crawler.425.needReturn] urlStack=Stack(FilingRecordsActivity, DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:23 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:23 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:45:23 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:45:23 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:45:23 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:45:23 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:45:23 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:45:23 INFO [Crawler.851.crawl] FilingRecordsActivity all elements had be clicked 2021-10-29 09:45:23 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:45:23 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:45:23 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:23 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:45:23 INFO [Crawler.996.doElementAction] current element = FilingRecordsActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:45:23 INFO [Crawler.997.doElementAction] current index = 376 2021-10-29 09:45:23 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:23 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:45:23 INFO [Crawler.1000.doElementAction] current url = FilingRecordsActivity 2021-10-29 09:45:23 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:45:23 INFO [Crawler.1002.doElementAction] current file name = FilingRecordsActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:45:23 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:23 INFO [AppiumClient.53.findElementByURI] find by uri element= FilingRecordsActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:45:23 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:45:23 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:23 INFO [Crawler.1080.doElementAction] mark 20211027095159/375_FilingRecordsActivity.tag=TextView.depth=9.id=tv_search.text=查询.clicked.png to 20211027095159/376_FilingRecordsActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:45:23 INFO [AppiumClient.141.mark] read from 20211027095159/375_FilingRecordsActivity.tag=TextView.depth=9.id=tv_search.text=查询.clicked.png 2021-10-29 09:45:23 INFO [AppiumClient.154.mark] write png 20211027095159/375_FilingRecordsActivity.tag=TextView.depth=9.id=tv_search.text=查询.clicked.png 2021-10-29 09:45:23 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/376_FilingRecordsActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:45:23 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:23 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:45:24 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:24 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:24 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:24 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:25 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:25 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:25 INFO [Crawler.649.parsePageContext] url=DealReportActivity 2021-10-29 09:45:25 INFO [Crawler.673.parsePageContext] currentContentHash=d4136512c1ae4f938aacd7b8ba1fb507 lastContentHash=804f5404e870110d6354fb487d00ffef 2021-10-29 09:45:25 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:45:25 INFO [Crawler.931.saveDom] save to 20211027095159/376_FilingRecordsActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:45:25 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:25 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:26 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:26 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:26 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:26 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 377 2021-10-29 09:45:26 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:26 INFO [Crawler.425.needReturn] urlStack=Stack(DealReportActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:26 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:26 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:45:26 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:45:26 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:45:26 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:45:26 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:45:26 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:45:26 INFO [Crawler.851.crawl] DealReportActivity all elements had be clicked 2021-10-29 09:45:26 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:45:26 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:45:26 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:26 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:45:26 INFO [Crawler.996.doElementAction] current element = DealReportActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:45:26 INFO [Crawler.997.doElementAction] current index = 377 2021-10-29 09:45:26 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:26 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:45:26 INFO [Crawler.1000.doElementAction] current url = DealReportActivity 2021-10-29 09:45:26 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:45:26 INFO [Crawler.1002.doElementAction] current file name = DealReportActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:45:26 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:26 INFO [AppiumClient.53.findElementByURI] find by uri element= DealReportActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:45:26 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:45:26 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:26 INFO [Crawler.1080.doElementAction] mark 20211027095159/376_FilingRecordsActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/377_DealReportActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:45:26 INFO [AppiumClient.141.mark] read from 20211027095159/376_FilingRecordsActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:45:26 INFO [AppiumClient.154.mark] write png 20211027095159/376_FilingRecordsActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:45:26 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/377_DealReportActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:45:26 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:26 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:45:26 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:26 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:27 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:27 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:27 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:27 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:27 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:45:27 INFO [Crawler.673.parsePageContext] currentContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 lastContentHash=d4136512c1ae4f938aacd7b8ba1fb507 2021-10-29 09:45:27 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:45:27 INFO [Crawler.931.saveDom] save to 20211027095159/377_DealReportActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:45:27 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:27 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:28 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:28 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:28 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:28 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 378 2021-10-29 09:45:28 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:28 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:28 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:28 INFO [Crawler.487.getAvailableElement] selected nodes size = 24 2021-10-29 09:45:28 INFO [Crawler.499.getAvailableElement] all - black elements size = 24 2021-10-29 09:45:28 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 24 2021-10-29 09:45:28 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:45:28 INFO [Crawler.598.getAvailableElement] all - clicked size=10 2021-10-29 09:45:28 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=10 2021-10-29 09:45:28 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_name.text=帮助中心 by first available element 2021-10-29 09:45:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:28 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_name.text=帮助中心 2021-10-29 09:45:28 INFO [Crawler.997.doElementAction] current index = 378 2021-10-29 09:45:28 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:28 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="帮助中心" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:45:28 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:45:28 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:45:28 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_name.text=帮助中心 2021-10-29 09:45:28 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:28 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_name.text=帮助中心 2021-10-29 09:45:28 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="帮助中心" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:45:28 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:28 INFO [Crawler.1080.doElementAction] mark 20211027095159/377_DealReportActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/378_MainActivity.tag=TextView.depth=16.id=tv_name.text=帮助中心.click.png 2021-10-29 09:45:28 INFO [AppiumClient.141.mark] read from 20211027095159/377_DealReportActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:45:28 INFO [AppiumClient.154.mark] write png 20211027095159/377_DealReportActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:45:28 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/378_MainActivity.tag=TextView.depth=16.id=tv_name.text=帮助中心.click.png 2021-10-29 09:45:28 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:28 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="帮助中心" and @resource-id="com.jlpay.merch:id/tv_name"]] 2021-10-29 09:45:29 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:29 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:30 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:30 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:30 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:30 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:30 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:45:30 INFO [Crawler.673.parsePageContext] currentContentHash=7a2dbda4c52724f635f983b9b980377c lastContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 2021-10-29 09:45:30 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:45:30 INFO [Crawler.931.saveDom] save to 20211027095159/378_MainActivity.tag=TextView.depth=16.id=tv_name.text=帮助中心.dom 2021-10-29 09:45:30 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:30 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:31 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:31 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:31 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:31 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 379 2021-10-29 09:45:31 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:31 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:31 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:31 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:45:31 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:45:31 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:45:31 INFO [Crawler.590.getAvailableElement] all - backButton size=14 2021-10-29 09:45:31 INFO [Crawler.598.getAvailableElement] all - clicked size=13 2021-10-29 09:45:31 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=13 2021-10-29 09:45:31 INFO [Crawler.843.crawl] found WebviewActivity.tag=Button.depth=15.text=1.商户长时间未登录,忘记登录密码怎么办? by first available element 2021-10-29 09:45:31 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:31 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=Button.depth=15.text=1.商户长时间未登录,忘记登录密码怎么办? 2021-10-29 09:45:31 INFO [Crawler.997.doElementAction] current index = 379 2021-10-29 09:45:31 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:31 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="帮助中心"]//*[@resource-id="app"]//*[@text="1.商户长时间未登录,忘记登录密码怎么办?"] 2021-10-29 09:45:31 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:45:31 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button 2021-10-29 09:45:31 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=Button.depth=15.text=1.商户长时间未登录,忘记登录密码怎么办? 2021-10-29 09:45:31 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:31 INFO [AppiumClient.53.findElementByURI] find by uri element= WebviewActivity.tag=Button.depth=15.text=1.商户长时间未登录,忘记登录密码怎么办? 2021-10-29 09:45:31 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="帮助中心"]//*[@resource-id="app"]//*[@text="1.商户长时间未登录,忘记登录密码怎么办?"] 2021-10-29 09:45:31 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:31 INFO [Crawler.1080.doElementAction] mark 20211027095159/378_MainActivity.tag=TextView.depth=16.id=tv_name.text=帮助中心.clicked.png to 20211027095159/379_WebviewActivity.tag=Button.depth=15.text=1.商户长时间未登录,忘记登录密码怎么办?.click.png 2021-10-29 09:45:31 INFO [AppiumClient.141.mark] read from 20211027095159/378_MainActivity.tag=TextView.depth=16.id=tv_name.text=帮助中心.clicked.png 2021-10-29 09:45:31 INFO [AppiumClient.154.mark] write png 20211027095159/378_MainActivity.tag=TextView.depth=16.id=tv_name.text=帮助中心.clicked.png 2021-10-29 09:45:31 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/379_WebviewActivity.tag=Button.depth=15.text=1.商户长时间未登录,忘记登录密码怎么办?.click.png 2021-10-29 09:45:32 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:32 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="帮助中心"]//*[@resource-id="app"]//*[@text="1.商户长时间未登录,忘记登录密码怎么办?"]] 2021-10-29 09:45:32 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:32 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:32 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:32 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:33 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:33 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:33 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:45:33 INFO [Crawler.673.parsePageContext] currentContentHash=18a703a2cb6736ab0f273ab8bc12d4e6 lastContentHash=7a2dbda4c52724f635f983b9b980377c 2021-10-29 09:45:33 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:45:33 INFO [Crawler.931.saveDom] save to 20211027095159/379_WebviewActivity.tag=Button.depth=15.text=1.商户长时间未登录,忘记登录密码怎么办?.dom 2021-10-29 09:45:33 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:33 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:34 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:34 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:34 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:34 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=3 2021-10-29 09:45:34 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 380 2021-10-29 09:45:34 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:34 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:34 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:34 INFO [Crawler.487.getAvailableElement] selected nodes size = 12 2021-10-29 09:45:34 INFO [Crawler.499.getAvailableElement] all - black elements size = 12 2021-10-29 09:45:34 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 12 2021-10-29 09:45:34 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:45:34 INFO [Crawler.598.getAvailableElement] all - clicked size=10 2021-10-29 09:45:34 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=10 2021-10-29 09:45:34 INFO [Crawler.843.crawl] found WebviewActivity.tag=Button.depth=15.text=2.登录账号可以用手机号直接登录吗? by first available element 2021-10-29 09:45:34 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:34 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=Button.depth=15.text=2.登录账号可以用手机号直接登录吗? 2021-10-29 09:45:34 INFO [Crawler.997.doElementAction] current index = 380 2021-10-29 09:45:34 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:34 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="帮助中心"]//*[@resource-id="app"]//*[@text="2.登录账号可以用手机号直接登录吗?"] 2021-10-29 09:45:34 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:45:34 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button 2021-10-29 09:45:34 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=Button.depth=15.text=2.登录账号可以用手机号直接登录吗? 2021-10-29 09:45:34 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:34 INFO [AppiumClient.53.findElementByURI] find by uri element= WebviewActivity.tag=Button.depth=15.text=2.登录账号可以用手机号直接登录吗? 2021-10-29 09:45:34 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="帮助中心"]//*[@resource-id="app"]//*[@text="2.登录账号可以用手机号直接登录吗?"] 2021-10-29 09:45:34 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:34 INFO [Crawler.1080.doElementAction] mark 20211027095159/379_WebviewActivity.tag=Button.depth=15.text=1.商户长时间未登录,忘记登录密码怎么办?.clicked.png to 20211027095159/380_WebviewActivity.tag=Button.depth=15.text=2.登录账号可以用手机号直接登录吗?.click.png 2021-10-29 09:45:34 INFO [AppiumClient.141.mark] read from 20211027095159/379_WebviewActivity.tag=Button.depth=15.text=1.商户长时间未登录,忘记登录密码怎么办?.clicked.png 2021-10-29 09:45:34 INFO [AppiumClient.154.mark] write png 20211027095159/379_WebviewActivity.tag=Button.depth=15.text=1.商户长时间未登录,忘记登录密码怎么办?.clicked.png 2021-10-29 09:45:34 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/380_WebviewActivity.tag=Button.depth=15.text=2.登录账号可以用手机号直接登录吗?.click.png 2021-10-29 09:45:34 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:34 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="帮助中心"]//*[@resource-id="app"]//*[@text="2.登录账号可以用手机号直接登录吗?"]] 2021-10-29 09:45:34 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:34 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:35 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:35 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:36 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:36 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:36 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:45:36 INFO [Crawler.673.parsePageContext] currentContentHash=804325161b62945c9e483ae8fae3929c lastContentHash=18a703a2cb6736ab0f273ab8bc12d4e6 2021-10-29 09:45:36 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:45:36 INFO [Crawler.931.saveDom] save to 20211027095159/380_WebviewActivity.tag=Button.depth=15.text=2.登录账号可以用手机号直接登录吗?.dom 2021-10-29 09:45:36 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:36 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:37 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:37 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:37 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:37 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=2 2021-10-29 09:45:37 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 381 2021-10-29 09:45:37 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:37 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:37 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:37 INFO [Crawler.487.getAvailableElement] selected nodes size = 12 2021-10-29 09:45:37 INFO [Crawler.499.getAvailableElement] all - black elements size = 12 2021-10-29 09:45:37 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 12 2021-10-29 09:45:37 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:45:37 INFO [Crawler.598.getAvailableElement] all - clicked size=9 2021-10-29 09:45:37 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:45:37 INFO [Crawler.843.crawl] found WebviewActivity.tag=Button.depth=15.text=3.微信公众号登录每次进入都需要重新登录吗? by first available element 2021-10-29 09:45:37 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:37 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=Button.depth=15.text=3.微信公众号登录每次进入都需要重新登录吗? 2021-10-29 09:45:37 INFO [Crawler.997.doElementAction] current index = 381 2021-10-29 09:45:37 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:37 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="帮助中心"]//*[@resource-id="app"]//*[@text="3.微信公众号登录每次进入都需要重新登录吗?"] 2021-10-29 09:45:37 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:45:37 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button 2021-10-29 09:45:37 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=Button.depth=15.text=3.微信公众号登录每次进入都需要重新登录吗? 2021-10-29 09:45:37 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:37 INFO [AppiumClient.53.findElementByURI] find by uri element= WebviewActivity.tag=Button.depth=15.text=3.微信公众号登录每次进入都需要重新登录吗? 2021-10-29 09:45:37 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="帮助中心"]//*[@resource-id="app"]//*[@text="3.微信公众号登录每次进入都需要重新登录吗?"] 2021-10-29 09:45:37 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:37 INFO [Crawler.1080.doElementAction] mark 20211027095159/380_WebviewActivity.tag=Button.depth=15.text=2.登录账号可以用手机号直接登录吗?.clicked.png to 20211027095159/381_WebviewActivity.tag=Button.depth=15.text=3.微信公众号登录每次进入都需要重新登录吗?.click.png 2021-10-29 09:45:37 INFO [AppiumClient.141.mark] read from 20211027095159/380_WebviewActivity.tag=Button.depth=15.text=2.登录账号可以用手机号直接登录吗?.clicked.png 2021-10-29 09:45:37 INFO [AppiumClient.154.mark] write png 20211027095159/380_WebviewActivity.tag=Button.depth=15.text=2.登录账号可以用手机号直接登录吗?.clicked.png 2021-10-29 09:45:37 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/381_WebviewActivity.tag=Button.depth=15.text=3.微信公众号登录每次进入都需要重新登录吗?.click.png 2021-10-29 09:45:37 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:37 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="帮助中心"]//*[@resource-id="app"]//*[@text="3.微信公众号登录每次进入都需要重新登录吗?"]] 2021-10-29 09:45:37 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:37 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:38 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:38 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:39 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:39 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:39 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:45:39 INFO [Crawler.673.parsePageContext] currentContentHash=815b809ab0b029f179f76f3b882fc8d2 lastContentHash=804325161b62945c9e483ae8fae3929c 2021-10-29 09:45:39 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:45:39 INFO [Crawler.931.saveDom] save to 20211027095159/381_WebviewActivity.tag=Button.depth=15.text=3.微信公众号登录每次进入都需要重新登录吗?.dom 2021-10-29 09:45:39 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:39 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:40 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:40 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:40 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:40 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=1 2021-10-29 09:45:40 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 382 2021-10-29 09:45:40 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:40 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:40 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:40 INFO [Crawler.487.getAvailableElement] selected nodes size = 12 2021-10-29 09:45:40 INFO [Crawler.499.getAvailableElement] all - black elements size = 12 2021-10-29 09:45:40 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 12 2021-10-29 09:45:40 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:45:40 INFO [Crawler.598.getAvailableElement] all - clicked size=8 2021-10-29 09:45:40 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:45:40 INFO [Crawler.843.crawl] found WebviewActivity.tag=Button.depth=15.text=4.账单流水是包含所有的收款记录吗? by first available element 2021-10-29 09:45:40 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:40 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=Button.depth=15.text=4.账单流水是包含所有的收款记录吗? 2021-10-29 09:45:40 INFO [Crawler.997.doElementAction] current index = 382 2021-10-29 09:45:40 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:40 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="帮助中心"]//*[@resource-id="app"]//*[@text="4.账单流水是包含所有的收款记录吗?"] 2021-10-29 09:45:40 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:45:40 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button 2021-10-29 09:45:40 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=Button.depth=15.text=4.账单流水是包含所有的收款记录吗? 2021-10-29 09:45:40 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:40 INFO [AppiumClient.53.findElementByURI] find by uri element= WebviewActivity.tag=Button.depth=15.text=4.账单流水是包含所有的收款记录吗? 2021-10-29 09:45:40 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="帮助中心"]//*[@resource-id="app"]//*[@text="4.账单流水是包含所有的收款记录吗?"] 2021-10-29 09:45:40 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:40 INFO [Crawler.1080.doElementAction] mark 20211027095159/381_WebviewActivity.tag=Button.depth=15.text=3.微信公众号登录每次进入都需要重新登录吗?.clicked.png to 20211027095159/382_WebviewActivity.tag=Button.depth=15.text=4.账单流水是包含所有的收款记录吗?.click.png 2021-10-29 09:45:40 INFO [AppiumClient.141.mark] read from 20211027095159/381_WebviewActivity.tag=Button.depth=15.text=3.微信公众号登录每次进入都需要重新登录吗?.clicked.png 2021-10-29 09:45:40 INFO [AppiumClient.154.mark] write png 20211027095159/381_WebviewActivity.tag=Button.depth=15.text=3.微信公众号登录每次进入都需要重新登录吗?.clicked.png 2021-10-29 09:45:40 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/382_WebviewActivity.tag=Button.depth=15.text=4.账单流水是包含所有的收款记录吗?.click.png 2021-10-29 09:45:40 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:40 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="帮助中心"]//*[@resource-id="app"]//*[@text="4.账单流水是包含所有的收款记录吗?"]] 2021-10-29 09:45:40 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:40 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:41 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:41 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:42 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:42 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:42 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:45:42 INFO [Crawler.673.parsePageContext] currentContentHash=12997a083fdfa1b8abf41b7076ac6ae9 lastContentHash=815b809ab0b029f179f76f3b882fc8d2 2021-10-29 09:45:42 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:45:42 INFO [Crawler.931.saveDom] save to 20211027095159/382_WebviewActivity.tag=Button.depth=15.text=4.账单流水是包含所有的收款记录吗?.dom 2021-10-29 09:45:42 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:42 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:43 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:43 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:43 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:43 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=0 2021-10-29 09:45:43 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 383 2021-10-29 09:45:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:43 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 12 2021-10-29 09:45:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 12 2021-10-29 09:45:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 12 2021-10-29 09:45:43 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:45:43 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:45:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:45:43 INFO [Crawler.843.crawl] found WebviewActivity.tag=Button.depth=15.text=5.在哪里查看我的交易额度和费率信息? by first available element 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:43 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=0 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:45:43 INFO [TagLimitPlugin.45.beforeElementAction] WebviewActivity.tag=Button.depth=15.text=5.在哪里查看我的交易额度和费率信息? need skip 2021-10-29 09:45:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:43 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:43 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 12 2021-10-29 09:45:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 12 2021-10-29 09:45:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 12 2021-10-29 09:45:43 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:45:43 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:45:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:45:43 INFO [Crawler.843.crawl] found WebviewActivity.tag=Button.depth=15.text=6.查看协议支持下载吗? by first available element 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:43 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=0 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:45:43 INFO [TagLimitPlugin.45.beforeElementAction] WebviewActivity.tag=Button.depth=15.text=6.查看协议支持下载吗? need skip 2021-10-29 09:45:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:43 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:43 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 12 2021-10-29 09:45:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 12 2021-10-29 09:45:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 12 2021-10-29 09:45:43 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:45:43 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:45:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:45:43 INFO [Crawler.843.crawl] found WebviewActivity.tag=Button.depth=15.text=7.在哪里可以变更我的结算账号? by first available element 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:43 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=0 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:45:43 INFO [TagLimitPlugin.45.beforeElementAction] WebviewActivity.tag=Button.depth=15.text=7.在哪里可以变更我的结算账号? need skip 2021-10-29 09:45:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:43 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:43 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 12 2021-10-29 09:45:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 12 2021-10-29 09:45:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 12 2021-10-29 09:45:43 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:45:43 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:45:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:45:43 INFO [Crawler.843.crawl] found WebviewActivity.tag=Button.depth=15.text=8.修改支付密码在哪里?有几种方式? by first available element 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:43 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=0 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:45:43 INFO [TagLimitPlugin.45.beforeElementAction] WebviewActivity.tag=Button.depth=15.text=8.修改支付密码在哪里?有几种方式? need skip 2021-10-29 09:45:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:43 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:43 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 12 2021-10-29 09:45:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 12 2021-10-29 09:45:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 12 2021-10-29 09:45:43 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:45:43 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:45:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:45:43 INFO [Crawler.843.crawl] found WebviewActivity.tag=Button.depth=15.text=9.收款码可以申请多个吗? by first available element 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:43 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=0 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:45:43 INFO [TagLimitPlugin.45.beforeElementAction] WebviewActivity.tag=Button.depth=15.text=9.收款码可以申请多个吗? need skip 2021-10-29 09:45:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:43 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:43 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 12 2021-10-29 09:45:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 12 2021-10-29 09:45:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 12 2021-10-29 09:45:43 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:45:43 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:45:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:45:43 INFO [Crawler.843.crawl] found WebviewActivity.tag=Button.depth=15.text=10.哪里可以修改打印商户名称? by first available element 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:43 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=0 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:45:43 INFO [TagLimitPlugin.45.beforeElementAction] WebviewActivity.tag=Button.depth=15.text=10.哪里可以修改打印商户名称? need skip 2021-10-29 09:45:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:43 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:43 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 12 2021-10-29 09:45:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 12 2021-10-29 09:45:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 12 2021-10-29 09:45:43 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:45:43 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:45:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:45:43 INFO [Crawler.843.crawl] found WebviewActivity.tag=Button.depth=15.text=11.语音播报是所有的收款交易都会进行播报吗? by first available element 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:43 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button]=0 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:45:43 INFO [TagLimitPlugin.45.beforeElementAction] WebviewActivity.tag=Button.depth=15.text=11.语音播报是所有的收款交易都会进行播报吗? need skip 2021-10-29 09:45:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:43 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:43 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 12 2021-10-29 09:45:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 12 2021-10-29 09:45:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 12 2021-10-29 09:45:43 INFO [Crawler.590.getAvailableElement] all - backButton size=12 2021-10-29 09:45:43 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:45:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:45:43 INFO [Crawler.851.crawl] WebviewActivity all elements had be clicked 2021-10-29 09:45:43 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:45:43 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:45:43 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:45:43 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:45:43 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:45:43 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=Back.id=Back 2021-10-29 09:45:43 INFO [Crawler.997.doElementAction] current index = 383 2021-10-29 09:45:43 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:45:43 INFO [Crawler.999.doElementAction] current xpath = Back-383 2021-10-29 09:45:43 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:45:43 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:45:43 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=Back.id=Back 2021-10-29 09:45:43 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:45:43 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:45:43 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:45:43 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:44 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:44 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:44 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:44 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:44 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:45:44 INFO [Crawler.673.parsePageContext] currentContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 lastContentHash=12997a083fdfa1b8abf41b7076ac6ae9 2021-10-29 09:45:44 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:45:44 INFO [Crawler.931.saveDom] save to 20211027095159/383_WebviewActivity.tag=Back.id=Back.dom 2021-10-29 09:45:44 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:44 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:45 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:45 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:45:45 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:45 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 384 2021-10-29 09:45:45 INFO [ReportPlugin.39.afterElementAction] 384-325 > 384/10+20 2021-10-29 09:45:45 INFO [ReportPlugin.40.afterElementAction] generate test report 2021-10-29 09:45:50 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:50 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:50 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:50 INFO [Crawler.487.getAvailableElement] selected nodes size = 24 2021-10-29 09:45:50 INFO [Crawler.499.getAvailableElement] all - black elements size = 24 2021-10-29 09:45:50 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 24 2021-10-29 09:45:50 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:45:50 INFO [Crawler.598.getAvailableElement] all - clicked size=9 2021-10-29 09:45:50 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:45:50 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=16.id=tv_name.text=关于我们 by first available element 2021-10-29 09:45:50 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:50 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=16.id=tv_name.text=关于我们 2021-10-29 09:45:50 INFO [Crawler.997.doElementAction] current index = 384 2021-10-29 09:45:50 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:50 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="关于我们" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:45:50 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:45:50 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:45:50 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=16.id=tv_name.text=关于我们 2021-10-29 09:45:50 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:50 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=16.id=tv_name.text=关于我们 2021-10-29 09:45:50 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="关于我们" and @resource-id="com.jlpay.merch:id/tv_name"] 2021-10-29 09:45:51 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:51 INFO [Crawler.1080.doElementAction] mark 20211027095159/383_WebviewActivity.tag=Back.id=Back.clicked.png to 20211027095159/384_MainActivity.tag=TextView.depth=16.id=tv_name.text=关于我们.click.png 2021-10-29 09:45:51 INFO [AppiumClient.141.mark] read from 20211027095159/383_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:45:51 INFO [AppiumClient.154.mark] write png 20211027095159/383_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:45:51 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/384_MainActivity.tag=TextView.depth=16.id=tv_name.text=关于我们.click.png 2021-10-29 09:45:51 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:51 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@text="关于我们" and @resource-id="com.jlpay.merch:id/tv_name"]] 2021-10-29 09:45:52 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:52 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:52 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:52 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:52 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:52 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:52 INFO [Crawler.649.parsePageContext] url=AboutActivity 2021-10-29 09:45:52 INFO [Crawler.673.parsePageContext] currentContentHash=3066475fee796d597e61053df146f76f lastContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 2021-10-29 09:45:52 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:45:52 INFO [Crawler.931.saveDom] save to 20211027095159/384_MainActivity.tag=TextView.depth=16.id=tv_name.text=关于我们.dom 2021-10-29 09:45:52 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:52 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:53 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:53 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:53 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:53 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 385 2021-10-29 09:45:53 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:53 INFO [Crawler.425.needReturn] urlStack=Stack(AboutActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:53 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:53 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:45:53 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:45:53 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:45:53 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:45:53 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:45:53 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:45:53 INFO [Crawler.843.crawl] found AboutActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:45:53 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:53 INFO [Crawler.996.doElementAction] current element = AboutActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:45:53 INFO [Crawler.997.doElementAction] current index = 385 2021-10-29 09:45:53 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:53 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:45:53 INFO [Crawler.1000.doElementAction] current url = AboutActivity 2021-10-29 09:45:53 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:45:53 INFO [Crawler.1002.doElementAction] current file name = AboutActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:45:53 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:53 INFO [AppiumClient.53.findElementByURI] find by uri element= AboutActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:45:53 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:45:53 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:53 INFO [Crawler.1080.doElementAction] mark 20211027095159/384_MainActivity.tag=TextView.depth=16.id=tv_name.text=关于我们.clicked.png to 20211027095159/385_AboutActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:45:53 INFO [AppiumClient.141.mark] read from 20211027095159/384_MainActivity.tag=TextView.depth=16.id=tv_name.text=关于我们.clicked.png 2021-10-29 09:45:53 INFO [AppiumClient.154.mark] write png 20211027095159/384_MainActivity.tag=TextView.depth=16.id=tv_name.text=关于我们.clicked.png 2021-10-29 09:45:53 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/385_AboutActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:45:53 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:53 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:45:53 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:53 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:54 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:54 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:54 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:54 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:54 INFO [Crawler.649.parsePageContext] url=AboutActivity 2021-10-29 09:45:54 INFO [Crawler.673.parsePageContext] currentContentHash=3066475fee796d597e61053df146f76f lastContentHash=3066475fee796d597e61053df146f76f 2021-10-29 09:45:54 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:45:54 INFO [Crawler.931.saveDom] save to 20211027095159/385_AboutActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:45:54 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:54 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:55 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:55 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:55 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:55 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AboutActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:45:55 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 386 2021-10-29 09:45:55 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:55 INFO [Crawler.425.needReturn] urlStack=Stack(AboutActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:55 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:55 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:45:55 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:45:55 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:45:55 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:45:55 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:45:55 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:45:55 INFO [Crawler.843.crawl] found AboutActivity.tag=TextView.depth=9.id=tv_version_update.text=版本升级 by first available element 2021-10-29 09:45:55 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:55 INFO [Crawler.996.doElementAction] current element = AboutActivity.tag=TextView.depth=9.id=tv_version_update.text=版本升级 2021-10-29 09:45:55 INFO [Crawler.997.doElementAction] current index = 386 2021-10-29 09:45:55 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:55 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_version_update"]//*[@text="版本升级" and @resource-id="com.jlpay.merch:id/tv_version_update"] 2021-10-29 09:45:55 INFO [Crawler.1000.doElementAction] current url = AboutActivity 2021-10-29 09:45:55 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:45:55 INFO [Crawler.1002.doElementAction] current file name = AboutActivity.tag=TextView.depth=9.id=tv_version_update.text=版本升级 2021-10-29 09:45:55 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:55 INFO [AppiumClient.53.findElementByURI] find by uri element= AboutActivity.tag=TextView.depth=9.id=tv_version_update.text=版本升级 2021-10-29 09:45:55 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_version_update"]//*[@text="版本升级" and @resource-id="com.jlpay.merch:id/tv_version_update"] 2021-10-29 09:45:55 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:55 INFO [Crawler.1080.doElementAction] mark 20211027095159/385_AboutActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/386_AboutActivity.tag=TextView.depth=9.id=tv_version_update.text=版本升级.click.png 2021-10-29 09:45:55 INFO [AppiumClient.141.mark] read from 20211027095159/385_AboutActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:45:55 INFO [AppiumClient.154.mark] write png 20211027095159/385_AboutActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:45:55 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/386_AboutActivity.tag=TextView.depth=9.id=tv_version_update.text=版本升级.click.png 2021-10-29 09:45:55 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:55 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_version_update"]//*[@text="版本升级" and @resource-id="com.jlpay.merch:id/tv_version_update"]] 2021-10-29 09:45:55 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:55 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:56 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:56 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:56 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:56 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:56 INFO [Crawler.649.parsePageContext] url=AboutActivity 2021-10-29 09:45:56 INFO [Crawler.673.parsePageContext] currentContentHash=e21d0dc16726b0b0917db704e3a0cfec lastContentHash=3066475fee796d597e61053df146f76f 2021-10-29 09:45:56 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:45:56 INFO [Crawler.931.saveDom] save to 20211027095159/386_AboutActivity.tag=TextView.depth=9.id=tv_version_update.text=版本升级.dom 2021-10-29 09:45:56 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:56 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:57 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:57 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:57 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:57 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AboutActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:45:57 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 387 2021-10-29 09:45:57 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:57 INFO [Crawler.425.needReturn] urlStack=Stack(AboutActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:57 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:57 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:45:57 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:45:57 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:45:57 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:45:57 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:45:57 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:45:57 INFO [Crawler.843.crawl] found AboutActivity.tag=TextView.depth=9.id=tv_msg_count by first available element 2021-10-29 09:45:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:57 INFO [Crawler.996.doElementAction] current element = AboutActivity.tag=TextView.depth=9.id=tv_msg_count 2021-10-29 09:45:57 INFO [Crawler.997.doElementAction] current index = 387 2021-10-29 09:45:57 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:57 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_version_update"]//*[@resource-id="com.jlpay.merch:id/tv_msg_count"] 2021-10-29 09:45:57 INFO [Crawler.1000.doElementAction] current url = AboutActivity 2021-10-29 09:45:57 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:45:57 INFO [Crawler.1002.doElementAction] current file name = AboutActivity.tag=TextView.depth=9.id=tv_msg_count 2021-10-29 09:45:57 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:57 INFO [AppiumClient.53.findElementByURI] find by uri element= AboutActivity.tag=TextView.depth=9.id=tv_msg_count 2021-10-29 09:45:57 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_version_update"]//*[@resource-id="com.jlpay.merch:id/tv_msg_count"] 2021-10-29 09:45:57 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:45:57 INFO [Crawler.1080.doElementAction] mark 20211027095159/386_AboutActivity.tag=TextView.depth=9.id=tv_version_update.text=版本升级.clicked.png to 20211027095159/387_AboutActivity.tag=TextView.depth=9.id=tv_msg_count.click.png 2021-10-29 09:45:57 INFO [AppiumClient.141.mark] read from 20211027095159/386_AboutActivity.tag=TextView.depth=9.id=tv_version_update.text=版本升级.clicked.png 2021-10-29 09:45:57 INFO [AppiumClient.154.mark] write png 20211027095159/386_AboutActivity.tag=TextView.depth=9.id=tv_version_update.text=版本升级.clicked.png 2021-10-29 09:45:57 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/387_AboutActivity.tag=TextView.depth=9.id=tv_msg_count.click.png 2021-10-29 09:45:57 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:45:57 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_version_update"]//*[@resource-id="com.jlpay.merch:id/tv_msg_count"]] 2021-10-29 09:45:58 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:45:58 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:45:58 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:45:58 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:45:58 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:45:58 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:45:58 INFO [Crawler.649.parsePageContext] url=AboutActivity 2021-10-29 09:45:58 INFO [Crawler.673.parsePageContext] currentContentHash=e21d0dc16726b0b0917db704e3a0cfec lastContentHash=e21d0dc16726b0b0917db704e3a0cfec 2021-10-29 09:45:58 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:45:58 INFO [Crawler.931.saveDom] save to 20211027095159/387_AboutActivity.tag=TextView.depth=9.id=tv_msg_count.dom 2021-10-29 09:45:58 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:45:58 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:45:59 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:45:59 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:45:59 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:45:59 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AboutActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:45:59 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 388 2021-10-29 09:45:59 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:45:59 INFO [Crawler.425.needReturn] urlStack=Stack(AboutActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:45:59 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:45:59 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:45:59 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:45:59 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:45:59 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:45:59 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:45:59 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:45:59 INFO [Crawler.843.crawl] found AboutActivity.tag=ImageView.depth=9 by first available element 2021-10-29 09:45:59 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:45:59 INFO [Crawler.996.doElementAction] current element = AboutActivity.tag=ImageView.depth=9 2021-10-29 09:45:59 INFO [Crawler.997.doElementAction] current index = 388 2021-10-29 09:45:59 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:45:59 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_version_update"] 2021-10-29 09:45:59 INFO [Crawler.1000.doElementAction] current url = AboutActivity 2021-10-29 09:45:59 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView 2021-10-29 09:45:59 INFO [Crawler.1002.doElementAction] current file name = AboutActivity.tag=ImageView.depth=9 2021-10-29 09:45:59 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:45:59 INFO [AppiumClient.53.findElementByURI] find by uri element= AboutActivity.tag=ImageView.depth=9 2021-10-29 09:45:59 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_version_update"] 2021-10-29 09:46:00 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:00 INFO [Crawler.1080.doElementAction] mark 20211027095159/387_AboutActivity.tag=TextView.depth=9.id=tv_msg_count.clicked.png to 20211027095159/388_AboutActivity.tag=ImageView.depth=9.click.png 2021-10-29 09:46:00 INFO [AppiumClient.141.mark] read from 20211027095159/387_AboutActivity.tag=TextView.depth=9.id=tv_msg_count.clicked.png 2021-10-29 09:46:00 INFO [AppiumClient.154.mark] write png 20211027095159/387_AboutActivity.tag=TextView.depth=9.id=tv_msg_count.clicked.png 2021-10-29 09:46:00 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/388_AboutActivity.tag=ImageView.depth=9.click.png 2021-10-29 09:46:00 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:00 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_version_update"]] 2021-10-29 09:46:00 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:00 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:01 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:01 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:01 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:01 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:01 INFO [Crawler.649.parsePageContext] url=AboutActivity 2021-10-29 09:46:01 INFO [Crawler.673.parsePageContext] currentContentHash=e21d0dc16726b0b0917db704e3a0cfec lastContentHash=e21d0dc16726b0b0917db704e3a0cfec 2021-10-29 09:46:01 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:46:01 INFO [Crawler.931.saveDom] save to 20211027095159/388_AboutActivity.tag=ImageView.depth=9.dom 2021-10-29 09:46:01 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:01 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:02 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:02 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:02 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:02 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[AboutActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView]=3 2021-10-29 09:46:02 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 389 2021-10-29 09:46:02 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:02 INFO [Crawler.425.needReturn] urlStack=Stack(AboutActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:02 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:02 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:46:02 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:46:02 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:46:02 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:46:02 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:46:02 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:46:02 INFO [Crawler.843.crawl] found AboutActivity.tag=TextView.depth=8.id=tv_service_contract.text=服务协议 by first available element 2021-10-29 09:46:02 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:02 INFO [Crawler.996.doElementAction] current element = AboutActivity.tag=TextView.depth=8.id=tv_service_contract.text=服务协议 2021-10-29 09:46:02 INFO [Crawler.997.doElementAction] current index = 389 2021-10-29 09:46:02 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:02 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="服务协议" and @resource-id="com.jlpay.merch:id/tv_service_contract"] 2021-10-29 09:46:02 INFO [Crawler.1000.doElementAction] current url = AboutActivity 2021-10-29 09:46:02 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:46:02 INFO [Crawler.1002.doElementAction] current file name = AboutActivity.tag=TextView.depth=8.id=tv_service_contract.text=服务协议 2021-10-29 09:46:02 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:02 INFO [AppiumClient.53.findElementByURI] find by uri element= AboutActivity.tag=TextView.depth=8.id=tv_service_contract.text=服务协议 2021-10-29 09:46:02 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="服务协议" and @resource-id="com.jlpay.merch:id/tv_service_contract"] 2021-10-29 09:46:02 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:02 INFO [Crawler.1080.doElementAction] mark 20211027095159/388_AboutActivity.tag=ImageView.depth=9.clicked.png to 20211027095159/389_AboutActivity.tag=TextView.depth=8.id=tv_service_contract.text=服务协议.click.png 2021-10-29 09:46:02 INFO [AppiumClient.141.mark] read from 20211027095159/388_AboutActivity.tag=ImageView.depth=9.clicked.png 2021-10-29 09:46:02 INFO [AppiumClient.154.mark] write png 20211027095159/388_AboutActivity.tag=ImageView.depth=9.clicked.png 2021-10-29 09:46:02 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/389_AboutActivity.tag=TextView.depth=8.id=tv_service_contract.text=服务协议.click.png 2021-10-29 09:46:02 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:02 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="服务协议" and @resource-id="com.jlpay.merch:id/tv_service_contract"]] 2021-10-29 09:46:02 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:02 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:03 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:03 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:03 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:03 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:04 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:46:04 INFO [Crawler.673.parsePageContext] currentContentHash=61c258c4c4954b93f49e649245158980 lastContentHash=e21d0dc16726b0b0917db704e3a0cfec 2021-10-29 09:46:04 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:46:04 INFO [Crawler.931.saveDom] save to 20211027095159/389_AboutActivity.tag=TextView.depth=8.id=tv_service_contract.text=服务协议.dom 2021-10-29 09:46:04 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:04 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:04 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:04 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:04 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:04 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 390 2021-10-29 09:46:04 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:04 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, AboutActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:04 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:04 INFO [Crawler.487.getAvailableElement] selected nodes size = 1 2021-10-29 09:46:04 INFO [Crawler.499.getAvailableElement] all - black elements size = 1 2021-10-29 09:46:04 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 1 2021-10-29 09:46:04 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:46:04 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:46:04 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:46:04 INFO [Crawler.851.crawl] WebviewActivity all elements had be clicked 2021-10-29 09:46:04 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:46:04 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:46:04 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:46:04 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:46:04 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:46:04 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=Back.id=Back 2021-10-29 09:46:04 INFO [Crawler.997.doElementAction] current index = 390 2021-10-29 09:46:04 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:46:04 INFO [Crawler.999.doElementAction] current xpath = Back-390 2021-10-29 09:46:04 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:46:04 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:46:04 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=Back.id=Back 2021-10-29 09:46:04 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:46:04 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:46:05 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:46:05 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:05 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:05 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:05 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:05 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:06 INFO [Crawler.649.parsePageContext] url=AboutActivity 2021-10-29 09:46:06 INFO [Crawler.673.parsePageContext] currentContentHash=3066475fee796d597e61053df146f76f lastContentHash=61c258c4c4954b93f49e649245158980 2021-10-29 09:46:06 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:46:06 INFO [Crawler.931.saveDom] save to 20211027095159/390_WebviewActivity.tag=Back.id=Back.dom 2021-10-29 09:46:06 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:06 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:06 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:06 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:46:06 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:06 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 391 2021-10-29 09:46:06 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:06 INFO [Crawler.425.needReturn] urlStack=Stack(AboutActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:06 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:06 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:46:06 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:46:06 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:46:06 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:46:06 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:46:06 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:46:06 INFO [Crawler.843.crawl] found AboutActivity.tag=TextView.depth=8.id=tv_privacy_protecting.text=隐私权政策 by first available element 2021-10-29 09:46:06 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:06 INFO [Crawler.996.doElementAction] current element = AboutActivity.tag=TextView.depth=8.id=tv_privacy_protecting.text=隐私权政策 2021-10-29 09:46:06 INFO [Crawler.997.doElementAction] current index = 391 2021-10-29 09:46:06 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:06 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="隐私权政策" and @resource-id="com.jlpay.merch:id/tv_privacy_protecting"] 2021-10-29 09:46:06 INFO [Crawler.1000.doElementAction] current url = AboutActivity 2021-10-29 09:46:06 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:46:06 INFO [Crawler.1002.doElementAction] current file name = AboutActivity.tag=TextView.depth=8.id=tv_privacy_protecting.text=隐私权政策 2021-10-29 09:46:06 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:06 INFO [AppiumClient.53.findElementByURI] find by uri element= AboutActivity.tag=TextView.depth=8.id=tv_privacy_protecting.text=隐私权政策 2021-10-29 09:46:06 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="隐私权政策" and @resource-id="com.jlpay.merch:id/tv_privacy_protecting"] 2021-10-29 09:46:06 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:06 INFO [Crawler.1080.doElementAction] mark 20211027095159/390_WebviewActivity.tag=Back.id=Back.clicked.png to 20211027095159/391_AboutActivity.tag=TextView.depth=8.id=tv_privacy_protecting.text=隐私权政策.click.png 2021-10-29 09:46:06 INFO [AppiumClient.141.mark] read from 20211027095159/390_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:46:06 INFO [AppiumClient.154.mark] write png 20211027095159/390_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:46:06 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/391_AboutActivity.tag=TextView.depth=8.id=tv_privacy_protecting.text=隐私权政策.click.png 2021-10-29 09:46:07 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:07 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="隐私权政策" and @resource-id="com.jlpay.merch:id/tv_privacy_protecting"]] 2021-10-29 09:46:07 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:07 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:07 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:07 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:08 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:08 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:08 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:46:08 INFO [Crawler.673.parsePageContext] currentContentHash=fce02ebc55ab7e9efd723433c3efa845 lastContentHash=3066475fee796d597e61053df146f76f 2021-10-29 09:46:08 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:46:08 INFO [Crawler.931.saveDom] save to 20211027095159/391_AboutActivity.tag=TextView.depth=8.id=tv_privacy_protecting.text=隐私权政策.dom 2021-10-29 09:46:08 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:08 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:09 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:09 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:09 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:09 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 392 2021-10-29 09:46:09 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:09 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, AboutActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:09 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:09 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:46:09 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:46:09 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:46:09 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:46:09 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:46:09 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:46:09 INFO [Crawler.843.crawl] found WebviewActivity.tag=TextView.depth=13.text=一、 by first available element 2021-10-29 09:46:09 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:09 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=TextView.depth=13.text=一、 2021-10-29 09:46:09 INFO [Crawler.997.doElementAction] current index = 392 2021-10-29 09:46:09 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:09 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@content-desc="一、我们如何收集和使用您的个人信息"]//*[@text="一、"] 2021-10-29 09:46:09 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:46:09 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.widget.TextView 2021-10-29 09:46:09 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=TextView.depth=13.text=一、 2021-10-29 09:46:09 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:09 INFO [AppiumClient.53.findElementByURI] find by uri element= WebviewActivity.tag=TextView.depth=13.text=一、 2021-10-29 09:46:09 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@content-desc="一、我们如何收集和使用您的个人信息"]//*[@text="一、"] 2021-10-29 09:46:09 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:10 INFO [Crawler.1080.doElementAction] mark 20211027095159/391_AboutActivity.tag=TextView.depth=8.id=tv_privacy_protecting.text=隐私权政策.clicked.png to 20211027095159/392_WebviewActivity.tag=TextView.depth=13.text=一、.click.png 2021-10-29 09:46:10 INFO [AppiumClient.141.mark] read from 20211027095159/391_AboutActivity.tag=TextView.depth=8.id=tv_privacy_protecting.text=隐私权政策.clicked.png 2021-10-29 09:46:10 INFO [AppiumClient.154.mark] write png 20211027095159/391_AboutActivity.tag=TextView.depth=8.id=tv_privacy_protecting.text=隐私权政策.clicked.png 2021-10-29 09:46:10 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/392_WebviewActivity.tag=TextView.depth=13.text=一、.click.png 2021-10-29 09:46:10 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:10 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@content-desc="一、我们如何收集和使用您的个人信息"]//*[@text="一、"]] 2021-10-29 09:46:10 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:10 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:11 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:11 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:11 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:11 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:11 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:46:11 INFO [Crawler.673.parsePageContext] currentContentHash=fce02ebc55ab7e9efd723433c3efa845 lastContentHash=fce02ebc55ab7e9efd723433c3efa845 2021-10-29 09:46:11 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:46:11 INFO [Crawler.931.saveDom] save to 20211027095159/392_WebviewActivity.tag=TextView.depth=13.text=一、.dom 2021-10-29 09:46:12 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:12 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:12 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:12 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:12 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:12 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.widget.TextView]=3 2021-10-29 09:46:12 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 393 2021-10-29 09:46:12 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:12 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, AboutActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:12 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:12 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:46:12 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:46:12 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:46:12 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:46:12 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:46:12 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:46:12 INFO [Crawler.843.crawl] found WebviewActivity.tag=TextView.depth=13.text= by first available element 2021-10-29 09:46:12 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:12 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=TextView.depth=13.text= 2021-10-29 09:46:12 INFO [Crawler.997.doElementAction] current index = 393 2021-10-29 09:46:12 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:12 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@content-desc="一、我们如何收集和使用您的个人信息"]//*[@text=" "] 2021-10-29 09:46:12 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:46:12 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.widget.TextView 2021-10-29 09:46:12 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=TextView.depth=13.text= 2021-10-29 09:46:12 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:12 INFO [AppiumClient.53.findElementByURI] find by uri element= WebviewActivity.tag=TextView.depth=13.text= 2021-10-29 09:46:12 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@content-desc="一、我们如何收集和使用您的个人信息"]//*[@text=" "] 2021-10-29 09:46:13 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:13 INFO [Crawler.1080.doElementAction] mark 20211027095159/392_WebviewActivity.tag=TextView.depth=13.text=一、.clicked.png to 20211027095159/393_WebviewActivity.tag=TextView.depth=13.text= .click.png 2021-10-29 09:46:13 INFO [AppiumClient.141.mark] read from 20211027095159/392_WebviewActivity.tag=TextView.depth=13.text=一、.clicked.png 2021-10-29 09:46:13 INFO [AppiumClient.154.mark] write png 20211027095159/392_WebviewActivity.tag=TextView.depth=13.text=一、.clicked.png 2021-10-29 09:46:13 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/393_WebviewActivity.tag=TextView.depth=13.text= .click.png 2021-10-29 09:46:14 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:14 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@content-desc="一、我们如何收集和使用您的个人信息"]//*[@text=" "]] 2021-10-29 09:46:14 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:14 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:14 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:14 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:15 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:15 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:15 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:46:15 INFO [Crawler.673.parsePageContext] currentContentHash=fce02ebc55ab7e9efd723433c3efa845 lastContentHash=fce02ebc55ab7e9efd723433c3efa845 2021-10-29 09:46:15 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:46:15 INFO [Crawler.931.saveDom] save to 20211027095159/393_WebviewActivity.tag=TextView.depth=13.text= .dom 2021-10-29 09:46:15 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:15 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:16 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:16 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:16 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:16 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.widget.TextView]=2 2021-10-29 09:46:16 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 394 2021-10-29 09:46:16 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:16 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, AboutActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:16 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:16 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:46:16 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:46:16 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:46:16 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:46:16 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:46:16 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:46:16 INFO [Crawler.851.crawl] WebviewActivity all elements had be clicked 2021-10-29 09:46:16 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:46:16 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:46:16 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:46:16 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:46:16 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:46:16 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=Back.id=Back 2021-10-29 09:46:16 INFO [Crawler.997.doElementAction] current index = 394 2021-10-29 09:46:16 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:46:16 INFO [Crawler.999.doElementAction] current xpath = Back-394 2021-10-29 09:46:16 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:46:16 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:46:16 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=Back.id=Back 2021-10-29 09:46:16 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:46:16 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:46:16 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:46:16 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:17 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:17 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:17 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:17 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:17 INFO [Crawler.649.parsePageContext] url=AboutActivity 2021-10-29 09:46:17 INFO [Crawler.673.parsePageContext] currentContentHash=3066475fee796d597e61053df146f76f lastContentHash=fce02ebc55ab7e9efd723433c3efa845 2021-10-29 09:46:17 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:46:17 INFO [Crawler.931.saveDom] save to 20211027095159/394_WebviewActivity.tag=Back.id=Back.dom 2021-10-29 09:46:17 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:17 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:18 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:46:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 395 2021-10-29 09:46:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:18 INFO [Crawler.425.needReturn] urlStack=Stack(AboutActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 7 2021-10-29 09:46:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:46:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:46:18 INFO [Crawler.590.getAvailableElement] all - backButton size=6 2021-10-29 09:46:18 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:46:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:46:18 INFO [Crawler.851.crawl] AboutActivity all elements had be clicked 2021-10-29 09:46:18 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:46:18 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:46:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:18 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:46:18 INFO [Crawler.996.doElementAction] current element = AboutActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:46:18 INFO [Crawler.997.doElementAction] current index = 395 2021-10-29 09:46:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:46:18 INFO [Crawler.1000.doElementAction] current url = AboutActivity 2021-10-29 09:46:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:46:18 INFO [Crawler.1002.doElementAction] current file name = AboutActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:46:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:18 INFO [AppiumClient.53.findElementByURI] find by uri element= AboutActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:46:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:46:18 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:18 INFO [Crawler.1080.doElementAction] mark 20211027095159/394_WebviewActivity.tag=Back.id=Back.clicked.png to 20211027095159/395_AboutActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:46:18 INFO [AppiumClient.141.mark] read from 20211027095159/394_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:46:18 INFO [AppiumClient.154.mark] write png 20211027095159/394_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:46:18 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/395_AboutActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:46:18 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:18 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:46:18 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:18 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:19 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:19 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:19 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:46:19 INFO [Crawler.673.parsePageContext] currentContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 lastContentHash=3066475fee796d597e61053df146f76f 2021-10-29 09:46:19 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:46:19 INFO [Crawler.931.saveDom] save to 20211027095159/395_AboutActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:46:19 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:19 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:20 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:20 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:20 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:20 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 396 2021-10-29 09:46:20 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:20 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:20 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:20 INFO [Crawler.487.getAvailableElement] selected nodes size = 24 2021-10-29 09:46:20 INFO [Crawler.499.getAvailableElement] all - black elements size = 24 2021-10-29 09:46:20 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 24 2021-10-29 09:46:20 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:46:20 INFO [Crawler.598.getAvailableElement] all - clicked size=8 2021-10-29 09:46:20 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:46:20 INFO [Crawler.843.crawl] found MainActivity.tag=ImageView.depth=16.id=iv_img by first available element 2021-10-29 09:46:20 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:20 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=ImageView.depth=16.id=iv_img 2021-10-29 09:46:20 INFO [Crawler.997.doElementAction] current index = 396 2021-10-29 09:46:20 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:20 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@resource-id="com.jlpay.merch:id/iv_img"] 2021-10-29 09:46:20 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:46:20 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.GridView/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:46:20 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=ImageView.depth=16.id=iv_img 2021-10-29 09:46:20 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:20 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=ImageView.depth=16.id=iv_img 2021-10-29 09:46:20 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@resource-id="com.jlpay.merch:id/iv_img"] 2021-10-29 09:46:20 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:20 INFO [Crawler.1080.doElementAction] mark 20211027095159/395_AboutActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/396_MainActivity.tag=ImageView.depth=16.id=iv_img.click.png 2021-10-29 09:46:20 INFO [AppiumClient.141.mark] read from 20211027095159/395_AboutActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:46:20 INFO [AppiumClient.154.mark] write png 20211027095159/395_AboutActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:46:20 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/396_MainActivity.tag=ImageView.depth=16.id=iv_img.click.png 2021-10-29 09:46:20 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:20 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/module3_gv"]//*[@resource-id="com.jlpay.merch:id/iv_img"]] 2021-10-29 09:46:21 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:21 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:22 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:22 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:22 INFO [Crawler.649.parsePageContext] url=PayCodeActivity 2021-10-29 09:46:22 INFO [Crawler.673.parsePageContext] currentContentHash=8a278a8342b443ac38d60ce0a1b18a7e lastContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 2021-10-29 09:46:22 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:46:22 INFO [Crawler.931.saveDom] save to 20211027095159/396_MainActivity.tag=ImageView.depth=16.id=iv_img.dom 2021-10-29 09:46:22 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:22 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:23 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:23 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:23 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:23 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 397 2021-10-29 09:46:23 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:23 INFO [Crawler.425.needReturn] urlStack=Stack(PayCodeActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:23 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:23 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:46:23 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:46:23 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:46:23 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:46:23 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:46:23 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:46:23 INFO [Crawler.851.crawl] PayCodeActivity all elements had be clicked 2021-10-29 09:46:23 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:46:23 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:46:23 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:23 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:46:23 INFO [Crawler.996.doElementAction] current element = PayCodeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:46:23 INFO [Crawler.997.doElementAction] current index = 397 2021-10-29 09:46:23 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:23 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:46:23 INFO [Crawler.1000.doElementAction] current url = PayCodeActivity 2021-10-29 09:46:23 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:46:23 INFO [Crawler.1002.doElementAction] current file name = PayCodeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:46:23 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:23 INFO [AppiumClient.53.findElementByURI] find by uri element= PayCodeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:46:23 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:46:23 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:23 INFO [Crawler.1080.doElementAction] mark 20211027095159/396_MainActivity.tag=ImageView.depth=16.id=iv_img.clicked.png to 20211027095159/397_PayCodeActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:46:23 INFO [AppiumClient.141.mark] read from 20211027095159/396_MainActivity.tag=ImageView.depth=16.id=iv_img.clicked.png 2021-10-29 09:46:23 INFO [AppiumClient.154.mark] write png 20211027095159/396_MainActivity.tag=ImageView.depth=16.id=iv_img.clicked.png 2021-10-29 09:46:23 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/397_PayCodeActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:46:23 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:23 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:46:23 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:23 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:24 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:24 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:24 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:24 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:24 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:46:24 INFO [Crawler.673.parsePageContext] currentContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 lastContentHash=8a278a8342b443ac38d60ce0a1b18a7e 2021-10-29 09:46:24 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:46:24 INFO [Crawler.931.saveDom] save to 20211027095159/397_PayCodeActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:46:25 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:25 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:25 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:25 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:25 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:25 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 398 2021-10-29 09:46:25 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:25 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:25 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:25 INFO [Crawler.487.getAvailableElement] selected nodes size = 24 2021-10-29 09:46:25 INFO [Crawler.499.getAvailableElement] all - black elements size = 24 2021-10-29 09:46:25 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 24 2021-10-29 09:46:25 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:46:25 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:46:25 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:46:25 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=15.id=btn_copy.text=复制 by first available element 2021-10-29 09:46:25 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:25 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=15.id=btn_copy.text=复制 2021-10-29 09:46:25 INFO [Crawler.997.doElementAction] current index = 398 2021-10-29 09:46:25 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:25 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/moudle1"]//*[@text="复制" and @resource-id="com.jlpay.merch:id/btn_copy"] 2021-10-29 09:46:25 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:46:25 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:46:25 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=15.id=btn_copy.text=复制 2021-10-29 09:46:25 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:25 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=15.id=btn_copy.text=复制 2021-10-29 09:46:25 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/moudle1"]//*[@text="复制" and @resource-id="com.jlpay.merch:id/btn_copy"] 2021-10-29 09:46:25 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:25 INFO [Crawler.1080.doElementAction] mark 20211027095159/397_PayCodeActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/398_MainActivity.tag=TextView.depth=15.id=btn_copy.text=复制.click.png 2021-10-29 09:46:25 INFO [AppiumClient.141.mark] read from 20211027095159/397_PayCodeActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:46:26 INFO [AppiumClient.154.mark] write png 20211027095159/397_PayCodeActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:46:26 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/398_MainActivity.tag=TextView.depth=15.id=btn_copy.text=复制.click.png 2021-10-29 09:46:26 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:26 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/moudle1"]//*[@text="复制" and @resource-id="com.jlpay.merch:id/btn_copy"]] 2021-10-29 09:46:26 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:26 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:26 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:26 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:27 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:27 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:27 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:46:27 INFO [Crawler.673.parsePageContext] currentContentHash=9899843db25412c9aaab457de1e3d89f lastContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 2021-10-29 09:46:27 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:46:27 INFO [Crawler.931.saveDom] save to 20211027095159/398_MainActivity.tag=TextView.depth=15.id=btn_copy.text=复制.dom 2021-10-29 09:46:27 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:27 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:27 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:27 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:27 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:27 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[MainActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:46:27 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 399 2021-10-29 09:46:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:27 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 24 2021-10-29 09:46:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 24 2021-10-29 09:46:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 24 2021-10-29 09:46:27 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:46:27 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:46:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:46:27 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=14.text=账户余额 by first available element 2021-10-29 09:46:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:27 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=14.text=账户余额 2021-10-29 09:46:27 INFO [Crawler.997.doElementAction] current index = 399 2021-10-29 09:46:27 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:27 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_account_balance"]//*[@text="账户余额"] 2021-10-29 09:46:27 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:46:27 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:46:27 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=14.text=账户余额 2021-10-29 09:46:27 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:27 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=14.text=账户余额 2021-10-29 09:46:27 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_account_balance"]//*[@text="账户余额"] 2021-10-29 09:46:28 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:28 INFO [Crawler.1080.doElementAction] mark 20211027095159/398_MainActivity.tag=TextView.depth=15.id=btn_copy.text=复制.clicked.png to 20211027095159/399_MainActivity.tag=TextView.depth=14.text=账户余额.click.png 2021-10-29 09:46:28 INFO [AppiumClient.141.mark] read from 20211027095159/398_MainActivity.tag=TextView.depth=15.id=btn_copy.text=复制.clicked.png 2021-10-29 09:46:28 INFO [AppiumClient.154.mark] write png 20211027095159/398_MainActivity.tag=TextView.depth=15.id=btn_copy.text=复制.clicked.png 2021-10-29 09:46:28 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/399_MainActivity.tag=TextView.depth=14.text=账户余额.click.png 2021-10-29 09:46:28 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:28 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_account_balance"]//*[@text="账户余额"]] 2021-10-29 09:46:28 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:28 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:29 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:29 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:29 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:29 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:29 INFO [Crawler.649.parsePageContext] url=AccountBalanceActivity 2021-10-29 09:46:29 INFO [Crawler.673.parsePageContext] currentContentHash=3c735e4a62b5d1ba12e4ac19ad389862 lastContentHash=9899843db25412c9aaab457de1e3d89f 2021-10-29 09:46:29 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:46:29 INFO [Crawler.931.saveDom] save to 20211027095159/399_MainActivity.tag=TextView.depth=14.text=账户余额.dom 2021-10-29 09:46:29 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:29 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:29 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:29 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:29 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:29 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 400 2021-10-29 09:46:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:29 INFO [Crawler.425.needReturn] urlStack=Stack(AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:46:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:46:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:46:29 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:46:29 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:46:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:46:29 INFO [Crawler.843.crawl] found AccountBalanceActivity.tag=TextView.depth=9.id=tv_right.text=收支明细 by first available element 2021-10-29 09:46:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:29 INFO [Crawler.996.doElementAction] current element = AccountBalanceActivity.tag=TextView.depth=9.id=tv_right.text=收支明细 2021-10-29 09:46:29 INFO [Crawler.997.doElementAction] current index = 400 2021-10-29 09:46:29 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:29 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="收支明细" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:46:29 INFO [Crawler.1000.doElementAction] current url = AccountBalanceActivity 2021-10-29 09:46:29 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:46:29 INFO [Crawler.1002.doElementAction] current file name = AccountBalanceActivity.tag=TextView.depth=9.id=tv_right.text=收支明细 2021-10-29 09:46:29 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:29 INFO [AppiumClient.53.findElementByURI] find by uri element= AccountBalanceActivity.tag=TextView.depth=9.id=tv_right.text=收支明细 2021-10-29 09:46:29 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="收支明细" and @resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:46:29 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:30 INFO [Crawler.1080.doElementAction] mark 20211027095159/399_MainActivity.tag=TextView.depth=14.text=账户余额.clicked.png to 20211027095159/400_AccountBalanceActivity.tag=TextView.depth=9.id=tv_right.text=收支明细.click.png 2021-10-29 09:46:30 INFO [AppiumClient.141.mark] read from 20211027095159/399_MainActivity.tag=TextView.depth=14.text=账户余额.clicked.png 2021-10-29 09:46:30 INFO [AppiumClient.154.mark] write png 20211027095159/399_MainActivity.tag=TextView.depth=14.text=账户余额.clicked.png 2021-10-29 09:46:30 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/400_AccountBalanceActivity.tag=TextView.depth=9.id=tv_right.text=收支明细.click.png 2021-10-29 09:46:30 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:30 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@text="收支明细" and @resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:46:30 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:30 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:30 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:30 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:31 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:31 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:31 INFO [Crawler.649.parsePageContext] url=PaymentDetailsActivity 2021-10-29 09:46:31 INFO [Crawler.673.parsePageContext] currentContentHash=b627bd1f9b16f7cdee75fbcd94551d32 lastContentHash=3c735e4a62b5d1ba12e4ac19ad389862 2021-10-29 09:46:31 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:46:31 INFO [Crawler.931.saveDom] save to 20211027095159/400_AccountBalanceActivity.tag=TextView.depth=9.id=tv_right.text=收支明细.dom 2021-10-29 09:46:31 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:31 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:31 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:31 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:31 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:31 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 401 2021-10-29 09:46:31 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:31 INFO [Crawler.425.needReturn] urlStack=Stack(PaymentDetailsActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:31 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:31 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:46:31 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:46:31 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:46:31 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:46:31 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:46:31 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:46:31 INFO [Crawler.843.crawl] found PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天 by first available element 2021-10-29 09:46:31 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:31 INFO [Crawler.996.doElementAction] current element = PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天 2021-10-29 09:46:31 INFO [Crawler.997.doElementAction] current index = 401 2021-10-29 09:46:31 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:31 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_choose_1"]//*[@text="今天" and @resource-id="com.jlpay.merch:id/tv_choose_1"] 2021-10-29 09:46:31 INFO [Crawler.1000.doElementAction] current url = PaymentDetailsActivity 2021-10-29 09:46:31 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:46:31 INFO [Crawler.1002.doElementAction] current file name = PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天 2021-10-29 09:46:31 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:31 INFO [AppiumClient.53.findElementByURI] find by uri element= PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天 2021-10-29 09:46:31 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_choose_1"]//*[@text="今天" and @resource-id="com.jlpay.merch:id/tv_choose_1"] 2021-10-29 09:46:32 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:32 INFO [Crawler.1080.doElementAction] mark 20211027095159/400_AccountBalanceActivity.tag=TextView.depth=9.id=tv_right.text=收支明细.clicked.png to 20211027095159/401_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天.click.png 2021-10-29 09:46:32 INFO [AppiumClient.141.mark] read from 20211027095159/400_AccountBalanceActivity.tag=TextView.depth=9.id=tv_right.text=收支明细.clicked.png 2021-10-29 09:46:32 INFO [AppiumClient.154.mark] write png 20211027095159/400_AccountBalanceActivity.tag=TextView.depth=9.id=tv_right.text=收支明细.clicked.png 2021-10-29 09:46:32 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/401_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天.click.png 2021-10-29 09:46:32 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:32 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_choose_1"]//*[@text="今天" and @resource-id="com.jlpay.merch:id/tv_choose_1"]] 2021-10-29 09:46:34 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:34 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:35 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:35 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:35 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:35 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:35 INFO [Crawler.649.parsePageContext] url=PaymentDetailsActivity 2021-10-29 09:46:35 INFO [Crawler.673.parsePageContext] currentContentHash=b627bd1f9b16f7cdee75fbcd94551d32 lastContentHash=b627bd1f9b16f7cdee75fbcd94551d32 2021-10-29 09:46:35 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:46:35 INFO [Crawler.931.saveDom] save to 20211027095159/401_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天.dom 2021-10-29 09:46:35 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:35 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:36 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:36 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:36 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:36 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PaymentDetailsActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:46:36 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 402 2021-10-29 09:46:36 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:36 INFO [Crawler.425.needReturn] urlStack=Stack(PaymentDetailsActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:36 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:36 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:46:36 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:46:36 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:46:36 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:46:36 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:46:36 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:46:36 INFO [Crawler.843.crawl] found PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周 by first available element 2021-10-29 09:46:36 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:36 INFO [Crawler.996.doElementAction] current element = PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周 2021-10-29 09:46:36 INFO [Crawler.997.doElementAction] current index = 402 2021-10-29 09:46:36 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:36 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_choose_2"]//*[@text="近1周" and @resource-id="com.jlpay.merch:id/tv_choose_2"] 2021-10-29 09:46:36 INFO [Crawler.1000.doElementAction] current url = PaymentDetailsActivity 2021-10-29 09:46:36 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:46:36 INFO [Crawler.1002.doElementAction] current file name = PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周 2021-10-29 09:46:36 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:36 INFO [AppiumClient.53.findElementByURI] find by uri element= PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周 2021-10-29 09:46:36 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_choose_2"]//*[@text="近1周" and @resource-id="com.jlpay.merch:id/tv_choose_2"] 2021-10-29 09:46:36 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:36 INFO [Crawler.1080.doElementAction] mark 20211027095159/401_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天.clicked.png to 20211027095159/402_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周.click.png 2021-10-29 09:46:36 INFO [AppiumClient.141.mark] read from 20211027095159/401_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天.clicked.png 2021-10-29 09:46:36 INFO [AppiumClient.154.mark] write png 20211027095159/401_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_1.text=今天.clicked.png 2021-10-29 09:46:36 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/402_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周.click.png 2021-10-29 09:46:36 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:36 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_choose_2"]//*[@text="近1周" and @resource-id="com.jlpay.merch:id/tv_choose_2"]] 2021-10-29 09:46:38 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:38 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:39 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:39 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:39 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:39 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:39 INFO [Crawler.649.parsePageContext] url=PaymentDetailsActivity 2021-10-29 09:46:39 INFO [Crawler.673.parsePageContext] currentContentHash=b627bd1f9b16f7cdee75fbcd94551d32 lastContentHash=b627bd1f9b16f7cdee75fbcd94551d32 2021-10-29 09:46:39 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:46:39 INFO [Crawler.931.saveDom] save to 20211027095159/402_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周.dom 2021-10-29 09:46:39 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:39 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:40 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:40 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:40 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:40 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PaymentDetailsActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=2 2021-10-29 09:46:40 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 403 2021-10-29 09:46:40 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:40 INFO [Crawler.425.needReturn] urlStack=Stack(PaymentDetailsActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:40 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:40 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:46:40 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:46:40 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:46:40 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:46:40 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:46:40 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:46:40 INFO [Crawler.843.crawl] found PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月 by first available element 2021-10-29 09:46:40 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:40 INFO [Crawler.996.doElementAction] current element = PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月 2021-10-29 09:46:40 INFO [Crawler.997.doElementAction] current index = 403 2021-10-29 09:46:40 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:40 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_choose_3"]//*[@text="近1月" and @resource-id="com.jlpay.merch:id/tv_choose_3"] 2021-10-29 09:46:40 INFO [Crawler.1000.doElementAction] current url = PaymentDetailsActivity 2021-10-29 09:46:40 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:46:40 INFO [Crawler.1002.doElementAction] current file name = PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月 2021-10-29 09:46:40 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:40 INFO [AppiumClient.53.findElementByURI] find by uri element= PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月 2021-10-29 09:46:40 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_choose_3"]//*[@text="近1月" and @resource-id="com.jlpay.merch:id/tv_choose_3"] 2021-10-29 09:46:40 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:40 INFO [Crawler.1080.doElementAction] mark 20211027095159/402_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周.clicked.png to 20211027095159/403_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月.click.png 2021-10-29 09:46:40 INFO [AppiumClient.141.mark] read from 20211027095159/402_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周.clicked.png 2021-10-29 09:46:40 INFO [AppiumClient.154.mark] write png 20211027095159/402_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_2.text=近1周.clicked.png 2021-10-29 09:46:40 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/403_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月.click.png 2021-10-29 09:46:40 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:40 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_choose_3"]//*[@text="近1月" and @resource-id="com.jlpay.merch:id/tv_choose_3"]] 2021-10-29 09:46:42 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:42 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:43 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:43 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:43 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:43 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:43 INFO [Crawler.649.parsePageContext] url=PaymentDetailsActivity 2021-10-29 09:46:43 INFO [Crawler.673.parsePageContext] currentContentHash=7e7bc15881fdf657ee9a2376ed0b58d3 lastContentHash=b627bd1f9b16f7cdee75fbcd94551d32 2021-10-29 09:46:43 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:46:43 INFO [Crawler.931.saveDom] save to 20211027095159/403_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月.dom 2021-10-29 09:46:43 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:43 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:44 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:44 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:44 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:44 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PaymentDetailsActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=1 2021-10-29 09:46:44 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 404 2021-10-29 09:46:44 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:44 INFO [Crawler.425.needReturn] urlStack=Stack(PaymentDetailsActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:44 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:44 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:46:44 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:46:44 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:46:44 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:46:44 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:46:44 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:46:44 INFO [Crawler.843.crawl] found PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选 by first available element 2021-10-29 09:46:44 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:44 INFO [Crawler.996.doElementAction] current element = PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选 2021-10-29 09:46:44 INFO [Crawler.997.doElementAction] current index = 404 2021-10-29 09:46:44 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:44 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_choose_4"]//*[@text="筛选" and @resource-id="com.jlpay.merch:id/tv_choose_4"] 2021-10-29 09:46:44 INFO [Crawler.1000.doElementAction] current url = PaymentDetailsActivity 2021-10-29 09:46:44 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:46:44 INFO [Crawler.1002.doElementAction] current file name = PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选 2021-10-29 09:46:44 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:44 INFO [AppiumClient.53.findElementByURI] find by uri element= PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选 2021-10-29 09:46:44 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_choose_4"]//*[@text="筛选" and @resource-id="com.jlpay.merch:id/tv_choose_4"] 2021-10-29 09:46:44 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:44 INFO [Crawler.1080.doElementAction] mark 20211027095159/403_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月.clicked.png to 20211027095159/404_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选.click.png 2021-10-29 09:46:44 INFO [AppiumClient.141.mark] read from 20211027095159/403_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月.clicked.png 2021-10-29 09:46:44 INFO [AppiumClient.154.mark] write png 20211027095159/403_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_3.text=近1月.clicked.png 2021-10-29 09:46:44 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/404_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选.click.png 2021-10-29 09:46:44 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:44 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_choose_4"]//*[@text="筛选" and @resource-id="com.jlpay.merch:id/tv_choose_4"]] 2021-10-29 09:46:45 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:45 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:46 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:46 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:46 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:46 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:46 INFO [Crawler.649.parsePageContext] url=SelectTypeActivity 2021-10-29 09:46:46 INFO [Crawler.673.parsePageContext] currentContentHash=73ca494e46a8b59b19f698aaa90dcd95 lastContentHash=7e7bc15881fdf657ee9a2376ed0b58d3 2021-10-29 09:46:46 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:46:46 INFO [Crawler.931.saveDom] save to 20211027095159/404_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选.dom 2021-10-29 09:46:46 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:46 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:46 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:46 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:46 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:46 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 405 2021-10-29 09:46:46 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:46 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, PaymentDetailsActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:46 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:46 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:46:46 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:46:46 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:46:46 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:46:46 INFO [Crawler.598.getAvailableElement] all - clicked size=8 2021-10-29 09:46:46 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:46:46 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=11.id=tv_start_time.text=00:00:00 by first available element 2021-10-29 09:46:46 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:46 INFO [Crawler.996.doElementAction] current element = SelectTypeActivity.tag=TextView.depth=11.id=tv_start_time.text=00:00:00 2021-10-29 09:46:46 INFO [Crawler.997.doElementAction] current index = 405 2021-10-29 09:46:46 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:46 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="00:00:00" and @resource-id="com.jlpay.merch:id/tv_start_time"] 2021-10-29 09:46:46 INFO [Crawler.1000.doElementAction] current url = SelectTypeActivity 2021-10-29 09:46:46 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:46:46 INFO [Crawler.1002.doElementAction] current file name = SelectTypeActivity.tag=TextView.depth=11.id=tv_start_time.text=00:00:00 2021-10-29 09:46:46 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:46 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectTypeActivity.tag=TextView.depth=11.id=tv_start_time.text=00:00:00 2021-10-29 09:46:46 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="00:00:00" and @resource-id="com.jlpay.merch:id/tv_start_time"] 2021-10-29 09:46:46 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:46 INFO [Crawler.1080.doElementAction] mark 20211027095159/404_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选.clicked.png to 20211027095159/405_SelectTypeActivity.tag=TextView.depth=11.id=tv_start_time.text=00:00:00.click.png 2021-10-29 09:46:46 INFO [AppiumClient.141.mark] read from 20211027095159/404_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选.clicked.png 2021-10-29 09:46:46 INFO [AppiumClient.154.mark] write png 20211027095159/404_PaymentDetailsActivity.tag=TextView.depth=10.id=tv_choose_4.text=筛选.clicked.png 2021-10-29 09:46:47 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/405_SelectTypeActivity.tag=TextView.depth=11.id=tv_start_time.text=00:00:00.click.png 2021-10-29 09:46:47 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:47 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="00:00:00" and @resource-id="com.jlpay.merch:id/tv_start_time"]] 2021-10-29 09:46:47 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:47 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:47 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:47 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:47 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:47 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:47 INFO [Crawler.649.parsePageContext] url=SelectTypeActivity 2021-10-29 09:46:47 INFO [Crawler.673.parsePageContext] currentContentHash=490e0b99aa978e7568e2bb940ec71c0d lastContentHash=73ca494e46a8b59b19f698aaa90dcd95 2021-10-29 09:46:47 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:46:47 INFO [Crawler.931.saveDom] save to 20211027095159/405_SelectTypeActivity.tag=TextView.depth=11.id=tv_start_time.text=00:00:00.dom 2021-10-29 09:46:48 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:48 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:48 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:48 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:48 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:48 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:46:48 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 406 2021-10-29 09:46:48 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:48 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, PaymentDetailsActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:48 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:48 INFO [Crawler.487.getAvailableElement] selected nodes size = 11 2021-10-29 09:46:48 INFO [Crawler.499.getAvailableElement] all - black elements size = 11 2021-10-29 09:46:48 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 11 2021-10-29 09:46:48 INFO [Crawler.590.getAvailableElement] all - backButton size=10 2021-10-29 09:46:48 INFO [Crawler.598.getAvailableElement] all - clicked size=9 2021-10-29 09:46:48 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:46:48 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=11.id=tv_end_time.text=23:59:59 by first available element 2021-10-29 09:46:48 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:48 INFO [Crawler.996.doElementAction] current element = SelectTypeActivity.tag=TextView.depth=11.id=tv_end_time.text=23:59:59 2021-10-29 09:46:48 INFO [Crawler.997.doElementAction] current index = 406 2021-10-29 09:46:48 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:48 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="23:59:59" and @resource-id="com.jlpay.merch:id/tv_end_time"] 2021-10-29 09:46:48 INFO [Crawler.1000.doElementAction] current url = SelectTypeActivity 2021-10-29 09:46:48 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:46:48 INFO [Crawler.1002.doElementAction] current file name = SelectTypeActivity.tag=TextView.depth=11.id=tv_end_time.text=23:59:59 2021-10-29 09:46:48 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:48 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectTypeActivity.tag=TextView.depth=11.id=tv_end_time.text=23:59:59 2021-10-29 09:46:48 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="23:59:59" and @resource-id="com.jlpay.merch:id/tv_end_time"] 2021-10-29 09:46:48 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:48 INFO [Crawler.1080.doElementAction] mark 20211027095159/405_SelectTypeActivity.tag=TextView.depth=11.id=tv_start_time.text=00:00:00.clicked.png to 20211027095159/406_SelectTypeActivity.tag=TextView.depth=11.id=tv_end_time.text=23:59:59.click.png 2021-10-29 09:46:48 INFO [AppiumClient.141.mark] read from 20211027095159/405_SelectTypeActivity.tag=TextView.depth=11.id=tv_start_time.text=00:00:00.clicked.png 2021-10-29 09:46:48 INFO [AppiumClient.154.mark] write png 20211027095159/405_SelectTypeActivity.tag=TextView.depth=11.id=tv_start_time.text=00:00:00.clicked.png 2021-10-29 09:46:48 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/406_SelectTypeActivity.tag=TextView.depth=11.id=tv_end_time.text=23:59:59.click.png 2021-10-29 09:46:49 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:49 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="23:59:59" and @resource-id="com.jlpay.merch:id/tv_end_time"]] 2021-10-29 09:46:49 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:49 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:49 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:49 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:50 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:50 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:50 INFO [Crawler.649.parsePageContext] url=SelectTypeActivity 2021-10-29 09:46:50 INFO [Crawler.673.parsePageContext] currentContentHash=73ca494e46a8b59b19f698aaa90dcd95 lastContentHash=490e0b99aa978e7568e2bb940ec71c0d 2021-10-29 09:46:50 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:46:50 INFO [Crawler.931.saveDom] save to 20211027095159/406_SelectTypeActivity.tag=TextView.depth=11.id=tv_end_time.text=23:59:59.dom 2021-10-29 09:46:50 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:50 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:51 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:51 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:51 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:51 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:46:51 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 407 2021-10-29 09:46:51 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:51 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, PaymentDetailsActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:51 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:51 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:46:51 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:46:51 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:46:51 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:46:51 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:46:51 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:46:51 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=10.id=tv_all.text=全部 by first available element 2021-10-29 09:46:51 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:51 INFO [Crawler.996.doElementAction] current element = SelectTypeActivity.tag=TextView.depth=10.id=tv_all.text=全部 2021-10-29 09:46:51 INFO [Crawler.997.doElementAction] current index = 407 2021-10-29 09:46:51 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:51 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/tv_all"] 2021-10-29 09:46:51 INFO [Crawler.1000.doElementAction] current url = SelectTypeActivity 2021-10-29 09:46:51 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:46:51 INFO [Crawler.1002.doElementAction] current file name = SelectTypeActivity.tag=TextView.depth=10.id=tv_all.text=全部 2021-10-29 09:46:51 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:51 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectTypeActivity.tag=TextView.depth=10.id=tv_all.text=全部 2021-10-29 09:46:51 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/tv_all"] 2021-10-29 09:46:51 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:51 INFO [Crawler.1080.doElementAction] mark 20211027095159/406_SelectTypeActivity.tag=TextView.depth=11.id=tv_end_time.text=23:59:59.clicked.png to 20211027095159/407_SelectTypeActivity.tag=TextView.depth=10.id=tv_all.text=全部.click.png 2021-10-29 09:46:51 INFO [AppiumClient.141.mark] read from 20211027095159/406_SelectTypeActivity.tag=TextView.depth=11.id=tv_end_time.text=23:59:59.clicked.png 2021-10-29 09:46:51 INFO [AppiumClient.154.mark] write png 20211027095159/406_SelectTypeActivity.tag=TextView.depth=11.id=tv_end_time.text=23:59:59.clicked.png 2021-10-29 09:46:51 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/407_SelectTypeActivity.tag=TextView.depth=10.id=tv_all.text=全部.click.png 2021-10-29 09:46:51 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:51 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/tv_all"]] 2021-10-29 09:46:52 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:52 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:52 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:52 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:52 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:52 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:52 INFO [Crawler.649.parsePageContext] url=SelectTypeActivity 2021-10-29 09:46:52 INFO [Crawler.673.parsePageContext] currentContentHash=73ca494e46a8b59b19f698aaa90dcd95 lastContentHash=73ca494e46a8b59b19f698aaa90dcd95 2021-10-29 09:46:52 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:46:52 INFO [Crawler.931.saveDom] save to 20211027095159/407_SelectTypeActivity.tag=TextView.depth=10.id=tv_all.text=全部.dom 2021-10-29 09:46:52 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:52 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:53 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:53 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:53 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:53 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:46:53 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 408 2021-10-29 09:46:53 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:53 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, PaymentDetailsActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:53 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:53 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:46:53 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:46:53 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:46:53 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:46:53 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:46:53 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:46:53 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=收入 by first available element 2021-10-29 09:46:53 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:53 INFO [Crawler.996.doElementAction] current element = SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=收入 2021-10-29 09:46:53 INFO [Crawler.997.doElementAction] current index = 408 2021-10-29 09:46:53 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:53 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="收入" and @resource-id="com.jlpay.merch:id/tv_income"] 2021-10-29 09:46:53 INFO [Crawler.1000.doElementAction] current url = SelectTypeActivity 2021-10-29 09:46:53 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:46:53 INFO [Crawler.1002.doElementAction] current file name = SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=收入 2021-10-29 09:46:53 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:53 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=收入 2021-10-29 09:46:53 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="收入" and @resource-id="com.jlpay.merch:id/tv_income"] 2021-10-29 09:46:53 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:53 INFO [Crawler.1080.doElementAction] mark 20211027095159/407_SelectTypeActivity.tag=TextView.depth=10.id=tv_all.text=全部.clicked.png to 20211027095159/408_SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=收入.click.png 2021-10-29 09:46:53 INFO [AppiumClient.141.mark] read from 20211027095159/407_SelectTypeActivity.tag=TextView.depth=10.id=tv_all.text=全部.clicked.png 2021-10-29 09:46:53 INFO [AppiumClient.154.mark] write png 20211027095159/407_SelectTypeActivity.tag=TextView.depth=10.id=tv_all.text=全部.clicked.png 2021-10-29 09:46:53 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/408_SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=收入.click.png 2021-10-29 09:46:53 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:53 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="收入" and @resource-id="com.jlpay.merch:id/tv_income"]] 2021-10-29 09:46:54 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:54 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:54 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:54 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:55 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:55 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:55 INFO [Crawler.649.parsePageContext] url=SelectTypeActivity 2021-10-29 09:46:55 INFO [Crawler.673.parsePageContext] currentContentHash=73ca494e46a8b59b19f698aaa90dcd95 lastContentHash=73ca494e46a8b59b19f698aaa90dcd95 2021-10-29 09:46:55 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:46:55 INFO [Crawler.931.saveDom] save to 20211027095159/408_SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=收入.dom 2021-10-29 09:46:55 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:55 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:55 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:55 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:55 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:55 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:46:55 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 409 2021-10-29 09:46:55 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:55 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, PaymentDetailsActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:55 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:55 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:46:55 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:46:55 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:46:55 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:46:55 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:46:55 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:46:55 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=10.id=tv_spending.text=支出 by first available element 2021-10-29 09:46:55 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:55 INFO [Crawler.996.doElementAction] current element = SelectTypeActivity.tag=TextView.depth=10.id=tv_spending.text=支出 2021-10-29 09:46:55 INFO [Crawler.997.doElementAction] current index = 409 2021-10-29 09:46:55 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:55 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="支出" and @resource-id="com.jlpay.merch:id/tv_spending"] 2021-10-29 09:46:55 INFO [Crawler.1000.doElementAction] current url = SelectTypeActivity 2021-10-29 09:46:55 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:46:55 INFO [Crawler.1002.doElementAction] current file name = SelectTypeActivity.tag=TextView.depth=10.id=tv_spending.text=支出 2021-10-29 09:46:55 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:55 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectTypeActivity.tag=TextView.depth=10.id=tv_spending.text=支出 2021-10-29 09:46:55 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="支出" and @resource-id="com.jlpay.merch:id/tv_spending"] 2021-10-29 09:46:55 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:55 INFO [Crawler.1080.doElementAction] mark 20211027095159/408_SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=收入.clicked.png to 20211027095159/409_SelectTypeActivity.tag=TextView.depth=10.id=tv_spending.text=支出.click.png 2021-10-29 09:46:55 INFO [AppiumClient.141.mark] read from 20211027095159/408_SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=收入.clicked.png 2021-10-29 09:46:55 INFO [AppiumClient.154.mark] write png 20211027095159/408_SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=收入.clicked.png 2021-10-29 09:46:55 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/409_SelectTypeActivity.tag=TextView.depth=10.id=tv_spending.text=支出.click.png 2021-10-29 09:46:56 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:56 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="支出" and @resource-id="com.jlpay.merch:id/tv_spending"]] 2021-10-29 09:46:56 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:56 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:57 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:57 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:57 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:57 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:57 INFO [Crawler.649.parsePageContext] url=SelectTypeActivity 2021-10-29 09:46:57 INFO [Crawler.673.parsePageContext] currentContentHash=73ca494e46a8b59b19f698aaa90dcd95 lastContentHash=73ca494e46a8b59b19f698aaa90dcd95 2021-10-29 09:46:57 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:46:57 INFO [Crawler.931.saveDom] save to 20211027095159/409_SelectTypeActivity.tag=TextView.depth=10.id=tv_spending.text=支出.dom 2021-10-29 09:46:57 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:57 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:58 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:58 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:58 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:58 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=1 2021-10-29 09:46:58 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 410 2021-10-29 09:46:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:58 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, PaymentDetailsActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:46:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:46:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:46:58 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:46:58 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:46:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:46:58 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:46:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:58 INFO [Crawler.996.doElementAction] current element = SelectTypeActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:46:58 INFO [Crawler.997.doElementAction] current index = 410 2021-10-29 09:46:58 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:58 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/title_container"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:46:58 INFO [Crawler.1000.doElementAction] current url = SelectTypeActivity 2021-10-29 09:46:58 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:46:58 INFO [Crawler.1002.doElementAction] current file name = SelectTypeActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:46:58 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:58 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectTypeActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:46:58 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/title_container"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:46:58 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:46:58 INFO [Crawler.1080.doElementAction] mark 20211027095159/409_SelectTypeActivity.tag=TextView.depth=10.id=tv_spending.text=支出.clicked.png to 20211027095159/410_SelectTypeActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:46:58 INFO [AppiumClient.141.mark] read from 20211027095159/409_SelectTypeActivity.tag=TextView.depth=10.id=tv_spending.text=支出.clicked.png 2021-10-29 09:46:58 INFO [AppiumClient.154.mark] write png 20211027095159/409_SelectTypeActivity.tag=TextView.depth=10.id=tv_spending.text=支出.clicked.png 2021-10-29 09:46:58 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/410_SelectTypeActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:46:58 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:46:58 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/title_container"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:46:58 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:46:58 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:46:58 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:46:58 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:46:59 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:46:59 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:46:59 INFO [Crawler.649.parsePageContext] url=SelectTypeActivity 2021-10-29 09:46:59 INFO [Crawler.673.parsePageContext] currentContentHash=73ca494e46a8b59b19f698aaa90dcd95 lastContentHash=73ca494e46a8b59b19f698aaa90dcd95 2021-10-29 09:46:59 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:46:59 INFO [Crawler.931.saveDom] save to 20211027095159/410_SelectTypeActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:46:59 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:46:59 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:46:59 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:46:59 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:46:59 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:46:59 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:46:59 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 411 2021-10-29 09:46:59 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:46:59 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, PaymentDetailsActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:46:59 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:46:59 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:46:59 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:46:59 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:46:59 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:46:59 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:46:59 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:46:59 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置 by first available element 2021-10-29 09:46:59 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:46:59 INFO [Crawler.996.doElementAction] current element = SelectTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置 2021-10-29 09:46:59 INFO [Crawler.997.doElementAction] current index = 411 2021-10-29 09:46:59 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:46:59 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="重置" and @resource-id="com.jlpay.merch:id/tv_reset"] 2021-10-29 09:46:59 INFO [Crawler.1000.doElementAction] current url = SelectTypeActivity 2021-10-29 09:46:59 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:46:59 INFO [Crawler.1002.doElementAction] current file name = SelectTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置 2021-10-29 09:46:59 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:46:59 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置 2021-10-29 09:46:59 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="重置" and @resource-id="com.jlpay.merch:id/tv_reset"] 2021-10-29 09:47:00 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:00 INFO [Crawler.1080.doElementAction] mark 20211027095159/410_SelectTypeActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/411_SelectTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置.click.png 2021-10-29 09:47:00 INFO [AppiumClient.141.mark] read from 20211027095159/410_SelectTypeActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:47:00 INFO [AppiumClient.154.mark] write png 20211027095159/410_SelectTypeActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:47:00 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/411_SelectTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置.click.png 2021-10-29 09:47:00 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:00 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="重置" and @resource-id="com.jlpay.merch:id/tv_reset"]] 2021-10-29 09:47:00 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:00 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:01 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:01 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:01 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:01 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:01 INFO [Crawler.649.parsePageContext] url=SelectTypeActivity 2021-10-29 09:47:01 INFO [Crawler.673.parsePageContext] currentContentHash=73ca494e46a8b59b19f698aaa90dcd95 lastContentHash=73ca494e46a8b59b19f698aaa90dcd95 2021-10-29 09:47:01 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:47:01 INFO [Crawler.931.saveDom] save to 20211027095159/411_SelectTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置.dom 2021-10-29 09:47:01 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:01 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:02 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:02 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:02 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:02 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:47:02 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 412 2021-10-29 09:47:02 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:02 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, PaymentDetailsActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:02 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:02 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:47:02 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:47:02 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:47:02 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:47:02 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:47:02 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:47:02 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定 by first available element 2021-10-29 09:47:02 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:02 INFO [Crawler.996.doElementAction] current element = SelectTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定 2021-10-29 09:47:02 INFO [Crawler.997.doElementAction] current index = 412 2021-10-29 09:47:02 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:02 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/tv_ok"] 2021-10-29 09:47:02 INFO [Crawler.1000.doElementAction] current url = SelectTypeActivity 2021-10-29 09:47:02 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:47:02 INFO [Crawler.1002.doElementAction] current file name = SelectTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定 2021-10-29 09:47:02 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:02 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定 2021-10-29 09:47:02 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/tv_ok"] 2021-10-29 09:47:02 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:02 INFO [Crawler.1080.doElementAction] mark 20211027095159/411_SelectTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置.clicked.png to 20211027095159/412_SelectTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定.click.png 2021-10-29 09:47:02 INFO [AppiumClient.141.mark] read from 20211027095159/411_SelectTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置.clicked.png 2021-10-29 09:47:02 INFO [AppiumClient.154.mark] write png 20211027095159/411_SelectTypeActivity.tag=TextView.depth=9.id=tv_reset.text=重置.clicked.png 2021-10-29 09:47:02 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/412_SelectTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定.click.png 2021-10-29 09:47:02 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:02 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/tv_ok"]] 2021-10-29 09:47:02 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:02 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:03 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:03 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:05 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:05 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:05 INFO [Crawler.649.parsePageContext] url=PaymentDetailsActivity 2021-10-29 09:47:05 INFO [Crawler.673.parsePageContext] currentContentHash=b627bd1f9b16f7cdee75fbcd94551d32 lastContentHash=73ca494e46a8b59b19f698aaa90dcd95 2021-10-29 09:47:05 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:05 INFO [Crawler.931.saveDom] save to 20211027095159/412_SelectTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定.dom 2021-10-29 09:47:05 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:05 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:06 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:06 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:06 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:06 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 413 2021-10-29 09:47:06 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:06 INFO [Crawler.425.needReturn] urlStack=Stack(PaymentDetailsActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:06 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:06 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:47:06 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:47:06 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:47:06 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:47:06 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:47:06 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:47:06 INFO [Crawler.843.crawl] found PaymentDetailsActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:47:06 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:06 INFO [Crawler.996.doElementAction] current element = PaymentDetailsActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:47:06 INFO [Crawler.997.doElementAction] current index = 413 2021-10-29 09:47:06 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:06 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:47:06 INFO [Crawler.1000.doElementAction] current url = PaymentDetailsActivity 2021-10-29 09:47:06 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:47:06 INFO [Crawler.1002.doElementAction] current file name = PaymentDetailsActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:47:06 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:06 INFO [AppiumClient.53.findElementByURI] find by uri element= PaymentDetailsActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:47:06 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:47:06 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:06 INFO [Crawler.1080.doElementAction] mark 20211027095159/412_SelectTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定.clicked.png to 20211027095159/413_PaymentDetailsActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:47:06 INFO [AppiumClient.141.mark] read from 20211027095159/412_SelectTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定.clicked.png 2021-10-29 09:47:06 INFO [AppiumClient.154.mark] write png 20211027095159/412_SelectTypeActivity.tag=TextView.depth=9.id=tv_ok.text=确定.clicked.png 2021-10-29 09:47:06 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/413_PaymentDetailsActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:47:06 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:06 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:47:06 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:06 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:07 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:07 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:07 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:07 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:07 INFO [Crawler.649.parsePageContext] url=PaymentDetailsActivity 2021-10-29 09:47:07 INFO [Crawler.673.parsePageContext] currentContentHash=b627bd1f9b16f7cdee75fbcd94551d32 lastContentHash=b627bd1f9b16f7cdee75fbcd94551d32 2021-10-29 09:47:07 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:47:07 INFO [Crawler.931.saveDom] save to 20211027095159/413_PaymentDetailsActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:47:07 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:07 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:08 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:08 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:08 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:08 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PaymentDetailsActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:47:08 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 414 2021-10-29 09:47:08 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:08 INFO [Crawler.425.needReturn] urlStack=Stack(PaymentDetailsActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:08 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:08 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:47:08 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:47:08 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:47:08 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:47:08 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:47:08 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:47:08 INFO [Crawler.851.crawl] PaymentDetailsActivity all elements had be clicked 2021-10-29 09:47:08 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:47:08 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:47:08 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:08 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:47:08 INFO [Crawler.996.doElementAction] current element = PaymentDetailsActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:08 INFO [Crawler.997.doElementAction] current index = 414 2021-10-29 09:47:08 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:08 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:47:08 INFO [Crawler.1000.doElementAction] current url = PaymentDetailsActivity 2021-10-29 09:47:08 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:47:08 INFO [Crawler.1002.doElementAction] current file name = PaymentDetailsActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:08 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:08 INFO [AppiumClient.53.findElementByURI] find by uri element= PaymentDetailsActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:08 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:47:08 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:08 INFO [Crawler.1080.doElementAction] mark 20211027095159/413_PaymentDetailsActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/414_PaymentDetailsActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:47:08 INFO [AppiumClient.141.mark] read from 20211027095159/413_PaymentDetailsActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:47:08 INFO [AppiumClient.154.mark] write png 20211027095159/413_PaymentDetailsActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:47:08 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/414_PaymentDetailsActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:47:08 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:08 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:47:09 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:09 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:09 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:09 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:09 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:09 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:10 INFO [Crawler.649.parsePageContext] url=AccountBalanceActivity 2021-10-29 09:47:10 INFO [Crawler.673.parsePageContext] currentContentHash=797f0711710ce12f73c19df37a96941f lastContentHash=b627bd1f9b16f7cdee75fbcd94551d32 2021-10-29 09:47:10 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:10 INFO [Crawler.931.saveDom] save to 20211027095159/414_PaymentDetailsActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:47:10 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:10 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:10 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:10 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:10 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:10 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 415 2021-10-29 09:47:10 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:10 INFO [Crawler.425.needReturn] urlStack=Stack(AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:10 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:10 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:47:10 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:47:10 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:47:10 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:47:10 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:47:10 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:47:10 INFO [Crawler.843.crawl] found AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out_record.text=提现记录 by first available element 2021-10-29 09:47:10 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:10 INFO [Crawler.996.doElementAction] current element = AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out_record.text=提现记录 2021-10-29 09:47:10 INFO [Crawler.997.doElementAction] current index = 415 2021-10-29 09:47:10 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:10 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提现记录" and @resource-id="com.jlpay.merch:id/tv_cash_out_record"] 2021-10-29 09:47:10 INFO [Crawler.1000.doElementAction] current url = AccountBalanceActivity 2021-10-29 09:47:10 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:47:10 INFO [Crawler.1002.doElementAction] current file name = AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out_record.text=提现记录 2021-10-29 09:47:10 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:10 INFO [AppiumClient.53.findElementByURI] find by uri element= AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out_record.text=提现记录 2021-10-29 09:47:10 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提现记录" and @resource-id="com.jlpay.merch:id/tv_cash_out_record"] 2021-10-29 09:47:10 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:10 INFO [Crawler.1080.doElementAction] mark 20211027095159/414_PaymentDetailsActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/415_AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out_record.text=提现记录.click.png 2021-10-29 09:47:10 INFO [AppiumClient.141.mark] read from 20211027095159/414_PaymentDetailsActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:47:10 INFO [AppiumClient.154.mark] write png 20211027095159/414_PaymentDetailsActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:47:10 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/415_AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out_record.text=提现记录.click.png 2021-10-29 09:47:10 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:10 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提现记录" and @resource-id="com.jlpay.merch:id/tv_cash_out_record"]] 2021-10-29 09:47:11 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:11 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:11 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:11 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:11 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:11 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:11 INFO [Crawler.649.parsePageContext] url=CashOutRecordActivity 2021-10-29 09:47:11 INFO [Crawler.673.parsePageContext] currentContentHash=9557806e78eccedd24e36581e60b8ece lastContentHash=797f0711710ce12f73c19df37a96941f 2021-10-29 09:47:11 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:11 INFO [Crawler.931.saveDom] save to 20211027095159/415_AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out_record.text=提现记录.dom 2021-10-29 09:47:12 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:12 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:12 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:12 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:12 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:12 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 416 2021-10-29 09:47:12 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:12 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:12 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:12 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:47:12 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:47:12 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:47:12 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:47:12 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:47:12 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:47:12 INFO [Crawler.843.crawl] found CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_0.text=今天 by first available element 2021-10-29 09:47:12 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:12 INFO [Crawler.996.doElementAction] current element = CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_0.text=今天 2021-10-29 09:47:12 INFO [Crawler.997.doElementAction] current index = 416 2021-10-29 09:47:12 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:12 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tdsl"]//*[@resource-id="com.jlpay.merch:id/ll_choose_1"]//*[@text="今天" and @resource-id="com.jlpay.merch:id/tv_choose_0"] 2021-10-29 09:47:12 INFO [Crawler.1000.doElementAction] current url = CashOutRecordActivity 2021-10-29 09:47:12 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:47:12 INFO [Crawler.1002.doElementAction] current file name = CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_0.text=今天 2021-10-29 09:47:12 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:12 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_0.text=今天 2021-10-29 09:47:12 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tdsl"]//*[@resource-id="com.jlpay.merch:id/ll_choose_1"]//*[@text="今天" and @resource-id="com.jlpay.merch:id/tv_choose_0"] 2021-10-29 09:47:12 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:12 INFO [Crawler.1080.doElementAction] mark 20211027095159/415_AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out_record.text=提现记录.clicked.png to 20211027095159/416_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_0.text=今天.click.png 2021-10-29 09:47:12 INFO [AppiumClient.141.mark] read from 20211027095159/415_AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out_record.text=提现记录.clicked.png 2021-10-29 09:47:12 INFO [AppiumClient.154.mark] write png 20211027095159/415_AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out_record.text=提现记录.clicked.png 2021-10-29 09:47:12 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/416_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_0.text=今天.click.png 2021-10-29 09:47:12 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:12 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tdsl"]//*[@resource-id="com.jlpay.merch:id/ll_choose_1"]//*[@text="今天" and @resource-id="com.jlpay.merch:id/tv_choose_0"]] 2021-10-29 09:47:15 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:15 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:15 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:15 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:15 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:15 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:15 INFO [Crawler.649.parsePageContext] url=CashOutRecordActivity 2021-10-29 09:47:15 INFO [Crawler.673.parsePageContext] currentContentHash=9557806e78eccedd24e36581e60b8ece lastContentHash=9557806e78eccedd24e36581e60b8ece 2021-10-29 09:47:15 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:47:15 INFO [Crawler.931.saveDom] save to 20211027095159/416_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_0.text=今天.dom 2021-10-29 09:47:16 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:16 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:16 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:16 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:16 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:16 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CashOutRecordActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:47:16 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 417 2021-10-29 09:47:16 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:16 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:16 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:16 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:47:16 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:47:16 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:47:16 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:47:16 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:47:16 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:47:16 INFO [Crawler.843.crawl] found CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_1.text=近1周 by first available element 2021-10-29 09:47:16 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:16 INFO [Crawler.996.doElementAction] current element = CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_1.text=近1周 2021-10-29 09:47:16 INFO [Crawler.997.doElementAction] current index = 417 2021-10-29 09:47:16 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:16 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tdsl"]//*[@resource-id="com.jlpay.merch:id/ll_choose_2"]//*[@text="近1周" and @resource-id="com.jlpay.merch:id/tv_choose_1"] 2021-10-29 09:47:16 INFO [Crawler.1000.doElementAction] current url = CashOutRecordActivity 2021-10-29 09:47:16 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:47:16 INFO [Crawler.1002.doElementAction] current file name = CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_1.text=近1周 2021-10-29 09:47:16 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:16 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_1.text=近1周 2021-10-29 09:47:16 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tdsl"]//*[@resource-id="com.jlpay.merch:id/ll_choose_2"]//*[@text="近1周" and @resource-id="com.jlpay.merch:id/tv_choose_1"] 2021-10-29 09:47:16 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:16 INFO [Crawler.1080.doElementAction] mark 20211027095159/416_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_0.text=今天.clicked.png to 20211027095159/417_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_1.text=近1周.click.png 2021-10-29 09:47:16 INFO [AppiumClient.141.mark] read from 20211027095159/416_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_0.text=今天.clicked.png 2021-10-29 09:47:16 INFO [AppiumClient.154.mark] write png 20211027095159/416_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_0.text=今天.clicked.png 2021-10-29 09:47:17 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/417_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_1.text=近1周.click.png 2021-10-29 09:47:17 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:17 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tdsl"]//*[@resource-id="com.jlpay.merch:id/ll_choose_2"]//*[@text="近1周" and @resource-id="com.jlpay.merch:id/tv_choose_1"]] 2021-10-29 09:47:19 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:19 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:20 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:20 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:20 INFO [Crawler.649.parsePageContext] url=CashOutRecordActivity 2021-10-29 09:47:20 INFO [Crawler.673.parsePageContext] currentContentHash=9557806e78eccedd24e36581e60b8ece lastContentHash=9557806e78eccedd24e36581e60b8ece 2021-10-29 09:47:20 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:47:20 INFO [Crawler.931.saveDom] save to 20211027095159/417_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_1.text=近1周.dom 2021-10-29 09:47:20 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:20 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:20 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:20 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:20 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:20 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CashOutRecordActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:47:20 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 418 2021-10-29 09:47:20 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:20 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:20 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:20 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:47:20 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:47:20 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:47:20 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:47:20 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:47:20 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:47:20 INFO [Crawler.843.crawl] found CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_2.text=近1个月 by first available element 2021-10-29 09:47:20 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:20 INFO [Crawler.996.doElementAction] current element = CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_2.text=近1个月 2021-10-29 09:47:20 INFO [Crawler.997.doElementAction] current index = 418 2021-10-29 09:47:20 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:20 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tdsl"]//*[@resource-id="com.jlpay.merch:id/ll_choose_3"]//*[@text="近1个月" and @resource-id="com.jlpay.merch:id/tv_choose_2"] 2021-10-29 09:47:20 INFO [Crawler.1000.doElementAction] current url = CashOutRecordActivity 2021-10-29 09:47:20 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:47:20 INFO [Crawler.1002.doElementAction] current file name = CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_2.text=近1个月 2021-10-29 09:47:20 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:20 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_2.text=近1个月 2021-10-29 09:47:20 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tdsl"]//*[@resource-id="com.jlpay.merch:id/ll_choose_3"]//*[@text="近1个月" and @resource-id="com.jlpay.merch:id/tv_choose_2"] 2021-10-29 09:47:20 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:20 INFO [Crawler.1080.doElementAction] mark 20211027095159/417_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_1.text=近1周.clicked.png to 20211027095159/418_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_2.text=近1个月.click.png 2021-10-29 09:47:20 INFO [AppiumClient.141.mark] read from 20211027095159/417_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_1.text=近1周.clicked.png 2021-10-29 09:47:20 INFO [AppiumClient.154.mark] write png 20211027095159/417_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_1.text=近1周.clicked.png 2021-10-29 09:47:20 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/418_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_2.text=近1个月.click.png 2021-10-29 09:47:21 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:21 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tdsl"]//*[@resource-id="com.jlpay.merch:id/ll_choose_3"]//*[@text="近1个月" and @resource-id="com.jlpay.merch:id/tv_choose_2"]] 2021-10-29 09:47:23 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:23 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:23 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:23 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:24 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:24 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:24 INFO [Crawler.649.parsePageContext] url=CashOutRecordActivity 2021-10-29 09:47:24 INFO [Crawler.673.parsePageContext] currentContentHash=5c760a7e314f92e85d15621e5cf84ff1 lastContentHash=9557806e78eccedd24e36581e60b8ece 2021-10-29 09:47:24 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:24 INFO [Crawler.931.saveDom] save to 20211027095159/418_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_2.text=近1个月.dom 2021-10-29 09:47:24 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:24 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:24 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:24 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:24 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:24 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CashOutRecordActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=1 2021-10-29 09:47:24 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 419 2021-10-29 09:47:24 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:24 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:24 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:24 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:47:24 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:47:24 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:47:24 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:47:24 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:47:24 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:47:24 INFO [Crawler.843.crawl] found CashOutRecordActivity.tag=TextView.depth=14.id=tv_cash_out_state.text=成功 by first available element 2021-10-29 09:47:24 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:25 INFO [Crawler.996.doElementAction] current element = CashOutRecordActivity.tag=TextView.depth=14.id=tv_cash_out_state.text=成功 2021-10-29 09:47:25 INFO [Crawler.997.doElementAction] current index = 419 2021-10-29 09:47:25 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:25 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/item_cash_out_record_header"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/item_child_cash_out_record"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="成功" and @resource-id="com.jlpay.merch:id/tv_cash_out_state"] 2021-10-29 09:47:25 INFO [Crawler.1000.doElementAction] current url = CashOutRecordActivity 2021-10-29 09:47:25 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:47:25 INFO [Crawler.1002.doElementAction] current file name = CashOutRecordActivity.tag=TextView.depth=14.id=tv_cash_out_state.text=成功 2021-10-29 09:47:25 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:25 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutRecordActivity.tag=TextView.depth=14.id=tv_cash_out_state.text=成功 2021-10-29 09:47:25 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/item_cash_out_record_header"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/item_child_cash_out_record"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="成功" and @resource-id="com.jlpay.merch:id/tv_cash_out_state"] 2021-10-29 09:47:25 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:25 INFO [Crawler.1080.doElementAction] mark 20211027095159/418_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_2.text=近1个月.clicked.png to 20211027095159/419_CashOutRecordActivity.tag=TextView.depth=14.id=tv_cash_out_state.text=成功.click.png 2021-10-29 09:47:25 INFO [AppiumClient.141.mark] read from 20211027095159/418_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_2.text=近1个月.clicked.png 2021-10-29 09:47:25 INFO [AppiumClient.154.mark] write png 20211027095159/418_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_2.text=近1个月.clicked.png 2021-10-29 09:47:25 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/419_CashOutRecordActivity.tag=TextView.depth=14.id=tv_cash_out_state.text=成功.click.png 2021-10-29 09:47:25 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:25 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/item_cash_out_record_header"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/item_child_cash_out_record"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="成功" and @resource-id="com.jlpay.merch:id/tv_cash_out_state"]] 2021-10-29 09:47:25 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:25 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:25 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:25 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:26 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:26 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:26 INFO [Crawler.649.parsePageContext] url=CashOutDetailActivity 2021-10-29 09:47:26 INFO [Crawler.673.parsePageContext] currentContentHash=5031774e00825c8415db9be4b795fc27 lastContentHash=5c760a7e314f92e85d15621e5cf84ff1 2021-10-29 09:47:26 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:26 INFO [Crawler.931.saveDom] save to 20211027095159/419_CashOutRecordActivity.tag=TextView.depth=14.id=tv_cash_out_state.text=成功.dom 2021-10-29 09:47:26 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:26 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:27 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:27 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:27 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:27 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 420 2021-10-29 09:47:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:27 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutDetailActivity, CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:47:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:47:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:47:27 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:47:27 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:47:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:47:27 INFO [Crawler.843.crawl] found CashOutDetailActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:47:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:27 INFO [Crawler.996.doElementAction] current element = CashOutDetailActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:47:27 INFO [Crawler.997.doElementAction] current index = 420 2021-10-29 09:47:27 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:27 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:47:27 INFO [Crawler.1000.doElementAction] current url = CashOutDetailActivity 2021-10-29 09:47:27 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:47:27 INFO [Crawler.1002.doElementAction] current file name = CashOutDetailActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:47:27 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:27 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutDetailActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:47:27 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:47:27 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:27 INFO [Crawler.1080.doElementAction] mark 20211027095159/419_CashOutRecordActivity.tag=TextView.depth=14.id=tv_cash_out_state.text=成功.clicked.png to 20211027095159/420_CashOutDetailActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:47:27 INFO [AppiumClient.141.mark] read from 20211027095159/419_CashOutRecordActivity.tag=TextView.depth=14.id=tv_cash_out_state.text=成功.clicked.png 2021-10-29 09:47:27 INFO [AppiumClient.154.mark] write png 20211027095159/419_CashOutRecordActivity.tag=TextView.depth=14.id=tv_cash_out_state.text=成功.clicked.png 2021-10-29 09:47:27 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/420_CashOutDetailActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:47:27 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:27 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:47:27 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:27 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:27 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:27 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:28 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:28 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:28 INFO [Crawler.649.parsePageContext] url=CashOutDetailActivity 2021-10-29 09:47:28 INFO [Crawler.673.parsePageContext] currentContentHash=5031774e00825c8415db9be4b795fc27 lastContentHash=5031774e00825c8415db9be4b795fc27 2021-10-29 09:47:28 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:47:28 INFO [Crawler.931.saveDom] save to 20211027095159/420_CashOutDetailActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:47:28 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:28 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:29 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:29 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:29 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:29 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CashOutDetailActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:47:29 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 421 2021-10-29 09:47:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:29 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutDetailActivity, CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:47:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:47:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:47:29 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:47:29 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:47:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:47:29 INFO [Crawler.851.crawl] CashOutDetailActivity all elements had be clicked 2021-10-29 09:47:29 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:47:29 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:47:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:29 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:47:29 INFO [Crawler.996.doElementAction] current element = CashOutDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:29 INFO [Crawler.997.doElementAction] current index = 421 2021-10-29 09:47:29 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:29 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:47:29 INFO [Crawler.1000.doElementAction] current url = CashOutDetailActivity 2021-10-29 09:47:29 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:47:29 INFO [Crawler.1002.doElementAction] current file name = CashOutDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:29 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:29 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:29 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:47:29 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:29 INFO [Crawler.1080.doElementAction] mark 20211027095159/420_CashOutDetailActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/421_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:47:29 INFO [AppiumClient.141.mark] read from 20211027095159/420_CashOutDetailActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:47:29 INFO [AppiumClient.154.mark] write png 20211027095159/420_CashOutDetailActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:47:29 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/421_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:47:29 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:29 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:47:29 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:29 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:29 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:29 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:30 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:30 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:30 INFO [Crawler.649.parsePageContext] url=CashOutRecordActivity 2021-10-29 09:47:30 INFO [Crawler.673.parsePageContext] currentContentHash=5c760a7e314f92e85d15621e5cf84ff1 lastContentHash=5031774e00825c8415db9be4b795fc27 2021-10-29 09:47:30 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:30 INFO [Crawler.931.saveDom] save to 20211027095159/421_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:47:30 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:30 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:31 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:31 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:31 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:31 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 422 2021-10-29 09:47:31 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:31 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:31 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:31 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:47:31 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:47:31 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:47:31 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:47:31 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:47:31 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:47:31 INFO [Crawler.843.crawl] found CashOutRecordActivity.tag=TextView.depth=14.id=tv_money.text=¥0.01 by first available element 2021-10-29 09:47:31 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:31 INFO [Crawler.996.doElementAction] current element = CashOutRecordActivity.tag=TextView.depth=14.id=tv_money.text=¥0.01 2021-10-29 09:47:31 INFO [Crawler.997.doElementAction] current index = 422 2021-10-29 09:47:31 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:31 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/item_cash_out_record_header"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/item_child_cash_out_record"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="¥0.01" and @resource-id="com.jlpay.merch:id/tv_money"] 2021-10-29 09:47:31 INFO [Crawler.1000.doElementAction] current url = CashOutRecordActivity 2021-10-29 09:47:31 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:47:31 INFO [Crawler.1002.doElementAction] current file name = CashOutRecordActivity.tag=TextView.depth=14.id=tv_money.text=¥0.01 2021-10-29 09:47:31 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:31 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutRecordActivity.tag=TextView.depth=14.id=tv_money.text=¥0.01 2021-10-29 09:47:31 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/item_cash_out_record_header"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/item_child_cash_out_record"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="¥0.01" and @resource-id="com.jlpay.merch:id/tv_money"] 2021-10-29 09:47:31 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:31 INFO [Crawler.1080.doElementAction] mark 20211027095159/421_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/422_CashOutRecordActivity.tag=TextView.depth=14.id=tv_money.text=¥0.01.click.png 2021-10-29 09:47:31 INFO [AppiumClient.141.mark] read from 20211027095159/421_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:47:31 INFO [AppiumClient.154.mark] write png 20211027095159/421_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:47:31 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/422_CashOutRecordActivity.tag=TextView.depth=14.id=tv_money.text=¥0.01.click.png 2021-10-29 09:47:31 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:31 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/item_cash_out_record_header"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/item_child_cash_out_record"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@text="¥0.01" and @resource-id="com.jlpay.merch:id/tv_money"]] 2021-10-29 09:47:31 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:31 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:32 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:32 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:32 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:32 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:32 INFO [Crawler.649.parsePageContext] url=CashOutDetailActivity 2021-10-29 09:47:32 INFO [Crawler.673.parsePageContext] currentContentHash=5031774e00825c8415db9be4b795fc27 lastContentHash=5c760a7e314f92e85d15621e5cf84ff1 2021-10-29 09:47:32 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:32 INFO [Crawler.931.saveDom] save to 20211027095159/422_CashOutRecordActivity.tag=TextView.depth=14.id=tv_money.text=¥0.01.dom 2021-10-29 09:47:32 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:32 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:33 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:33 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:33 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:33 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 423 2021-10-29 09:47:33 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:33 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutDetailActivity, CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:33 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:33 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:47:33 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:47:33 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:47:33 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:47:33 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:47:33 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:47:33 INFO [Crawler.851.crawl] CashOutDetailActivity all elements had be clicked 2021-10-29 09:47:33 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:47:33 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:47:33 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:33 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:47:33 INFO [Crawler.996.doElementAction] current element = CashOutDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:33 INFO [Crawler.997.doElementAction] current index = 423 2021-10-29 09:47:33 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:33 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:47:33 INFO [Crawler.1000.doElementAction] current url = CashOutDetailActivity 2021-10-29 09:47:33 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:47:33 INFO [Crawler.1002.doElementAction] current file name = CashOutDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:33 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:33 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:33 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:47:33 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:33 INFO [Crawler.1080.doElementAction] mark 20211027095159/422_CashOutRecordActivity.tag=TextView.depth=14.id=tv_money.text=¥0.01.clicked.png to 20211027095159/423_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:47:33 INFO [AppiumClient.141.mark] read from 20211027095159/422_CashOutRecordActivity.tag=TextView.depth=14.id=tv_money.text=¥0.01.clicked.png 2021-10-29 09:47:33 INFO [AppiumClient.154.mark] write png 20211027095159/422_CashOutRecordActivity.tag=TextView.depth=14.id=tv_money.text=¥0.01.clicked.png 2021-10-29 09:47:33 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/423_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:47:33 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:33 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:47:33 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:33 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:34 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:34 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:34 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:34 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:34 INFO [Crawler.649.parsePageContext] url=CashOutRecordActivity 2021-10-29 09:47:34 INFO [Crawler.673.parsePageContext] currentContentHash=5c760a7e314f92e85d15621e5cf84ff1 lastContentHash=5031774e00825c8415db9be4b795fc27 2021-10-29 09:47:34 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:34 INFO [Crawler.931.saveDom] save to 20211027095159/423_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:47:34 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:34 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:35 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:35 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:35 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:35 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 424 2021-10-29 09:47:35 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:35 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:35 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:35 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:47:35 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:47:35 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:47:35 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:47:35 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:47:35 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:47:35 INFO [Crawler.843.crawl] found CashOutRecordActivity.tag=ImageView.depth=14.id=iv_icon_money by first available element 2021-10-29 09:47:35 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:35 INFO [Crawler.996.doElementAction] current element = CashOutRecordActivity.tag=ImageView.depth=14.id=iv_icon_money 2021-10-29 09:47:35 INFO [Crawler.997.doElementAction] current index = 424 2021-10-29 09:47:35 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:35 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/item_cash_out_record_header"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/item_child_cash_out_record"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/iv_icon_money"] 2021-10-29 09:47:35 INFO [Crawler.1000.doElementAction] current url = CashOutRecordActivity 2021-10-29 09:47:35 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:47:35 INFO [Crawler.1002.doElementAction] current file name = CashOutRecordActivity.tag=ImageView.depth=14.id=iv_icon_money 2021-10-29 09:47:35 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:35 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutRecordActivity.tag=ImageView.depth=14.id=iv_icon_money 2021-10-29 09:47:35 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/item_cash_out_record_header"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/item_child_cash_out_record"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/iv_icon_money"] 2021-10-29 09:47:35 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:35 INFO [Crawler.1080.doElementAction] mark 20211027095159/423_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/424_CashOutRecordActivity.tag=ImageView.depth=14.id=iv_icon_money.click.png 2021-10-29 09:47:35 INFO [AppiumClient.141.mark] read from 20211027095159/423_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:47:35 INFO [AppiumClient.154.mark] write png 20211027095159/423_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:47:35 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/424_CashOutRecordActivity.tag=ImageView.depth=14.id=iv_icon_money.click.png 2021-10-29 09:47:35 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:35 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/item_cash_out_record_header"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/item_child_cash_out_record"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/iv_icon_money"]] 2021-10-29 09:47:35 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:35 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:36 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:36 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:36 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:36 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:36 INFO [Crawler.649.parsePageContext] url=CashOutDetailActivity 2021-10-29 09:47:36 INFO [Crawler.673.parsePageContext] currentContentHash=5031774e00825c8415db9be4b795fc27 lastContentHash=5c760a7e314f92e85d15621e5cf84ff1 2021-10-29 09:47:36 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:36 INFO [Crawler.931.saveDom] save to 20211027095159/424_CashOutRecordActivity.tag=ImageView.depth=14.id=iv_icon_money.dom 2021-10-29 09:47:36 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:36 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:37 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:37 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:37 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:37 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 425 2021-10-29 09:47:37 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:37 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutDetailActivity, CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:37 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:37 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:47:37 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:47:37 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:47:37 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:47:37 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:47:37 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:47:37 INFO [Crawler.851.crawl] CashOutDetailActivity all elements had be clicked 2021-10-29 09:47:37 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:47:37 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:47:37 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:37 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:47:37 INFO [Crawler.996.doElementAction] current element = CashOutDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:37 INFO [Crawler.997.doElementAction] current index = 425 2021-10-29 09:47:37 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:37 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:47:37 INFO [Crawler.1000.doElementAction] current url = CashOutDetailActivity 2021-10-29 09:47:37 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:47:37 INFO [Crawler.1002.doElementAction] current file name = CashOutDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:37 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:37 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:37 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:47:37 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:37 INFO [Crawler.1080.doElementAction] mark 20211027095159/424_CashOutRecordActivity.tag=ImageView.depth=14.id=iv_icon_money.clicked.png to 20211027095159/425_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:47:37 INFO [AppiumClient.141.mark] read from 20211027095159/424_CashOutRecordActivity.tag=ImageView.depth=14.id=iv_icon_money.clicked.png 2021-10-29 09:47:37 INFO [AppiumClient.154.mark] write png 20211027095159/424_CashOutRecordActivity.tag=ImageView.depth=14.id=iv_icon_money.clicked.png 2021-10-29 09:47:37 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/425_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:47:37 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:37 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:47:37 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:37 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:38 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:38 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:38 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:38 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:38 INFO [Crawler.649.parsePageContext] url=CashOutRecordActivity 2021-10-29 09:47:38 INFO [Crawler.673.parsePageContext] currentContentHash=5c760a7e314f92e85d15621e5cf84ff1 lastContentHash=5031774e00825c8415db9be4b795fc27 2021-10-29 09:47:38 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:38 INFO [Crawler.931.saveDom] save to 20211027095159/425_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:47:38 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:38 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:39 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:39 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:39 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:39 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 426 2021-10-29 09:47:39 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:39 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:39 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:39 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:47:39 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:47:39 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:47:39 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:47:39 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:47:39 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:47:39 INFO [Crawler.843.crawl] found CashOutRecordActivity.tag=ImageView.depth=14.id=iv_type by first available element 2021-10-29 09:47:39 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:39 INFO [Crawler.996.doElementAction] current element = CashOutRecordActivity.tag=ImageView.depth=14.id=iv_type 2021-10-29 09:47:39 INFO [Crawler.997.doElementAction] current index = 426 2021-10-29 09:47:39 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:39 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/item_cash_out_record_header"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/item_child_cash_out_record"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/iv_type"] 2021-10-29 09:47:39 INFO [Crawler.1000.doElementAction] current url = CashOutRecordActivity 2021-10-29 09:47:39 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:47:39 INFO [Crawler.1002.doElementAction] current file name = CashOutRecordActivity.tag=ImageView.depth=14.id=iv_type 2021-10-29 09:47:39 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:39 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutRecordActivity.tag=ImageView.depth=14.id=iv_type 2021-10-29 09:47:39 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/item_cash_out_record_header"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/item_child_cash_out_record"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/iv_type"] 2021-10-29 09:47:39 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:39 INFO [Crawler.1080.doElementAction] mark 20211027095159/425_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/426_CashOutRecordActivity.tag=ImageView.depth=14.id=iv_type.click.png 2021-10-29 09:47:39 INFO [AppiumClient.141.mark] read from 20211027095159/425_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:47:39 INFO [AppiumClient.154.mark] write png 20211027095159/425_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:47:39 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/426_CashOutRecordActivity.tag=ImageView.depth=14.id=iv_type.click.png 2021-10-29 09:47:39 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:39 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/refreshLayout"]//*[@resource-id="com.jlpay.merch:id/recyclerView"]//*[@resource-id="com.jlpay.merch:id/item_cash_out_record_header"]//*[@resource-id="com.jlpay.merch:id/rec_child"]//*[@resource-id="com.jlpay.merch:id/item_child_cash_out_record"]//*[@resource-id="com.jlpay.merch:id/ll_container"]//*[@resource-id="com.jlpay.merch:id/iv_type"]] 2021-10-29 09:47:39 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:39 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:39 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:39 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:40 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:40 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:40 INFO [Crawler.649.parsePageContext] url=CashOutDetailActivity 2021-10-29 09:47:40 INFO [Crawler.673.parsePageContext] currentContentHash=5031774e00825c8415db9be4b795fc27 lastContentHash=5c760a7e314f92e85d15621e5cf84ff1 2021-10-29 09:47:40 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:40 INFO [Crawler.931.saveDom] save to 20211027095159/426_CashOutRecordActivity.tag=ImageView.depth=14.id=iv_type.dom 2021-10-29 09:47:40 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:40 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:40 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:40 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:40 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:40 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 427 2021-10-29 09:47:40 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:40 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutDetailActivity, CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:40 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:40 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:47:40 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:47:40 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:47:40 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:47:40 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:47:40 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:47:40 INFO [Crawler.851.crawl] CashOutDetailActivity all elements had be clicked 2021-10-29 09:47:40 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:47:40 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:47:40 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:40 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:47:40 INFO [Crawler.996.doElementAction] current element = CashOutDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:40 INFO [Crawler.997.doElementAction] current index = 427 2021-10-29 09:47:41 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:41 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:47:41 INFO [Crawler.1000.doElementAction] current url = CashOutDetailActivity 2021-10-29 09:47:41 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:47:41 INFO [Crawler.1002.doElementAction] current file name = CashOutDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:41 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:41 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutDetailActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:41 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:47:41 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:41 INFO [Crawler.1080.doElementAction] mark 20211027095159/426_CashOutRecordActivity.tag=ImageView.depth=14.id=iv_type.clicked.png to 20211027095159/427_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:47:41 INFO [AppiumClient.141.mark] read from 20211027095159/426_CashOutRecordActivity.tag=ImageView.depth=14.id=iv_type.clicked.png 2021-10-29 09:47:41 INFO [AppiumClient.154.mark] write png 20211027095159/426_CashOutRecordActivity.tag=ImageView.depth=14.id=iv_type.clicked.png 2021-10-29 09:47:41 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/427_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:47:41 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:41 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:47:41 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:41 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:41 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:41 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:42 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:42 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:42 INFO [Crawler.649.parsePageContext] url=CashOutRecordActivity 2021-10-29 09:47:42 INFO [Crawler.673.parsePageContext] currentContentHash=5c760a7e314f92e85d15621e5cf84ff1 lastContentHash=5031774e00825c8415db9be4b795fc27 2021-10-29 09:47:42 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:42 INFO [Crawler.931.saveDom] save to 20211027095159/427_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:47:42 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:42 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:43 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:43 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:43 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:43 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 428 2021-10-29 09:47:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:43 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:47:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:47:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:47:43 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:47:43 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:47:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:47:43 INFO [Crawler.843.crawl] found CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_3.text=筛选 by first available element 2021-10-29 09:47:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:43 INFO [Crawler.996.doElementAction] current element = CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_3.text=筛选 2021-10-29 09:47:43 INFO [Crawler.997.doElementAction] current index = 428 2021-10-29 09:47:43 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:43 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tdsl"]//*[@resource-id="com.jlpay.merch:id/ll_choose_4"]//*[@text="筛选" and @resource-id="com.jlpay.merch:id/tv_choose_3"] 2021-10-29 09:47:43 INFO [Crawler.1000.doElementAction] current url = CashOutRecordActivity 2021-10-29 09:47:43 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:47:43 INFO [Crawler.1002.doElementAction] current file name = CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_3.text=筛选 2021-10-29 09:47:43 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:43 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_3.text=筛选 2021-10-29 09:47:43 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tdsl"]//*[@resource-id="com.jlpay.merch:id/ll_choose_4"]//*[@text="筛选" and @resource-id="com.jlpay.merch:id/tv_choose_3"] 2021-10-29 09:47:43 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:43 INFO [Crawler.1080.doElementAction] mark 20211027095159/427_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/428_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_3.text=筛选.click.png 2021-10-29 09:47:43 INFO [AppiumClient.141.mark] read from 20211027095159/427_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:47:43 INFO [AppiumClient.154.mark] write png 20211027095159/427_CashOutDetailActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:47:43 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/428_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_3.text=筛选.click.png 2021-10-29 09:47:43 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:43 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/tdsl"]//*[@resource-id="com.jlpay.merch:id/ll_choose_4"]//*[@text="筛选" and @resource-id="com.jlpay.merch:id/tv_choose_3"]] 2021-10-29 09:47:44 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:44 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:44 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:44 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:44 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:44 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:44 INFO [Crawler.649.parsePageContext] url=SelectTypeActivity 2021-10-29 09:47:44 INFO [Crawler.673.parsePageContext] currentContentHash=7befb8217e4492b422901f73fdaf18d6 lastContentHash=5c760a7e314f92e85d15621e5cf84ff1 2021-10-29 09:47:44 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:44 INFO [Crawler.931.saveDom] save to 20211027095159/428_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_3.text=筛选.dom 2021-10-29 09:47:44 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:44 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:45 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:45 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:45 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:45 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 429 2021-10-29 09:47:45 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:45 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:45 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:45 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:47:45 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:47:45 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:47:45 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:47:45 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:47:45 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:47:45 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=11.id=tv_status_all.text=全部 by first available element 2021-10-29 09:47:45 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:45 INFO [Crawler.996.doElementAction] current element = SelectTypeActivity.tag=TextView.depth=11.id=tv_status_all.text=全部 2021-10-29 09:47:45 INFO [Crawler.997.doElementAction] current index = 429 2021-10-29 09:47:45 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:45 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_cashout_status"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/tv_status_all"] 2021-10-29 09:47:45 INFO [Crawler.1000.doElementAction] current url = SelectTypeActivity 2021-10-29 09:47:45 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:47:45 INFO [Crawler.1002.doElementAction] current file name = SelectTypeActivity.tag=TextView.depth=11.id=tv_status_all.text=全部 2021-10-29 09:47:45 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:45 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectTypeActivity.tag=TextView.depth=11.id=tv_status_all.text=全部 2021-10-29 09:47:45 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_cashout_status"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/tv_status_all"] 2021-10-29 09:47:45 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:45 INFO [Crawler.1080.doElementAction] mark 20211027095159/428_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_3.text=筛选.clicked.png to 20211027095159/429_SelectTypeActivity.tag=TextView.depth=11.id=tv_status_all.text=全部.click.png 2021-10-29 09:47:45 INFO [AppiumClient.141.mark] read from 20211027095159/428_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_3.text=筛选.clicked.png 2021-10-29 09:47:45 INFO [AppiumClient.154.mark] write png 20211027095159/428_CashOutRecordActivity.tag=TextView.depth=11.id=tv_choose_3.text=筛选.clicked.png 2021-10-29 09:47:45 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/429_SelectTypeActivity.tag=TextView.depth=11.id=tv_status_all.text=全部.click.png 2021-10-29 09:47:45 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:45 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_cashout_status"]//*[@text="全部" and @resource-id="com.jlpay.merch:id/tv_status_all"]] 2021-10-29 09:47:46 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:46 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:46 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:46 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:47 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:47 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:47 INFO [Crawler.649.parsePageContext] url=SelectTypeActivity 2021-10-29 09:47:47 INFO [Crawler.673.parsePageContext] currentContentHash=7befb8217e4492b422901f73fdaf18d6 lastContentHash=7befb8217e4492b422901f73fdaf18d6 2021-10-29 09:47:47 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:47:47 INFO [Crawler.931.saveDom] save to 20211027095159/429_SelectTypeActivity.tag=TextView.depth=11.id=tv_status_all.text=全部.dom 2021-10-29 09:47:47 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:47 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:47 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:47 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:47 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:47 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=1 2021-10-29 09:47:47 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 430 2021-10-29 09:47:47 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:47 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:47 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:47 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:47:47 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:47:47 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:47:47 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:47:47 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:47:47 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:47:47 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=11.id=tv_status_success.text=成功 by first available element 2021-10-29 09:47:47 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:47 INFO [Crawler.996.doElementAction] current element = SelectTypeActivity.tag=TextView.depth=11.id=tv_status_success.text=成功 2021-10-29 09:47:47 INFO [Crawler.997.doElementAction] current index = 430 2021-10-29 09:47:47 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:47 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_cashout_status"]//*[@text="成功" and @resource-id="com.jlpay.merch:id/tv_status_success"] 2021-10-29 09:47:47 INFO [Crawler.1000.doElementAction] current url = SelectTypeActivity 2021-10-29 09:47:47 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:47:47 INFO [Crawler.1002.doElementAction] current file name = SelectTypeActivity.tag=TextView.depth=11.id=tv_status_success.text=成功 2021-10-29 09:47:47 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:47 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectTypeActivity.tag=TextView.depth=11.id=tv_status_success.text=成功 2021-10-29 09:47:47 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_cashout_status"]//*[@text="成功" and @resource-id="com.jlpay.merch:id/tv_status_success"] 2021-10-29 09:47:47 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:47 INFO [Crawler.1080.doElementAction] mark 20211027095159/429_SelectTypeActivity.tag=TextView.depth=11.id=tv_status_all.text=全部.clicked.png to 20211027095159/430_SelectTypeActivity.tag=TextView.depth=11.id=tv_status_success.text=成功.click.png 2021-10-29 09:47:47 INFO [AppiumClient.141.mark] read from 20211027095159/429_SelectTypeActivity.tag=TextView.depth=11.id=tv_status_all.text=全部.clicked.png 2021-10-29 09:47:47 INFO [AppiumClient.154.mark] write png 20211027095159/429_SelectTypeActivity.tag=TextView.depth=11.id=tv_status_all.text=全部.clicked.png 2021-10-29 09:47:47 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/430_SelectTypeActivity.tag=TextView.depth=11.id=tv_status_success.text=成功.click.png 2021-10-29 09:47:47 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:47 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_cashout_status"]//*[@text="成功" and @resource-id="com.jlpay.merch:id/tv_status_success"]] 2021-10-29 09:47:48 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:48 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:49 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:49 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:49 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:49 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:49 INFO [Crawler.649.parsePageContext] url=SelectTypeActivity 2021-10-29 09:47:49 INFO [Crawler.673.parsePageContext] currentContentHash=7befb8217e4492b422901f73fdaf18d6 lastContentHash=7befb8217e4492b422901f73fdaf18d6 2021-10-29 09:47:49 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:47:49 INFO [Crawler.931.saveDom] save to 20211027095159/430_SelectTypeActivity.tag=TextView.depth=11.id=tv_status_success.text=成功.dom 2021-10-29 09:47:49 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:49 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:49 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:49 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:49 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:49 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:47:49 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 431 2021-10-29 09:47:49 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:49 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:49 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:49 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:47:49 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:47:49 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:47:49 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:47:49 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:47:49 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:47:49 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=11.id=tv_status_unpaid.text=待支付 by first available element 2021-10-29 09:47:49 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:49 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:47:49 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:47:49 INFO [TagLimitPlugin.45.beforeElementAction] SelectTypeActivity.tag=TextView.depth=11.id=tv_status_unpaid.text=待支付 need skip 2021-10-29 09:47:49 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:49 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:47:49 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:49 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:49 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:49 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:47:49 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:47:49 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:47:49 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:47:49 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:47:49 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:47:49 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=11.id=tv_status_failed.text=失败 by first available element 2021-10-29 09:47:49 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:49 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:47:49 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:47:49 INFO [TagLimitPlugin.45.beforeElementAction] SelectTypeActivity.tag=TextView.depth=11.id=tv_status_failed.text=失败 need skip 2021-10-29 09:47:49 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:49 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:47:49 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:49 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:49 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:49 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:47:50 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:47:50 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:47:50 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:47:50 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:47:50 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:47:50 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=11.id=tv_status_processing.text=处理中 by first available element 2021-10-29 09:47:50 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:50 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:47:50 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:47:50 INFO [TagLimitPlugin.45.beforeElementAction] SelectTypeActivity.tag=TextView.depth=11.id=tv_status_processing.text=处理中 need skip 2021-10-29 09:47:50 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:50 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:47:50 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:50 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:50 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:50 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:47:50 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:47:50 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:47:50 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:47:50 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:47:50 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:47:50 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=一般到账 by first available element 2021-10-29 09:47:50 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:50 INFO [Crawler.996.doElementAction] current element = SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=一般到账 2021-10-29 09:47:50 INFO [Crawler.997.doElementAction] current index = 431 2021-10-29 09:47:50 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:50 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="一般到账" and @resource-id="com.jlpay.merch:id/tv_income"] 2021-10-29 09:47:50 INFO [Crawler.1000.doElementAction] current url = SelectTypeActivity 2021-10-29 09:47:50 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:47:50 INFO [Crawler.1002.doElementAction] current file name = SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=一般到账 2021-10-29 09:47:50 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:50 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=一般到账 2021-10-29 09:47:50 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="一般到账" and @resource-id="com.jlpay.merch:id/tv_income"] 2021-10-29 09:47:50 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:50 INFO [Crawler.1080.doElementAction] mark 20211027095159/430_SelectTypeActivity.tag=TextView.depth=11.id=tv_status_success.text=成功.clicked.png to 20211027095159/431_SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=一般到账.click.png 2021-10-29 09:47:50 INFO [AppiumClient.141.mark] read from 20211027095159/430_SelectTypeActivity.tag=TextView.depth=11.id=tv_status_success.text=成功.clicked.png 2021-10-29 09:47:50 INFO [AppiumClient.154.mark] write png 20211027095159/430_SelectTypeActivity.tag=TextView.depth=11.id=tv_status_success.text=成功.clicked.png 2021-10-29 09:47:50 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/431_SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=一般到账.click.png 2021-10-29 09:47:50 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:50 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="一般到账" and @resource-id="com.jlpay.merch:id/tv_income"]] 2021-10-29 09:47:50 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:50 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:51 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:51 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:51 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:51 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:51 INFO [Crawler.649.parsePageContext] url=SelectTypeActivity 2021-10-29 09:47:51 INFO [Crawler.673.parsePageContext] currentContentHash=7befb8217e4492b422901f73fdaf18d6 lastContentHash=7befb8217e4492b422901f73fdaf18d6 2021-10-29 09:47:51 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:47:51 INFO [Crawler.931.saveDom] save to 20211027095159/431_SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=一般到账.dom 2021-10-29 09:47:51 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:51 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:52 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:52 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:52 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:52 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SelectTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:47:52 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 432 2021-10-29 09:47:52 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:52 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:52 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:52 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:47:52 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:47:52 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:47:52 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:47:52 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:47:52 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:47:52 INFO [Crawler.843.crawl] found SelectTypeActivity.tag=TextView.depth=10.id=tv_spending.text=实时到账 by first available element 2021-10-29 09:47:52 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:52 WARN [TagLimitPlugin.43.beforeElementAction] tagLimit[SelectTypeActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=0 2021-10-29 09:47:52 INFO [Crawler.728.setElementAction] set action to skip 2021-10-29 09:47:52 INFO [TagLimitPlugin.45.beforeElementAction] SelectTypeActivity.tag=TextView.depth=10.id=tv_spending.text=实时到账 need skip 2021-10-29 09:47:52 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:52 INFO [Crawler.781.crawl] skip refresh page because last action is skip 2021-10-29 09:47:52 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:52 INFO [Crawler.425.needReturn] urlStack=Stack(SelectTypeActivity, CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:52 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:52 INFO [Crawler.487.getAvailableElement] selected nodes size = 14 2021-10-29 09:47:52 INFO [Crawler.499.getAvailableElement] all - black elements size = 14 2021-10-29 09:47:52 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 14 2021-10-29 09:47:52 INFO [Crawler.590.getAvailableElement] all - backButton size=13 2021-10-29 09:47:52 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:47:52 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:47:52 INFO [Crawler.851.crawl] SelectTypeActivity all elements had be clicked 2021-10-29 09:47:52 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:47:52 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:47:52 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:52 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:47:52 INFO [Crawler.996.doElementAction] current element = SelectTypeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:52 INFO [Crawler.997.doElementAction] current index = 432 2021-10-29 09:47:52 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:52 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/title_container"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:47:52 INFO [Crawler.1000.doElementAction] current url = SelectTypeActivity 2021-10-29 09:47:52 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:47:52 INFO [Crawler.1002.doElementAction] current file name = SelectTypeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:52 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:52 INFO [AppiumClient.53.findElementByURI] find by uri element= SelectTypeActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:52 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/title_container"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:47:52 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:52 INFO [Crawler.1080.doElementAction] mark 20211027095159/431_SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=一般到账.clicked.png to 20211027095159/432_SelectTypeActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:47:52 INFO [AppiumClient.141.mark] read from 20211027095159/431_SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=一般到账.clicked.png 2021-10-29 09:47:52 INFO [AppiumClient.154.mark] write png 20211027095159/431_SelectTypeActivity.tag=TextView.depth=10.id=tv_income.text=一般到账.clicked.png 2021-10-29 09:47:52 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/432_SelectTypeActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:47:52 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:52 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/title_container"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:47:52 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:52 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:53 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:53 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:53 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:53 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:53 INFO [Crawler.649.parsePageContext] url=CashOutRecordActivity 2021-10-29 09:47:53 INFO [Crawler.673.parsePageContext] currentContentHash=5c760a7e314f92e85d15621e5cf84ff1 lastContentHash=7befb8217e4492b422901f73fdaf18d6 2021-10-29 09:47:53 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:53 INFO [Crawler.931.saveDom] save to 20211027095159/432_SelectTypeActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:47:53 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:53 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:54 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:54 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:54 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:54 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 433 2021-10-29 09:47:54 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:54 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:54 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:54 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:47:54 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:47:54 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:47:54 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:47:54 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:47:54 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:47:54 INFO [Crawler.843.crawl] found CashOutRecordActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:47:54 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:54 INFO [Crawler.996.doElementAction] current element = CashOutRecordActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:47:54 INFO [Crawler.997.doElementAction] current index = 433 2021-10-29 09:47:54 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:54 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:47:54 INFO [Crawler.1000.doElementAction] current url = CashOutRecordActivity 2021-10-29 09:47:54 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:47:54 INFO [Crawler.1002.doElementAction] current file name = CashOutRecordActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:47:54 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:54 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutRecordActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:47:54 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:47:54 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:54 INFO [Crawler.1080.doElementAction] mark 20211027095159/432_SelectTypeActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/433_CashOutRecordActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:47:54 INFO [AppiumClient.141.mark] read from 20211027095159/432_SelectTypeActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:47:54 INFO [AppiumClient.154.mark] write png 20211027095159/432_SelectTypeActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:47:54 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/433_CashOutRecordActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:47:54 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:54 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:47:54 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:54 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:55 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:55 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:55 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:55 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:55 INFO [Crawler.649.parsePageContext] url=CashOutRecordActivity 2021-10-29 09:47:55 INFO [Crawler.673.parsePageContext] currentContentHash=5c760a7e314f92e85d15621e5cf84ff1 lastContentHash=5c760a7e314f92e85d15621e5cf84ff1 2021-10-29 09:47:55 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:47:55 INFO [Crawler.931.saveDom] save to 20211027095159/433_CashOutRecordActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:47:55 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:55 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:56 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:56 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:56 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:56 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CashOutRecordActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:47:56 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 434 2021-10-29 09:47:56 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:56 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutRecordActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:56 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:56 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:47:56 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:47:56 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:47:56 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:47:56 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:47:56 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:47:56 INFO [Crawler.851.crawl] CashOutRecordActivity all elements had be clicked 2021-10-29 09:47:56 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:47:56 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:47:56 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:56 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:47:56 INFO [Crawler.996.doElementAction] current element = CashOutRecordActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:56 INFO [Crawler.997.doElementAction] current index = 434 2021-10-29 09:47:56 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:56 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:47:56 INFO [Crawler.1000.doElementAction] current url = CashOutRecordActivity 2021-10-29 09:47:56 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:47:56 INFO [Crawler.1002.doElementAction] current file name = CashOutRecordActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:56 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:56 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutRecordActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:47:56 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:47:56 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:56 INFO [Crawler.1080.doElementAction] mark 20211027095159/433_CashOutRecordActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/434_CashOutRecordActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:47:56 INFO [AppiumClient.141.mark] read from 20211027095159/433_CashOutRecordActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:47:56 INFO [AppiumClient.154.mark] write png 20211027095159/433_CashOutRecordActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:47:56 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/434_CashOutRecordActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:47:56 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:56 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:47:56 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:56 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:57 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:57 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:47:57 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:47:57 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:47:57 INFO [Crawler.649.parsePageContext] url=AccountBalanceActivity 2021-10-29 09:47:57 INFO [Crawler.673.parsePageContext] currentContentHash=797f0711710ce12f73c19df37a96941f lastContentHash=5c760a7e314f92e85d15621e5cf84ff1 2021-10-29 09:47:57 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:47:57 INFO [Crawler.931.saveDom] save to 20211027095159/434_CashOutRecordActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:47:57 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:47:57 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:47:58 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:47:58 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:47:58 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:47:58 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 435 2021-10-29 09:47:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:47:58 INFO [Crawler.425.needReturn] urlStack=Stack(AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:47:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:47:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:47:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:47:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:47:58 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:47:58 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:47:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:47:58 INFO [Crawler.843.crawl] found AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out.text=提现 by first available element 2021-10-29 09:47:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:47:58 INFO [Crawler.996.doElementAction] current element = AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out.text=提现 2021-10-29 09:47:58 INFO [Crawler.997.doElementAction] current index = 435 2021-10-29 09:47:58 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:47:58 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提现" and @resource-id="com.jlpay.merch:id/tv_cash_out"] 2021-10-29 09:47:58 INFO [Crawler.1000.doElementAction] current url = AccountBalanceActivity 2021-10-29 09:47:58 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:47:58 INFO [Crawler.1002.doElementAction] current file name = AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out.text=提现 2021-10-29 09:47:58 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:47:58 INFO [AppiumClient.53.findElementByURI] find by uri element= AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out.text=提现 2021-10-29 09:47:58 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提现" and @resource-id="com.jlpay.merch:id/tv_cash_out"] 2021-10-29 09:47:58 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:47:58 INFO [Crawler.1080.doElementAction] mark 20211027095159/434_CashOutRecordActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/435_AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out.text=提现.click.png 2021-10-29 09:47:58 INFO [AppiumClient.141.mark] read from 20211027095159/434_CashOutRecordActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:47:58 INFO [AppiumClient.154.mark] write png 20211027095159/434_CashOutRecordActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:47:58 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/435_AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out.text=提现.click.png 2021-10-29 09:47:58 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:47:58 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提现" and @resource-id="com.jlpay.merch:id/tv_cash_out"]] 2021-10-29 09:47:58 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:47:58 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:47:59 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:47:59 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:00 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:00 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:00 INFO [Crawler.649.parsePageContext] url=CashOutActivity 2021-10-29 09:48:00 INFO [Crawler.673.parsePageContext] currentContentHash=ee022237e55a3b4070df6cff5eb3abac lastContentHash=797f0711710ce12f73c19df37a96941f 2021-10-29 09:48:00 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:00 INFO [Crawler.931.saveDom] save to 20211027095159/435_AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out.text=提现.dom 2021-10-29 09:48:00 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:00 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:00 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:48:00 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:48:00 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:48:00 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:48:00 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:48:00 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:00 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:00 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 436 2021-10-29 09:48:00 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:00 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:00 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:00 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:48:00 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:48:00 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:48:00 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:48:00 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:48:00 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:48:00 INFO [Crawler.843.crawl] found CashOutActivity.tag=EditText.depth=10.id=edt_cash_out by first available element 2021-10-29 09:48:00 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:00 INFO [Crawler.996.doElementAction] current element = CashOutActivity.tag=EditText.depth=10.id=edt_cash_out 2021-10-29 09:48:00 INFO [Crawler.997.doElementAction] current index = 436 2021-10-29 09:48:00 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:00 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_cash_out"]//*[@resource-id="com.jlpay.merch:id/edt_cash_out"] 2021-10-29 09:48:00 INFO [Crawler.1000.doElementAction] current url = CashOutActivity 2021-10-29 09:48:00 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.EditText 2021-10-29 09:48:00 INFO [Crawler.1002.doElementAction] current file name = CashOutActivity.tag=EditText.depth=10.id=edt_cash_out 2021-10-29 09:48:00 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:00 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutActivity.tag=EditText.depth=10.id=edt_cash_out 2021-10-29 09:48:00 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_cash_out"]//*[@resource-id="com.jlpay.merch:id/edt_cash_out"] 2021-10-29 09:48:00 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:00 INFO [Crawler.1080.doElementAction] mark 20211027095159/435_AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out.text=提现.clicked.png to 20211027095159/436_CashOutActivity.tag=EditText.depth=10.id=edt_cash_out.click.png 2021-10-29 09:48:00 INFO [AppiumClient.141.mark] read from 20211027095159/435_AccountBalanceActivity.tag=TextView.depth=9.id=tv_cash_out.text=提现.clicked.png 2021-10-29 09:48:00 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:48:00 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:48:00 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:48:00 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:00 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_cash_out"]//*[@resource-id="com.jlpay.merch:id/edt_cash_out"]] 2021-10-29 09:48:02 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:02 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:02 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:02 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:02 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:02 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:03 INFO [Crawler.649.parsePageContext] url=CashOutActivity 2021-10-29 09:48:03 INFO [Crawler.673.parsePageContext] currentContentHash=ee022237e55a3b4070df6cff5eb3abac lastContentHash=ee022237e55a3b4070df6cff5eb3abac 2021-10-29 09:48:03 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:48:03 INFO [Crawler.931.saveDom] save to 20211027095159/436_CashOutActivity.tag=EditText.depth=10.id=edt_cash_out.dom 2021-10-29 09:48:03 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:03 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:03 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:48:03 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:48:03 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:48:03 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:48:03 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:48:03 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:03 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:03 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CashOutActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.EditText]=3 2021-10-29 09:48:03 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 437 2021-10-29 09:48:03 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:03 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:03 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:03 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:48:03 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:48:03 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:48:03 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:48:03 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:48:03 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:48:03 INFO [Crawler.843.crawl] found CashOutActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:48:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:03 INFO [Crawler.996.doElementAction] current element = CashOutActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:48:03 INFO [Crawler.997.doElementAction] current index = 437 2021-10-29 09:48:03 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:03 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:48:03 INFO [Crawler.1000.doElementAction] current url = CashOutActivity 2021-10-29 09:48:03 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:48:03 INFO [Crawler.1002.doElementAction] current file name = CashOutActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:48:03 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:03 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:48:03 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:48:03 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:03 INFO [Crawler.1080.doElementAction] mark 20211027095159/436_CashOutActivity.tag=EditText.depth=10.id=edt_cash_out.clicked.png to 20211027095159/437_CashOutActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:48:03 INFO [AppiumClient.141.mark] read from 20211027095159/436_CashOutActivity.tag=EditText.depth=10.id=edt_cash_out.clicked.png 2021-10-29 09:48:03 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:48:03 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:48:03 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:48:03 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:03 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:48:03 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:03 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:04 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:04 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:04 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:04 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:04 INFO [Crawler.649.parsePageContext] url=CashOutActivity 2021-10-29 09:48:04 INFO [Crawler.673.parsePageContext] currentContentHash=ee022237e55a3b4070df6cff5eb3abac lastContentHash=ee022237e55a3b4070df6cff5eb3abac 2021-10-29 09:48:04 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:48:04 INFO [Crawler.931.saveDom] save to 20211027095159/437_CashOutActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:48:04 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:04 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:04 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:48:04 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:48:04 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:48:04 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:48:04 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:48:04 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:04 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:04 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CashOutActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:48:04 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 438 2021-10-29 09:48:04 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:04 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:04 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:04 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:48:04 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:48:04 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:48:04 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:48:04 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:48:04 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:48:04 INFO [Crawler.843.crawl] found CashOutActivity.tag=TextView.depth=9.id=tv_bank_name.text=(7763) by first available element 2021-10-29 09:48:04 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:04 INFO [Crawler.996.doElementAction] current element = CashOutActivity.tag=TextView.depth=9.id=tv_bank_name.text=(7763) 2021-10-29 09:48:04 INFO [Crawler.997.doElementAction] current index = 438 2021-10-29 09:48:04 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:04 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="(7763)" and @resource-id="com.jlpay.merch:id/tv_bank_name"] 2021-10-29 09:48:04 INFO [Crawler.1000.doElementAction] current url = CashOutActivity 2021-10-29 09:48:04 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:48:04 INFO [Crawler.1002.doElementAction] current file name = CashOutActivity.tag=TextView.depth=9.id=tv_bank_name.text=(7763) 2021-10-29 09:48:04 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:04 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutActivity.tag=TextView.depth=9.id=tv_bank_name.text=(7763) 2021-10-29 09:48:04 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="(7763)" and @resource-id="com.jlpay.merch:id/tv_bank_name"] 2021-10-29 09:48:04 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:04 INFO [Crawler.1080.doElementAction] mark 20211027095159/437_CashOutActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/438_CashOutActivity.tag=TextView.depth=9.id=tv_bank_name.text=(7763).click.png 2021-10-29 09:48:04 INFO [AppiumClient.141.mark] read from 20211027095159/437_CashOutActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:48:04 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:48:04 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:48:04 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:48:05 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:05 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="(7763)" and @resource-id="com.jlpay.merch:id/tv_bank_name"]] 2021-10-29 09:48:05 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:05 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:05 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:05 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:05 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:05 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:05 INFO [Crawler.649.parsePageContext] url=CashOutActivity 2021-10-29 09:48:05 INFO [Crawler.673.parsePageContext] currentContentHash=ee022237e55a3b4070df6cff5eb3abac lastContentHash=ee022237e55a3b4070df6cff5eb3abac 2021-10-29 09:48:05 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:48:05 INFO [Crawler.931.saveDom] save to 20211027095159/438_CashOutActivity.tag=TextView.depth=9.id=tv_bank_name.text=(7763).dom 2021-10-29 09:48:05 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:05 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:06 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:48:06 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:48:06 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:48:06 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:48:06 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:48:06 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:06 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:06 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CashOutActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:48:06 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 439 2021-10-29 09:48:06 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:06 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:06 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:06 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:48:06 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:48:06 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:48:06 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:48:06 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:48:06 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:48:06 INFO [Crawler.843.crawl] found CashOutActivity.tag=TextView.depth=9.id=tv_cash_out_all.text=全部提现 by first available element 2021-10-29 09:48:06 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:06 INFO [Crawler.996.doElementAction] current element = CashOutActivity.tag=TextView.depth=9.id=tv_cash_out_all.text=全部提现 2021-10-29 09:48:06 INFO [Crawler.997.doElementAction] current index = 439 2021-10-29 09:48:06 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:06 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="全部提现" and @resource-id="com.jlpay.merch:id/tv_cash_out_all"] 2021-10-29 09:48:06 INFO [Crawler.1000.doElementAction] current url = CashOutActivity 2021-10-29 09:48:06 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:48:06 INFO [Crawler.1002.doElementAction] current file name = CashOutActivity.tag=TextView.depth=9.id=tv_cash_out_all.text=全部提现 2021-10-29 09:48:06 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:06 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutActivity.tag=TextView.depth=9.id=tv_cash_out_all.text=全部提现 2021-10-29 09:48:06 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="全部提现" and @resource-id="com.jlpay.merch:id/tv_cash_out_all"] 2021-10-29 09:48:06 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:06 INFO [Crawler.1080.doElementAction] mark 20211027095159/438_CashOutActivity.tag=TextView.depth=9.id=tv_bank_name.text=(7763).clicked.png to 20211027095159/439_CashOutActivity.tag=TextView.depth=9.id=tv_cash_out_all.text=全部提现.click.png 2021-10-29 09:48:06 INFO [AppiumClient.141.mark] read from 20211027095159/438_CashOutActivity.tag=TextView.depth=9.id=tv_bank_name.text=(7763).clicked.png 2021-10-29 09:48:06 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:48:06 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:48:06 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:48:06 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:06 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="全部提现" and @resource-id="com.jlpay.merch:id/tv_cash_out_all"]] 2021-10-29 09:48:06 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:06 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:06 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:06 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:06 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:06 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:07 INFO [Crawler.649.parsePageContext] url=CashOutActivity 2021-10-29 09:48:07 INFO [Crawler.673.parsePageContext] currentContentHash=9f2588d56c561fbf83376296994bfab7 lastContentHash=ee022237e55a3b4070df6cff5eb3abac 2021-10-29 09:48:07 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:07 INFO [Crawler.931.saveDom] save to 20211027095159/439_CashOutActivity.tag=TextView.depth=9.id=tv_cash_out_all.text=全部提现.dom 2021-10-29 09:48:07 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:07 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:07 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:48:07 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:48:07 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:48:07 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:48:07 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:48:07 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:07 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:07 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CashOutActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:48:07 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 440 2021-10-29 09:48:07 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:07 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:07 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:07 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:48:07 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:48:07 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:48:07 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:48:07 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:48:07 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:48:07 INFO [Crawler.843.crawl] found CashOutActivity.tag=EditText.depth=10.id=edt_cash_out.text=0.00 by first available element 2021-10-29 09:48:07 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:07 INFO [Crawler.996.doElementAction] current element = CashOutActivity.tag=EditText.depth=10.id=edt_cash_out.text=0.00 2021-10-29 09:48:07 INFO [Crawler.997.doElementAction] current index = 440 2021-10-29 09:48:07 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:07 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_cash_out"]//*[@text="0.00" and @resource-id="com.jlpay.merch:id/edt_cash_out"] 2021-10-29 09:48:07 INFO [Crawler.1000.doElementAction] current url = CashOutActivity 2021-10-29 09:48:07 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.EditText 2021-10-29 09:48:07 INFO [Crawler.1002.doElementAction] current file name = CashOutActivity.tag=EditText.depth=10.id=edt_cash_out.text=0.00 2021-10-29 09:48:07 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:07 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutActivity.tag=EditText.depth=10.id=edt_cash_out.text=0.00 2021-10-29 09:48:07 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_cash_out"]//*[@text="0.00" and @resource-id="com.jlpay.merch:id/edt_cash_out"] 2021-10-29 09:48:07 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:07 INFO [Crawler.1080.doElementAction] mark 20211027095159/439_CashOutActivity.tag=TextView.depth=9.id=tv_cash_out_all.text=全部提现.clicked.png to 20211027095159/440_CashOutActivity.tag=EditText.depth=10.id=edt_cash_out.text=0.00.click.png 2021-10-29 09:48:07 INFO [AppiumClient.141.mark] read from 20211027095159/439_CashOutActivity.tag=TextView.depth=9.id=tv_cash_out_all.text=全部提现.clicked.png 2021-10-29 09:48:07 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:48:07 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:48:07 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:48:07 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:07 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_cash_out"]//*[@text="0.00" and @resource-id="com.jlpay.merch:id/edt_cash_out"]] 2021-10-29 09:48:09 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:09 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:09 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:09 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:09 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:09 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:10 INFO [Crawler.649.parsePageContext] url=CashOutActivity 2021-10-29 09:48:10 INFO [Crawler.673.parsePageContext] currentContentHash=9f2588d56c561fbf83376296994bfab7 lastContentHash=9f2588d56c561fbf83376296994bfab7 2021-10-29 09:48:10 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:48:10 INFO [Crawler.931.saveDom] save to 20211027095159/440_CashOutActivity.tag=EditText.depth=10.id=edt_cash_out.text=0.00.dom 2021-10-29 09:48:10 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:10 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:10 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:48:10 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:48:10 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:48:10 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:48:10 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:48:10 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:10 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:10 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CashOutActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.EditText]=2 2021-10-29 09:48:10 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 441 2021-10-29 09:48:10 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:10 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:10 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:10 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:48:10 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:48:10 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:48:10 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:48:10 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:48:10 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:48:10 INFO [Crawler.843.crawl] found CashOutActivity.tag=TextView.depth=8.id=tv_submit.text=提现 by first available element 2021-10-29 09:48:10 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:10 INFO [Crawler.996.doElementAction] current element = CashOutActivity.tag=TextView.depth=8.id=tv_submit.text=提现 2021-10-29 09:48:10 INFO [Crawler.997.doElementAction] current index = 441 2021-10-29 09:48:10 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:10 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提现" and @resource-id="com.jlpay.merch:id/tv_submit"] 2021-10-29 09:48:10 INFO [Crawler.1000.doElementAction] current url = CashOutActivity 2021-10-29 09:48:10 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:48:10 INFO [Crawler.1002.doElementAction] current file name = CashOutActivity.tag=TextView.depth=8.id=tv_submit.text=提现 2021-10-29 09:48:10 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:10 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutActivity.tag=TextView.depth=8.id=tv_submit.text=提现 2021-10-29 09:48:10 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提现" and @resource-id="com.jlpay.merch:id/tv_submit"] 2021-10-29 09:48:10 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:10 INFO [Crawler.1080.doElementAction] mark 20211027095159/440_CashOutActivity.tag=EditText.depth=10.id=edt_cash_out.text=0.00.clicked.png to 20211027095159/441_CashOutActivity.tag=TextView.depth=8.id=tv_submit.text=提现.click.png 2021-10-29 09:48:10 INFO [AppiumClient.141.mark] read from 20211027095159/440_CashOutActivity.tag=EditText.depth=10.id=edt_cash_out.text=0.00.clicked.png 2021-10-29 09:48:10 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:48:10 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:48:10 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:48:10 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:10 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="提现" and @resource-id="com.jlpay.merch:id/tv_submit"]] 2021-10-29 09:48:10 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:10 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:11 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:11 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:11 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:11 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:11 INFO [Crawler.649.parsePageContext] url=CashOutActivity 2021-10-29 09:48:11 INFO [Crawler.673.parsePageContext] currentContentHash=9f2588d56c561fbf83376296994bfab7 lastContentHash=9f2588d56c561fbf83376296994bfab7 2021-10-29 09:48:11 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:48:11 INFO [Crawler.931.saveDom] save to 20211027095159/441_CashOutActivity.tag=TextView.depth=8.id=tv_submit.text=提现.dom 2021-10-29 09:48:11 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:11 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:11 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:48:11 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:48:11 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:48:11 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:48:11 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:48:11 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:11 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:11 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CashOutActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:48:11 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 442 2021-10-29 09:48:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:11 INFO [Crawler.425.needReturn] urlStack=Stack(CashOutActivity, AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 6 2021-10-29 09:48:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 6 2021-10-29 09:48:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 6 2021-10-29 09:48:11 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:48:11 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:48:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:48:11 INFO [Crawler.851.crawl] CashOutActivity all elements had be clicked 2021-10-29 09:48:11 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:48:11 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:48:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:11 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:48:11 INFO [Crawler.996.doElementAction] current element = CashOutActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:48:11 INFO [Crawler.997.doElementAction] current index = 442 2021-10-29 09:48:11 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:11 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:48:11 INFO [Crawler.1000.doElementAction] current url = CashOutActivity 2021-10-29 09:48:11 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:48:11 INFO [Crawler.1002.doElementAction] current file name = CashOutActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:48:11 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:11 INFO [AppiumClient.53.findElementByURI] find by uri element= CashOutActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:48:11 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:48:11 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:12 INFO [Crawler.1080.doElementAction] mark 20211027095159/441_CashOutActivity.tag=TextView.depth=8.id=tv_submit.text=提现.clicked.png to 20211027095159/442_CashOutActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:48:12 INFO [AppiumClient.141.mark] read from 20211027095159/441_CashOutActivity.tag=TextView.depth=8.id=tv_submit.text=提现.clicked.png 2021-10-29 09:48:12 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:48:12 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:48:12 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:48:12 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:12 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:48:12 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:12 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:12 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:12 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:13 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:13 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:13 INFO [Crawler.649.parsePageContext] url=AccountBalanceActivity 2021-10-29 09:48:13 INFO [Crawler.673.parsePageContext] currentContentHash=797f0711710ce12f73c19df37a96941f lastContentHash=9f2588d56c561fbf83376296994bfab7 2021-10-29 09:48:13 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:13 INFO [Crawler.931.saveDom] save to 20211027095159/442_CashOutActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:48:13 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:13 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:14 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:14 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:14 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:14 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 443 2021-10-29 09:48:14 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:14 INFO [Crawler.425.needReturn] urlStack=Stack(AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:14 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:14 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:48:14 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:48:14 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:48:14 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:48:14 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:48:14 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:48:14 INFO [Crawler.851.crawl] AccountBalanceActivity all elements had be clicked 2021-10-29 09:48:14 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:48:14 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:48:14 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:14 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:48:14 INFO [Crawler.996.doElementAction] current element = AccountBalanceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:48:14 INFO [Crawler.997.doElementAction] current index = 443 2021-10-29 09:48:14 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:14 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:48:14 INFO [Crawler.1000.doElementAction] current url = AccountBalanceActivity 2021-10-29 09:48:14 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:48:14 INFO [Crawler.1002.doElementAction] current file name = AccountBalanceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:48:14 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:14 INFO [AppiumClient.53.findElementByURI] find by uri element= AccountBalanceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:48:14 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:48:14 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:14 INFO [Crawler.1080.doElementAction] mark 20211027095159/442_CashOutActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/443_AccountBalanceActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:48:14 INFO [AppiumClient.141.mark] read from 20211027095159/442_CashOutActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:48:14 INFO [AppiumClient.154.mark] write png 20211027095159/442_CashOutActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:48:14 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/443_AccountBalanceActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:48:14 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:14 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:48:14 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:14 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:15 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:15 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:15 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:15 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:15 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:48:15 INFO [Crawler.673.parsePageContext] currentContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 lastContentHash=797f0711710ce12f73c19df37a96941f 2021-10-29 09:48:15 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:15 INFO [Crawler.931.saveDom] save to 20211027095159/443_AccountBalanceActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:48:15 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:15 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:16 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:16 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:16 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:16 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 444 2021-10-29 09:48:16 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:16 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:16 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:16 INFO [Crawler.487.getAvailableElement] selected nodes size = 24 2021-10-29 09:48:16 INFO [Crawler.499.getAvailableElement] all - black elements size = 24 2021-10-29 09:48:16 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 24 2021-10-29 09:48:16 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:48:16 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:48:16 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:48:16 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=14.id=tv_balance.text=0.00元 by first available element 2021-10-29 09:48:16 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:16 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=14.id=tv_balance.text=0.00元 2021-10-29 09:48:16 INFO [Crawler.997.doElementAction] current index = 444 2021-10-29 09:48:16 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:16 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_account_balance"]//*[@text="0.00元" and @resource-id="com.jlpay.merch:id/tv_balance"] 2021-10-29 09:48:16 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:48:16 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:48:16 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=14.id=tv_balance.text=0.00元 2021-10-29 09:48:16 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:16 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=14.id=tv_balance.text=0.00元 2021-10-29 09:48:16 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_account_balance"]//*[@text="0.00元" and @resource-id="com.jlpay.merch:id/tv_balance"] 2021-10-29 09:48:16 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:16 INFO [Crawler.1080.doElementAction] mark 20211027095159/443_AccountBalanceActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/444_MainActivity.tag=TextView.depth=14.id=tv_balance.text=0.00元.click.png 2021-10-29 09:48:16 INFO [AppiumClient.141.mark] read from 20211027095159/443_AccountBalanceActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:48:16 INFO [AppiumClient.154.mark] write png 20211027095159/443_AccountBalanceActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:48:16 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/444_MainActivity.tag=TextView.depth=14.id=tv_balance.text=0.00元.click.png 2021-10-29 09:48:17 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:17 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_account_balance"]//*[@text="0.00元" and @resource-id="com.jlpay.merch:id/tv_balance"]] 2021-10-29 09:48:17 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:17 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:17 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:17 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:17 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:17 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:17 INFO [Crawler.649.parsePageContext] url=AccountBalanceActivity 2021-10-29 09:48:17 INFO [Crawler.673.parsePageContext] currentContentHash=797f0711710ce12f73c19df37a96941f lastContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 2021-10-29 09:48:17 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:17 INFO [Crawler.931.saveDom] save to 20211027095159/444_MainActivity.tag=TextView.depth=14.id=tv_balance.text=0.00元.dom 2021-10-29 09:48:18 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:18 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 445 2021-10-29 09:48:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:18 INFO [Crawler.425.needReturn] urlStack=Stack(AccountBalanceActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 4 2021-10-29 09:48:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 4 2021-10-29 09:48:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 4 2021-10-29 09:48:18 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:48:18 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:48:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:48:18 INFO [Crawler.851.crawl] AccountBalanceActivity all elements had be clicked 2021-10-29 09:48:18 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:48:18 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:48:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:18 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:48:18 INFO [Crawler.996.doElementAction] current element = AccountBalanceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:48:18 INFO [Crawler.997.doElementAction] current index = 445 2021-10-29 09:48:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:48:18 INFO [Crawler.1000.doElementAction] current url = AccountBalanceActivity 2021-10-29 09:48:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:48:18 INFO [Crawler.1002.doElementAction] current file name = AccountBalanceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:48:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:18 INFO [AppiumClient.53.findElementByURI] find by uri element= AccountBalanceActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:48:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:48:18 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:18 INFO [Crawler.1080.doElementAction] mark 20211027095159/444_MainActivity.tag=TextView.depth=14.id=tv_balance.text=0.00元.clicked.png to 20211027095159/445_AccountBalanceActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:48:18 INFO [AppiumClient.141.mark] read from 20211027095159/444_MainActivity.tag=TextView.depth=14.id=tv_balance.text=0.00元.clicked.png 2021-10-29 09:48:18 INFO [AppiumClient.154.mark] write png 20211027095159/444_MainActivity.tag=TextView.depth=14.id=tv_balance.text=0.00元.clicked.png 2021-10-29 09:48:18 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/445_AccountBalanceActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:48:18 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:18 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:48:18 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:18 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:19 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:19 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:20 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:48:20 INFO [Crawler.673.parsePageContext] currentContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 lastContentHash=797f0711710ce12f73c19df37a96941f 2021-10-29 09:48:20 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:20 INFO [Crawler.931.saveDom] save to 20211027095159/445_AccountBalanceActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:48:20 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:20 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:20 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:20 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:20 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:20 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 446 2021-10-29 09:48:20 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:20 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:20 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:20 INFO [Crawler.487.getAvailableElement] selected nodes size = 24 2021-10-29 09:48:20 INFO [Crawler.499.getAvailableElement] all - black elements size = 24 2021-10-29 09:48:20 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 24 2021-10-29 09:48:20 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:48:20 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:48:20 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:48:20 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=14.id=tv_business_loan.text=生意贷 by first available element 2021-10-29 09:48:20 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:20 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=14.id=tv_business_loan.text=生意贷 2021-10-29 09:48:20 INFO [Crawler.997.doElementAction] current index = 446 2021-10-29 09:48:20 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:20 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_business_loan"]//*[@text="生意贷" and @resource-id="com.jlpay.merch:id/tv_business_loan"] 2021-10-29 09:48:20 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:48:20 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.TextView 2021-10-29 09:48:20 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=14.id=tv_business_loan.text=生意贷 2021-10-29 09:48:20 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:20 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=14.id=tv_business_loan.text=生意贷 2021-10-29 09:48:20 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_business_loan"]//*[@text="生意贷" and @resource-id="com.jlpay.merch:id/tv_business_loan"] 2021-10-29 09:48:20 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:20 INFO [Crawler.1080.doElementAction] mark 20211027095159/445_AccountBalanceActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/446_MainActivity.tag=TextView.depth=14.id=tv_business_loan.text=生意贷.click.png 2021-10-29 09:48:20 INFO [AppiumClient.141.mark] read from 20211027095159/445_AccountBalanceActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:48:21 INFO [AppiumClient.154.mark] write png 20211027095159/445_AccountBalanceActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:48:21 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/446_MainActivity.tag=TextView.depth=14.id=tv_business_loan.text=生意贷.click.png 2021-10-29 09:48:21 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:21 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_business_loan"]//*[@text="生意贷" and @resource-id="com.jlpay.merch:id/tv_business_loan"]] 2021-10-29 09:48:21 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:21 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:21 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:21 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:22 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:22 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:22 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:48:22 INFO [Crawler.673.parsePageContext] currentContentHash=41504d5d4bb31b254d33adc5866d48ec lastContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 2021-10-29 09:48:22 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:22 INFO [Crawler.931.saveDom] save to 20211027095159/446_MainActivity.tag=TextView.depth=14.id=tv_business_loan.text=生意贷.dom 2021-10-29 09:48:22 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:22 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:22 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:22 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:22 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:22 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 447 2021-10-29 09:48:22 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:22 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:22 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:22 INFO [Crawler.487.getAvailableElement] selected nodes size = 1 2021-10-29 09:48:22 INFO [Crawler.499.getAvailableElement] all - black elements size = 1 2021-10-29 09:48:22 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 1 2021-10-29 09:48:22 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:48:22 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:48:22 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:48:22 INFO [Crawler.851.crawl] WebviewActivity all elements had be clicked 2021-10-29 09:48:22 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:48:22 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:48:22 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:48:22 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:48:22 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:48:22 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=Back.id=Back 2021-10-29 09:48:22 INFO [Crawler.997.doElementAction] current index = 447 2021-10-29 09:48:22 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:48:22 INFO [Crawler.999.doElementAction] current xpath = Back-447 2021-10-29 09:48:22 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:48:22 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:48:22 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=Back.id=Back 2021-10-29 09:48:22 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:48:22 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:48:23 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:48:23 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:24 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:24 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:24 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:24 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:24 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:48:24 INFO [Crawler.673.parsePageContext] currentContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 lastContentHash=41504d5d4bb31b254d33adc5866d48ec 2021-10-29 09:48:24 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:24 INFO [Crawler.931.saveDom] save to 20211027095159/447_WebviewActivity.tag=Back.id=Back.dom 2021-10-29 09:48:24 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:24 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:25 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:25 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:48:25 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:25 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 448 2021-10-29 09:48:25 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:25 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:25 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:25 INFO [Crawler.487.getAvailableElement] selected nodes size = 24 2021-10-29 09:48:25 INFO [Crawler.499.getAvailableElement] all - black elements size = 24 2021-10-29 09:48:25 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 24 2021-10-29 09:48:25 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:48:25 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:48:25 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:48:25 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=14.id=tv_msg_count.text=New by first available element 2021-10-29 09:48:25 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:25 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=14.id=tv_msg_count.text=New 2021-10-29 09:48:25 INFO [Crawler.997.doElementAction] current index = 448 2021-10-29 09:48:25 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:25 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_business_loan"]//*[@text="New" and @resource-id="com.jlpay.merch:id/tv_msg_count"] 2021-10-29 09:48:25 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:48:25 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.TextView 2021-10-29 09:48:25 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=14.id=tv_msg_count.text=New 2021-10-29 09:48:25 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:25 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=14.id=tv_msg_count.text=New 2021-10-29 09:48:25 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_business_loan"]//*[@text="New" and @resource-id="com.jlpay.merch:id/tv_msg_count"] 2021-10-29 09:48:25 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:25 INFO [Crawler.1080.doElementAction] mark 20211027095159/447_WebviewActivity.tag=Back.id=Back.clicked.png to 20211027095159/448_MainActivity.tag=TextView.depth=14.id=tv_msg_count.text=New.click.png 2021-10-29 09:48:25 INFO [AppiumClient.141.mark] read from 20211027095159/447_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:48:25 INFO [AppiumClient.154.mark] write png 20211027095159/447_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:48:25 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/448_MainActivity.tag=TextView.depth=14.id=tv_msg_count.text=New.click.png 2021-10-29 09:48:25 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:25 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_business_loan"]//*[@text="New" and @resource-id="com.jlpay.merch:id/tv_msg_count"]] 2021-10-29 09:48:25 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:25 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:26 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:26 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:26 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:26 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:26 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:48:26 INFO [Crawler.673.parsePageContext] currentContentHash=d7b9960f6a35bb5ec8f879d1d26536df lastContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 2021-10-29 09:48:26 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:26 INFO [Crawler.931.saveDom] save to 20211027095159/448_MainActivity.tag=TextView.depth=14.id=tv_msg_count.text=New.dom 2021-10-29 09:48:27 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:27 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:27 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:27 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:27 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:27 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 449 2021-10-29 09:48:27 INFO [ReportPlugin.39.afterElementAction] 449-384 > 449/10+20 2021-10-29 09:48:27 INFO [ReportPlugin.40.afterElementAction] generate test report 2021-10-29 09:48:33 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:33 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:33 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:33 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:48:33 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:48:33 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:48:33 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:48:33 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:48:33 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:48:33 INFO [Crawler.843.crawl] found WebviewActivity.tag=Button.depth=13.text=立即申请 by first available element 2021-10-29 09:48:33 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:33 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=Button.depth=13.text=立即申请 2021-10-29 09:48:33 INFO [Crawler.997.doElementAction] current index = 449 2021-10-29 09:48:33 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:33 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="生意贷"]//*[@resource-id="app"]//*[@text="立即申请"] 2021-10-29 09:48:33 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:48:33 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.widget.Button 2021-10-29 09:48:33 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=Button.depth=13.text=立即申请 2021-10-29 09:48:33 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:33 INFO [AppiumClient.53.findElementByURI] find by uri element= WebviewActivity.tag=Button.depth=13.text=立即申请 2021-10-29 09:48:33 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="生意贷"]//*[@resource-id="app"]//*[@text="立即申请"] 2021-10-29 09:48:33 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:33 INFO [Crawler.1080.doElementAction] mark 20211027095159/448_MainActivity.tag=TextView.depth=14.id=tv_msg_count.text=New.clicked.png to 20211027095159/449_WebviewActivity.tag=Button.depth=13.text=立即申请.click.png 2021-10-29 09:48:33 INFO [AppiumClient.141.mark] read from 20211027095159/448_MainActivity.tag=TextView.depth=14.id=tv_msg_count.text=New.clicked.png 2021-10-29 09:48:33 INFO [AppiumClient.154.mark] write png 20211027095159/448_MainActivity.tag=TextView.depth=14.id=tv_msg_count.text=New.clicked.png 2021-10-29 09:48:33 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/449_WebviewActivity.tag=Button.depth=13.text=立即申请.click.png 2021-10-29 09:48:34 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:34 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="生意贷"]//*[@resource-id="app"]//*[@text="立即申请"]] 2021-10-29 09:48:34 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:34 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:34 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:34 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:35 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:35 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:35 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:48:35 INFO [Crawler.673.parsePageContext] currentContentHash=1a576e73ae66ce0083769ac32e1921b7 lastContentHash=d7b9960f6a35bb5ec8f879d1d26536df 2021-10-29 09:48:35 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:35 INFO [Crawler.931.saveDom] save to 20211027095159/449_WebviewActivity.tag=Button.depth=13.text=立即申请.dom 2021-10-29 09:48:36 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:36 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:36 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:36 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:36 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:36 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[WebviewActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.widget.Button]=3 2021-10-29 09:48:36 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 450 2021-10-29 09:48:36 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:36 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:36 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:36 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:48:36 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:48:36 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:48:36 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:48:36 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:48:36 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:48:36 INFO [Crawler.851.crawl] WebviewActivity all elements had be clicked 2021-10-29 09:48:36 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:48:36 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:48:36 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:48:36 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:48:36 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:48:36 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=Back.id=Back 2021-10-29 09:48:36 INFO [Crawler.997.doElementAction] current index = 450 2021-10-29 09:48:36 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:48:36 INFO [Crawler.999.doElementAction] current xpath = Back-450 2021-10-29 09:48:36 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:48:36 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:48:36 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=Back.id=Back 2021-10-29 09:48:36 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:48:36 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:48:37 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:48:37 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:37 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:37 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:38 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:38 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:38 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:48:38 INFO [Crawler.673.parsePageContext] currentContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 lastContentHash=1a576e73ae66ce0083769ac32e1921b7 2021-10-29 09:48:38 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:38 INFO [Crawler.931.saveDom] save to 20211027095159/450_WebviewActivity.tag=Back.id=Back.dom 2021-10-29 09:48:38 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:38 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:39 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:39 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:48:39 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:39 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 451 2021-10-29 09:48:39 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:39 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:39 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:39 INFO [Crawler.487.getAvailableElement] selected nodes size = 24 2021-10-29 09:48:39 INFO [Crawler.499.getAvailableElement] all - black elements size = 24 2021-10-29 09:48:39 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 24 2021-10-29 09:48:39 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:48:39 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:48:39 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:48:39 INFO [Crawler.843.crawl] found MainActivity.tag=TextView.depth=14.id=tv_view_quota.text=查看我的额度 by first available element 2021-10-29 09:48:39 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:39 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=TextView.depth=14.id=tv_view_quota.text=查看我的额度 2021-10-29 09:48:39 INFO [Crawler.997.doElementAction] current index = 451 2021-10-29 09:48:39 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:39 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_business_loan"]//*[@text="查看我的额度" and @resource-id="com.jlpay.merch:id/tv_view_quota"] 2021-10-29 09:48:39 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:48:39 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.TextView 2021-10-29 09:48:39 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=TextView.depth=14.id=tv_view_quota.text=查看我的额度 2021-10-29 09:48:39 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:39 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=TextView.depth=14.id=tv_view_quota.text=查看我的额度 2021-10-29 09:48:39 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_business_loan"]//*[@text="查看我的额度" and @resource-id="com.jlpay.merch:id/tv_view_quota"] 2021-10-29 09:48:39 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:39 INFO [Crawler.1080.doElementAction] mark 20211027095159/450_WebviewActivity.tag=Back.id=Back.clicked.png to 20211027095159/451_MainActivity.tag=TextView.depth=14.id=tv_view_quota.text=查看我的额度.click.png 2021-10-29 09:48:39 INFO [AppiumClient.141.mark] read from 20211027095159/450_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:48:39 INFO [AppiumClient.154.mark] write png 20211027095159/450_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:48:39 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/451_MainActivity.tag=TextView.depth=14.id=tv_view_quota.text=查看我的额度.click.png 2021-10-29 09:48:39 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:39 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/root_overscrollview"]//*[@resource-id="com.jlpay.merch:id/rl_business_loan"]//*[@text="查看我的额度" and @resource-id="com.jlpay.merch:id/tv_view_quota"]] 2021-10-29 09:48:39 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:39 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:40 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:40 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:40 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:40 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:40 INFO [Crawler.649.parsePageContext] url=WebviewActivity 2021-10-29 09:48:40 INFO [Crawler.673.parsePageContext] currentContentHash=d7b9960f6a35bb5ec8f879d1d26536df lastContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 2021-10-29 09:48:40 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:40 INFO [Crawler.931.saveDom] save to 20211027095159/451_MainActivity.tag=TextView.depth=14.id=tv_view_quota.text=查看我的额度.dom 2021-10-29 09:48:40 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:40 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:41 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:41 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:41 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:41 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 452 2021-10-29 09:48:41 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:41 INFO [Crawler.425.needReturn] urlStack=Stack(WebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:41 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:41 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:48:41 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:48:41 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:48:41 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:48:41 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:48:41 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:48:41 INFO [Crawler.851.crawl] WebviewActivity all elements had be clicked 2021-10-29 09:48:41 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:48:41 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:48:41 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:48:41 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:48:41 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:48:41 INFO [Crawler.996.doElementAction] current element = WebviewActivity.tag=Back.id=Back 2021-10-29 09:48:41 INFO [Crawler.997.doElementAction] current index = 452 2021-10-29 09:48:41 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:48:41 INFO [Crawler.999.doElementAction] current xpath = Back-452 2021-10-29 09:48:41 INFO [Crawler.1000.doElementAction] current url = WebviewActivity 2021-10-29 09:48:41 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:48:41 INFO [Crawler.1002.doElementAction] current file name = WebviewActivity.tag=Back.id=Back 2021-10-29 09:48:41 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:48:41 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:48:42 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:48:42 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:42 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:42 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:42 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:42 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:43 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:48:43 INFO [Crawler.673.parsePageContext] currentContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 lastContentHash=d7b9960f6a35bb5ec8f879d1d26536df 2021-10-29 09:48:43 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:43 INFO [Crawler.931.saveDom] save to 20211027095159/452_WebviewActivity.tag=Back.id=Back.dom 2021-10-29 09:48:43 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:43 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:43 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:43 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:48:43 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:43 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 453 2021-10-29 09:48:43 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:43 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:43 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:43 INFO [Crawler.487.getAvailableElement] selected nodes size = 24 2021-10-29 09:48:43 INFO [Crawler.499.getAvailableElement] all - black elements size = 24 2021-10-29 09:48:43 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 24 2021-10-29 09:48:43 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:48:43 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:48:43 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:48:43 INFO [Crawler.843.crawl] found MainActivity.tag=ImageView.depth=12.id=iv_setting by first available element 2021-10-29 09:48:43 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:43 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=ImageView.depth=12.id=iv_setting 2021-10-29 09:48:43 INFO [Crawler.997.doElementAction] current index = 453 2021-10-29 09:48:43 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:43 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/iv_setting"] 2021-10-29 09:48:43 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:48:43 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:48:43 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=ImageView.depth=12.id=iv_setting 2021-10-29 09:48:43 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:43 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=ImageView.depth=12.id=iv_setting 2021-10-29 09:48:43 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/iv_setting"] 2021-10-29 09:48:44 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:44 INFO [Crawler.1080.doElementAction] mark 20211027095159/452_WebviewActivity.tag=Back.id=Back.clicked.png to 20211027095159/453_MainActivity.tag=ImageView.depth=12.id=iv_setting.click.png 2021-10-29 09:48:44 INFO [AppiumClient.141.mark] read from 20211027095159/452_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:48:44 INFO [AppiumClient.154.mark] write png 20211027095159/452_WebviewActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:48:44 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/453_MainActivity.tag=ImageView.depth=12.id=iv_setting.click.png 2021-10-29 09:48:44 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:44 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/iv_setting"]] 2021-10-29 09:48:44 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:44 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:44 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:44 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:45 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:45 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:45 INFO [Crawler.649.parsePageContext] url=SettingActivity 2021-10-29 09:48:45 INFO [Crawler.673.parsePageContext] currentContentHash=c0a2e8e90debf9738266b6a4588d9b5e lastContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 2021-10-29 09:48:45 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:45 INFO [Crawler.931.saveDom] save to 20211027095159/453_MainActivity.tag=ImageView.depth=12.id=iv_setting.dom 2021-10-29 09:48:45 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:45 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:46 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:46 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:46 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:46 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 454 2021-10-29 09:48:46 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:46 INFO [Crawler.425.needReturn] urlStack=Stack(SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:46 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:46 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:48:46 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:48:46 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:48:46 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:48:46 INFO [Crawler.598.getAvailableElement] all - clicked size=8 2021-10-29 09:48:46 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:48:46 INFO [Crawler.843.crawl] found SettingActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:48:46 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:46 INFO [Crawler.996.doElementAction] current element = SettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:48:46 INFO [Crawler.997.doElementAction] current index = 454 2021-10-29 09:48:46 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:46 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:48:46 INFO [Crawler.1000.doElementAction] current url = SettingActivity 2021-10-29 09:48:46 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:48:46 INFO [Crawler.1002.doElementAction] current file name = SettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:48:46 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:46 INFO [AppiumClient.53.findElementByURI] find by uri element= SettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:48:46 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:48:46 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:46 INFO [Crawler.1080.doElementAction] mark 20211027095159/453_MainActivity.tag=ImageView.depth=12.id=iv_setting.clicked.png to 20211027095159/454_SettingActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:48:46 INFO [AppiumClient.141.mark] read from 20211027095159/453_MainActivity.tag=ImageView.depth=12.id=iv_setting.clicked.png 2021-10-29 09:48:46 INFO [AppiumClient.154.mark] write png 20211027095159/453_MainActivity.tag=ImageView.depth=12.id=iv_setting.clicked.png 2021-10-29 09:48:46 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/454_SettingActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:48:46 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:46 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:48:46 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:46 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:46 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:46 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:47 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:47 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:47 INFO [Crawler.649.parsePageContext] url=SettingActivity 2021-10-29 09:48:47 INFO [Crawler.673.parsePageContext] currentContentHash=c0a2e8e90debf9738266b6a4588d9b5e lastContentHash=c0a2e8e90debf9738266b6a4588d9b5e 2021-10-29 09:48:47 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:48:47 INFO [Crawler.931.saveDom] save to 20211027095159/454_SettingActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:48:47 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:47 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:47 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:47 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:47 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:47 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SettingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:48:47 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 455 2021-10-29 09:48:47 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:47 INFO [Crawler.425.needReturn] urlStack=Stack(SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:47 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:47 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:48:47 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:48:47 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:48:47 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:48:47 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:48:47 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:48:47 INFO [Crawler.843.crawl] found SettingActivity.tag=TextView.depth=9.id=tv_postscript_example.text=附言示例 by first available element 2021-10-29 09:48:47 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:47 INFO [Crawler.996.doElementAction] current element = SettingActivity.tag=TextView.depth=9.id=tv_postscript_example.text=附言示例 2021-10-29 09:48:47 INFO [Crawler.997.doElementAction] current index = 455 2021-10-29 09:48:47 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:47 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_custom_postscript_tip"]//*[@text="附言示例" and @resource-id="com.jlpay.merch:id/tv_postscript_example"] 2021-10-29 09:48:47 INFO [Crawler.1000.doElementAction] current url = SettingActivity 2021-10-29 09:48:47 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:48:47 INFO [Crawler.1002.doElementAction] current file name = SettingActivity.tag=TextView.depth=9.id=tv_postscript_example.text=附言示例 2021-10-29 09:48:47 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:47 INFO [AppiumClient.53.findElementByURI] find by uri element= SettingActivity.tag=TextView.depth=9.id=tv_postscript_example.text=附言示例 2021-10-29 09:48:47 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_custom_postscript_tip"]//*[@text="附言示例" and @resource-id="com.jlpay.merch:id/tv_postscript_example"] 2021-10-29 09:48:47 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:48 INFO [Crawler.1080.doElementAction] mark 20211027095159/454_SettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/455_SettingActivity.tag=TextView.depth=9.id=tv_postscript_example.text=附言示例.click.png 2021-10-29 09:48:48 INFO [AppiumClient.141.mark] read from 20211027095159/454_SettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:48:48 INFO [AppiumClient.154.mark] write png 20211027095159/454_SettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:48:48 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/455_SettingActivity.tag=TextView.depth=9.id=tv_postscript_example.text=附言示例.click.png 2021-10-29 09:48:48 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:48 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_custom_postscript_tip"]//*[@text="附言示例" and @resource-id="com.jlpay.merch:id/tv_postscript_example"]] 2021-10-29 09:48:48 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:48 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:48 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:48 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:48 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:48 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:48 INFO [Crawler.649.parsePageContext] url=ViewPostscriptActivity 2021-10-29 09:48:48 INFO [Crawler.673.parsePageContext] currentContentHash=ddfab0bb0476dd83101bcfd16324d133 lastContentHash=c0a2e8e90debf9738266b6a4588d9b5e 2021-10-29 09:48:48 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:48 INFO [Crawler.931.saveDom] save to 20211027095159/455_SettingActivity.tag=TextView.depth=9.id=tv_postscript_example.text=附言示例.dom 2021-10-29 09:48:49 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:49 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:49 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:49 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:49 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:49 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 456 2021-10-29 09:48:49 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:49 INFO [Crawler.425.needReturn] urlStack=Stack(ViewPostscriptActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:49 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:49 INFO [Crawler.487.getAvailableElement] selected nodes size = 0 2021-10-29 09:48:49 INFO [Crawler.499.getAvailableElement] all - black elements size = 0 2021-10-29 09:48:49 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 0 2021-10-29 09:48:49 INFO [Crawler.590.getAvailableElement] all - backButton size=0 2021-10-29 09:48:49 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:48:49 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:48:49 INFO [Crawler.851.crawl] ViewPostscriptActivity all elements had be clicked 2021-10-29 09:48:49 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:48:49 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:48:49 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:48:49 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:48:49 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:48:49 INFO [Crawler.996.doElementAction] current element = ViewPostscriptActivity.tag=Back.id=Back 2021-10-29 09:48:49 INFO [Crawler.997.doElementAction] current index = 456 2021-10-29 09:48:49 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:48:49 INFO [Crawler.999.doElementAction] current xpath = Back-456 2021-10-29 09:48:49 INFO [Crawler.1000.doElementAction] current url = ViewPostscriptActivity 2021-10-29 09:48:49 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:48:49 INFO [Crawler.1002.doElementAction] current file name = ViewPostscriptActivity.tag=Back.id=Back 2021-10-29 09:48:49 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:48:49 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:48:50 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:48:50 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:51 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:51 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:51 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:51 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:51 INFO [Crawler.649.parsePageContext] url=SettingActivity 2021-10-29 09:48:51 INFO [Crawler.673.parsePageContext] currentContentHash=c0a2e8e90debf9738266b6a4588d9b5e lastContentHash=ddfab0bb0476dd83101bcfd16324d133 2021-10-29 09:48:51 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:51 INFO [Crawler.931.saveDom] save to 20211027095159/456_ViewPostscriptActivity.tag=Back.id=Back.dom 2021-10-29 09:48:51 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:51 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:52 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:52 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:48:52 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:52 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 457 2021-10-29 09:48:52 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:52 INFO [Crawler.425.needReturn] urlStack=Stack(SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:52 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:52 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:48:52 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:48:52 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:48:52 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:48:52 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:48:52 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:48:52 INFO [Crawler.843.crawl] found SettingActivity.tag=TextView.depth=9.text=安全设置 by first available element 2021-10-29 09:48:52 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:52 INFO [Crawler.996.doElementAction] current element = SettingActivity.tag=TextView.depth=9.text=安全设置 2021-10-29 09:48:52 INFO [Crawler.997.doElementAction] current index = 457 2021-10-29 09:48:52 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:52 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_safe_setting"]//*[@text="安全设置"] 2021-10-29 09:48:52 INFO [Crawler.1000.doElementAction] current url = SettingActivity 2021-10-29 09:48:52 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:48:52 INFO [Crawler.1002.doElementAction] current file name = SettingActivity.tag=TextView.depth=9.text=安全设置 2021-10-29 09:48:52 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:52 INFO [AppiumClient.53.findElementByURI] find by uri element= SettingActivity.tag=TextView.depth=9.text=安全设置 2021-10-29 09:48:52 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_safe_setting"]//*[@text="安全设置"] 2021-10-29 09:48:52 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:52 INFO [Crawler.1080.doElementAction] mark 20211027095159/456_ViewPostscriptActivity.tag=Back.id=Back.clicked.png to 20211027095159/457_SettingActivity.tag=TextView.depth=9.text=安全设置.click.png 2021-10-29 09:48:52 INFO [AppiumClient.141.mark] read from 20211027095159/456_ViewPostscriptActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:48:52 INFO [AppiumClient.154.mark] write png 20211027095159/456_ViewPostscriptActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:48:52 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/457_SettingActivity.tag=TextView.depth=9.text=安全设置.click.png 2021-10-29 09:48:52 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:52 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_safe_setting"]//*[@text="安全设置"]] 2021-10-29 09:48:52 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:52 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:53 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:53 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:53 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:53 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:53 INFO [Crawler.649.parsePageContext] url=SafetySettingActivity 2021-10-29 09:48:53 INFO [Crawler.673.parsePageContext] currentContentHash=3e233356a7eb35beb47054c4d1c1ece9 lastContentHash=c0a2e8e90debf9738266b6a4588d9b5e 2021-10-29 09:48:53 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:53 INFO [Crawler.931.saveDom] save to 20211027095159/457_SettingActivity.tag=TextView.depth=9.text=安全设置.dom 2021-10-29 09:48:53 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:53 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:54 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:54 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:54 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:54 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 458 2021-10-29 09:48:54 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:54 INFO [Crawler.425.needReturn] urlStack=Stack(SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:54 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:54 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:48:54 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:48:54 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:48:54 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:48:54 INFO [Crawler.598.getAvailableElement] all - clicked size=9 2021-10-29 09:48:54 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=9 2021-10-29 09:48:54 INFO [Crawler.843.crawl] found SafetySettingActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:48:54 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:54 INFO [Crawler.996.doElementAction] current element = SafetySettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:48:54 INFO [Crawler.997.doElementAction] current index = 458 2021-10-29 09:48:54 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:54 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:48:54 INFO [Crawler.1000.doElementAction] current url = SafetySettingActivity 2021-10-29 09:48:54 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:48:54 INFO [Crawler.1002.doElementAction] current file name = SafetySettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:48:54 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:54 INFO [AppiumClient.53.findElementByURI] find by uri element= SafetySettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:48:54 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:48:54 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:54 INFO [Crawler.1080.doElementAction] mark 20211027095159/457_SettingActivity.tag=TextView.depth=9.text=安全设置.clicked.png to 20211027095159/458_SafetySettingActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:48:54 INFO [AppiumClient.141.mark] read from 20211027095159/457_SettingActivity.tag=TextView.depth=9.text=安全设置.clicked.png 2021-10-29 09:48:54 INFO [AppiumClient.154.mark] write png 20211027095159/457_SettingActivity.tag=TextView.depth=9.text=安全设置.clicked.png 2021-10-29 09:48:54 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/458_SafetySettingActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:48:54 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:54 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:48:54 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:54 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:55 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:55 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:55 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:55 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:55 INFO [Crawler.649.parsePageContext] url=SafetySettingActivity 2021-10-29 09:48:55 INFO [Crawler.673.parsePageContext] currentContentHash=3e233356a7eb35beb47054c4d1c1ece9 lastContentHash=3e233356a7eb35beb47054c4d1c1ece9 2021-10-29 09:48:55 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:48:55 INFO [Crawler.931.saveDom] save to 20211027095159/458_SafetySettingActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:48:55 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:55 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:56 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:56 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:56 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:56 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SafetySettingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:48:56 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 459 2021-10-29 09:48:56 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:56 INFO [Crawler.425.needReturn] urlStack=Stack(SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:56 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:56 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:48:56 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:48:56 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:48:56 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:48:56 INFO [Crawler.598.getAvailableElement] all - clicked size=8 2021-10-29 09:48:56 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=8 2021-10-29 09:48:56 INFO [Crawler.843.crawl] found SafetySettingActivity.tag=TextView.depth=9.text=修改绑定手机号 by first available element 2021-10-29 09:48:56 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:56 INFO [Crawler.996.doElementAction] current element = SafetySettingActivity.tag=TextView.depth=9.text=修改绑定手机号 2021-10-29 09:48:56 INFO [Crawler.997.doElementAction] current index = 459 2021-10-29 09:48:56 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:56 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_phone"]//*[@text="修改绑定手机号"] 2021-10-29 09:48:56 INFO [Crawler.1000.doElementAction] current url = SafetySettingActivity 2021-10-29 09:48:56 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:48:56 INFO [Crawler.1002.doElementAction] current file name = SafetySettingActivity.tag=TextView.depth=9.text=修改绑定手机号 2021-10-29 09:48:56 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:56 INFO [AppiumClient.53.findElementByURI] find by uri element= SafetySettingActivity.tag=TextView.depth=9.text=修改绑定手机号 2021-10-29 09:48:56 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_phone"]//*[@text="修改绑定手机号"] 2021-10-29 09:48:56 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:56 INFO [Crawler.1080.doElementAction] mark 20211027095159/458_SafetySettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/459_SafetySettingActivity.tag=TextView.depth=9.text=修改绑定手机号.click.png 2021-10-29 09:48:56 INFO [AppiumClient.141.mark] read from 20211027095159/458_SafetySettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:48:56 INFO [AppiumClient.154.mark] write png 20211027095159/458_SafetySettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:48:56 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/459_SafetySettingActivity.tag=TextView.depth=9.text=修改绑定手机号.click.png 2021-10-29 09:48:56 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:56 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_phone"]//*[@text="修改绑定手机号"]] 2021-10-29 09:48:56 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:56 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:57 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:57 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:57 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:57 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:57 INFO [Crawler.649.parsePageContext] url=ModifyPhoneActivity 2021-10-29 09:48:57 INFO [Crawler.673.parsePageContext] currentContentHash=d8d8a73db71f74277456f979fa416f0f lastContentHash=3e233356a7eb35beb47054c4d1c1ece9 2021-10-29 09:48:57 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:48:57 INFO [Crawler.931.saveDom] save to 20211027095159/459_SafetySettingActivity.tag=TextView.depth=9.text=修改绑定手机号.dom 2021-10-29 09:48:57 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:57 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:48:58 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:48:58 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:48:58 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:48:58 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 460 2021-10-29 09:48:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:48:58 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyPhoneActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:48:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:48:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:48:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:48:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:48:58 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:48:58 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:48:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:48:58 INFO [Crawler.843.crawl] found ModifyPhoneActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:48:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:48:58 INFO [Crawler.996.doElementAction] current element = ModifyPhoneActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:48:58 INFO [Crawler.997.doElementAction] current index = 460 2021-10-29 09:48:58 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:48:58 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:48:58 INFO [Crawler.1000.doElementAction] current url = ModifyPhoneActivity 2021-10-29 09:48:58 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:48:58 INFO [Crawler.1002.doElementAction] current file name = ModifyPhoneActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:48:58 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:48:58 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyPhoneActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:48:58 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:48:58 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:48:58 INFO [Crawler.1080.doElementAction] mark 20211027095159/459_SafetySettingActivity.tag=TextView.depth=9.text=修改绑定手机号.clicked.png to 20211027095159/460_ModifyPhoneActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:48:58 INFO [AppiumClient.141.mark] read from 20211027095159/459_SafetySettingActivity.tag=TextView.depth=9.text=修改绑定手机号.clicked.png 2021-10-29 09:48:58 INFO [AppiumClient.154.mark] write png 20211027095159/459_SafetySettingActivity.tag=TextView.depth=9.text=修改绑定手机号.clicked.png 2021-10-29 09:48:58 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/460_ModifyPhoneActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:48:58 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:48:58 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:48:58 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:48:58 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:48:59 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:48:59 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:48:59 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:48:59 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:48:59 INFO [Crawler.649.parsePageContext] url=ModifyPhoneActivity 2021-10-29 09:48:59 INFO [Crawler.673.parsePageContext] currentContentHash=d8d8a73db71f74277456f979fa416f0f lastContentHash=d8d8a73db71f74277456f979fa416f0f 2021-10-29 09:48:59 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:48:59 INFO [Crawler.931.saveDom] save to 20211027095159/460_ModifyPhoneActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:48:59 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:48:59 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:00 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:00 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:00 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:00 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ModifyPhoneActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:49:00 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 461 2021-10-29 09:49:00 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:00 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyPhoneActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:00 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:00 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:00 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:00 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:00 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:00 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:49:00 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:49:00 INFO [Crawler.843.crawl] found ModifyPhoneActivity.tag=EditText.depth=9.id=et_verficate.text=请输入验证码 by first available element 2021-10-29 09:49:00 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:00 INFO [Crawler.996.doElementAction] current element = ModifyPhoneActivity.tag=EditText.depth=9.id=et_verficate.text=请输入验证码 2021-10-29 09:49:00 INFO [Crawler.997.doElementAction] current index = 461 2021-10-29 09:49:00 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:00 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="请输入验证码" and @resource-id="com.jlpay.merch:id/et_verficate"] 2021-10-29 09:49:00 INFO [Crawler.1000.doElementAction] current url = ModifyPhoneActivity 2021-10-29 09:49:00 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:49:00 INFO [Crawler.1002.doElementAction] current file name = ModifyPhoneActivity.tag=EditText.depth=9.id=et_verficate.text=请输入验证码 2021-10-29 09:49:00 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:00 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyPhoneActivity.tag=EditText.depth=9.id=et_verficate.text=请输入验证码 2021-10-29 09:49:00 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="请输入验证码" and @resource-id="com.jlpay.merch:id/et_verficate"] 2021-10-29 09:49:00 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:00 INFO [Crawler.1080.doElementAction] mark 20211027095159/460_ModifyPhoneActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/461_ModifyPhoneActivity.tag=EditText.depth=9.id=et_verficate.text=请输入验证码.click.png 2021-10-29 09:49:00 INFO [AppiumClient.141.mark] read from 20211027095159/460_ModifyPhoneActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:49:00 INFO [AppiumClient.154.mark] write png 20211027095159/460_ModifyPhoneActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:49:00 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/461_ModifyPhoneActivity.tag=EditText.depth=9.id=et_verficate.text=请输入验证码.click.png 2021-10-29 09:49:00 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:00 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="请输入验证码" and @resource-id="com.jlpay.merch:id/et_verficate"]] 2021-10-29 09:49:02 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:02 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:02 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:02 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:02 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:02 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:02 INFO [Crawler.649.parsePageContext] url=ModifyPhoneActivity 2021-10-29 09:49:02 INFO [Crawler.673.parsePageContext] currentContentHash=d8d8a73db71f74277456f979fa416f0f lastContentHash=d8d8a73db71f74277456f979fa416f0f 2021-10-29 09:49:02 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:49:02 INFO [Crawler.931.saveDom] save to 20211027095159/461_ModifyPhoneActivity.tag=EditText.depth=9.id=et_verficate.text=请输入验证码.dom 2021-10-29 09:49:03 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:03 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:03 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:03 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:03 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:03 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ModifyPhoneActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:49:03 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 462 2021-10-29 09:49:03 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:03 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyPhoneActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:03 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:03 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:03 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:03 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:03 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:03 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:49:03 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:49:03 INFO [Crawler.843.crawl] found ModifyPhoneActivity.tag=TextView.depth=9.id=tv_get_versioncode.text=获取验证码 by first available element 2021-10-29 09:49:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:03 INFO [Crawler.996.doElementAction] current element = ModifyPhoneActivity.tag=TextView.depth=9.id=tv_get_versioncode.text=获取验证码 2021-10-29 09:49:03 INFO [Crawler.997.doElementAction] current index = 462 2021-10-29 09:49:03 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:03 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="获取验证码" and @resource-id="com.jlpay.merch:id/tv_get_versioncode"] 2021-10-29 09:49:03 INFO [Crawler.1000.doElementAction] current url = ModifyPhoneActivity 2021-10-29 09:49:03 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:49:03 INFO [Crawler.1002.doElementAction] current file name = ModifyPhoneActivity.tag=TextView.depth=9.id=tv_get_versioncode.text=获取验证码 2021-10-29 09:49:03 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:03 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyPhoneActivity.tag=TextView.depth=9.id=tv_get_versioncode.text=获取验证码 2021-10-29 09:49:03 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="获取验证码" and @resource-id="com.jlpay.merch:id/tv_get_versioncode"] 2021-10-29 09:49:03 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:03 INFO [Crawler.1080.doElementAction] mark 20211027095159/461_ModifyPhoneActivity.tag=EditText.depth=9.id=et_verficate.text=请输入验证码.clicked.png to 20211027095159/462_ModifyPhoneActivity.tag=TextView.depth=9.id=tv_get_versioncode.text=获取验证码.click.png 2021-10-29 09:49:03 INFO [AppiumClient.141.mark] read from 20211027095159/461_ModifyPhoneActivity.tag=EditText.depth=9.id=et_verficate.text=请输入验证码.clicked.png 2021-10-29 09:49:03 INFO [AppiumClient.154.mark] write png 20211027095159/461_ModifyPhoneActivity.tag=EditText.depth=9.id=et_verficate.text=请输入验证码.clicked.png 2021-10-29 09:49:03 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/462_ModifyPhoneActivity.tag=TextView.depth=9.id=tv_get_versioncode.text=获取验证码.click.png 2021-10-29 09:49:03 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:03 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="获取验证码" and @resource-id="com.jlpay.merch:id/tv_get_versioncode"]] 2021-10-29 09:49:03 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:03 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:04 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:04 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:06 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:06 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:06 INFO [Crawler.649.parsePageContext] url=ModifyPhoneActivity 2021-10-29 09:49:06 INFO [Crawler.673.parsePageContext] currentContentHash=a899d19e318b45fe28759f81159215c9 lastContentHash=d8d8a73db71f74277456f979fa416f0f 2021-10-29 09:49:06 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:06 INFO [Crawler.931.saveDom] save to 20211027095159/462_ModifyPhoneActivity.tag=TextView.depth=9.id=tv_get_versioncode.text=获取验证码.dom 2021-10-29 09:49:06 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:06 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:07 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:07 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:07 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:07 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ModifyPhoneActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:49:07 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 463 2021-10-29 09:49:07 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:07 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyPhoneActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:07 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:07 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:07 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:07 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:07 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:49:07 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:49:07 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:49:07 INFO [Crawler.843.crawl] found ModifyPhoneActivity.tag=Button.depth=8.id=btn_next.text=下一步 by first available element 2021-10-29 09:49:07 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:07 INFO [Crawler.996.doElementAction] current element = ModifyPhoneActivity.tag=Button.depth=8.id=btn_next.text=下一步 2021-10-29 09:49:07 INFO [Crawler.997.doElementAction] current index = 463 2021-10-29 09:49:07 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:07 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="下一步" and @resource-id="com.jlpay.merch:id/btn_next"] 2021-10-29 09:49:07 INFO [Crawler.1000.doElementAction] current url = ModifyPhoneActivity 2021-10-29 09:49:07 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:49:07 INFO [Crawler.1002.doElementAction] current file name = ModifyPhoneActivity.tag=Button.depth=8.id=btn_next.text=下一步 2021-10-29 09:49:07 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:07 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyPhoneActivity.tag=Button.depth=8.id=btn_next.text=下一步 2021-10-29 09:49:07 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="下一步" and @resource-id="com.jlpay.merch:id/btn_next"] 2021-10-29 09:49:07 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:07 INFO [Crawler.1080.doElementAction] mark 20211027095159/462_ModifyPhoneActivity.tag=TextView.depth=9.id=tv_get_versioncode.text=获取验证码.clicked.png to 20211027095159/463_ModifyPhoneActivity.tag=Button.depth=8.id=btn_next.text=下一步.click.png 2021-10-29 09:49:07 INFO [AppiumClient.141.mark] read from 20211027095159/462_ModifyPhoneActivity.tag=TextView.depth=9.id=tv_get_versioncode.text=获取验证码.clicked.png 2021-10-29 09:49:07 INFO [AppiumClient.154.mark] write png 20211027095159/462_ModifyPhoneActivity.tag=TextView.depth=9.id=tv_get_versioncode.text=获取验证码.clicked.png 2021-10-29 09:49:07 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/463_ModifyPhoneActivity.tag=Button.depth=8.id=btn_next.text=下一步.click.png 2021-10-29 09:49:07 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:07 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="下一步" and @resource-id="com.jlpay.merch:id/btn_next"]] 2021-10-29 09:49:07 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:07 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:08 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:08 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:09 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:09 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:09 INFO [Crawler.649.parsePageContext] url=ModifyPhoneActivity 2021-10-29 09:49:09 INFO [Crawler.673.parsePageContext] currentContentHash=0bf6074a1f69391e136ab77d188c6c9e lastContentHash=a899d19e318b45fe28759f81159215c9 2021-10-29 09:49:09 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:09 INFO [Crawler.931.saveDom] save to 20211027095159/463_ModifyPhoneActivity.tag=Button.depth=8.id=btn_next.text=下一步.dom 2021-10-29 09:49:09 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:09 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:09 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:09 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:09 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:09 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ModifyPhoneActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.Button]=3 2021-10-29 09:49:09 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 464 2021-10-29 09:49:09 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:09 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyPhoneActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:09 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:09 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:09 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:09 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:09 INFO [Crawler.590.getAvailableElement] all - backButton size=3 2021-10-29 09:49:09 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:49:09 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:49:09 INFO [Crawler.851.crawl] ModifyPhoneActivity all elements had be clicked 2021-10-29 09:49:09 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:49:09 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:49:09 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:09 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:49:09 INFO [Crawler.996.doElementAction] current element = ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:49:09 INFO [Crawler.997.doElementAction] current index = 464 2021-10-29 09:49:09 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:09 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:49:09 INFO [Crawler.1000.doElementAction] current url = ModifyPhoneActivity 2021-10-29 09:49:09 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:49:09 INFO [Crawler.1002.doElementAction] current file name = ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:49:09 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:09 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:49:09 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:49:10 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:10 INFO [Crawler.1080.doElementAction] mark 20211027095159/463_ModifyPhoneActivity.tag=Button.depth=8.id=btn_next.text=下一步.clicked.png to 20211027095159/464_ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:49:10 INFO [AppiumClient.141.mark] read from 20211027095159/463_ModifyPhoneActivity.tag=Button.depth=8.id=btn_next.text=下一步.clicked.png 2021-10-29 09:49:10 INFO [AppiumClient.154.mark] write png 20211027095159/463_ModifyPhoneActivity.tag=Button.depth=8.id=btn_next.text=下一步.clicked.png 2021-10-29 09:49:10 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/464_ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:49:10 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:10 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:49:10 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:10 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:10 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:10 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:11 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:11 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:11 INFO [Crawler.649.parsePageContext] url=SafetySettingActivity 2021-10-29 09:49:11 INFO [Crawler.673.parsePageContext] currentContentHash=1ed0d619402ce0653601fbcb337fe6f8 lastContentHash=0bf6074a1f69391e136ab77d188c6c9e 2021-10-29 09:49:11 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:11 INFO [Crawler.931.saveDom] save to 20211027095159/464_ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:49:11 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:11 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:11 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:11 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:11 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:11 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 465 2021-10-29 09:49:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:11 INFO [Crawler.425.needReturn] urlStack=Stack(SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:49:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:49:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:49:11 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:49:11 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:49:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:49:11 INFO [Crawler.843.crawl] found SafetySettingActivity.tag=TextView.depth=9.text=修改登录密码 by first available element 2021-10-29 09:49:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:11 INFO [Crawler.996.doElementAction] current element = SafetySettingActivity.tag=TextView.depth=9.text=修改登录密码 2021-10-29 09:49:11 INFO [Crawler.997.doElementAction] current index = 465 2021-10-29 09:49:11 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:11 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_login"]//*[@text="修改登录密码"] 2021-10-29 09:49:11 INFO [Crawler.1000.doElementAction] current url = SafetySettingActivity 2021-10-29 09:49:11 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:49:11 INFO [Crawler.1002.doElementAction] current file name = SafetySettingActivity.tag=TextView.depth=9.text=修改登录密码 2021-10-29 09:49:11 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:11 INFO [AppiumClient.53.findElementByURI] find by uri element= SafetySettingActivity.tag=TextView.depth=9.text=修改登录密码 2021-10-29 09:49:11 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_login"]//*[@text="修改登录密码"] 2021-10-29 09:49:12 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:12 INFO [Crawler.1080.doElementAction] mark 20211027095159/464_ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/465_SafetySettingActivity.tag=TextView.depth=9.text=修改登录密码.click.png 2021-10-29 09:49:12 INFO [AppiumClient.141.mark] read from 20211027095159/464_ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:49:12 INFO [AppiumClient.154.mark] write png 20211027095159/464_ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:49:12 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/465_SafetySettingActivity.tag=TextView.depth=9.text=修改登录密码.click.png 2021-10-29 09:49:12 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:12 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_login"]//*[@text="修改登录密码"]] 2021-10-29 09:49:12 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:12 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:12 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:12 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:13 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:13 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:13 INFO [Crawler.649.parsePageContext] url=ModifyLoginPwdActivity 2021-10-29 09:49:13 INFO [Crawler.673.parsePageContext] currentContentHash=5969717aaa2b7cdf5b1485acad9c437d lastContentHash=1ed0d619402ce0653601fbcb337fe6f8 2021-10-29 09:49:13 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:13 INFO [Crawler.931.saveDom] save to 20211027095159/465_SafetySettingActivity.tag=TextView.depth=9.text=修改登录密码.dom 2021-10-29 09:49:13 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:13 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:13 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:13 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:13 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:13 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:49:13 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:13 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:13 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:13 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 466 2021-10-29 09:49:13 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:13 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyLoginPwdActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:13 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:13 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:13 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:13 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:13 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:13 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:49:13 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:49:13 INFO [Crawler.843.crawl] found ModifyLoginPwdActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:49:13 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:13 INFO [Crawler.996.doElementAction] current element = ModifyLoginPwdActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:13 INFO [Crawler.997.doElementAction] current index = 466 2021-10-29 09:49:13 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:13 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:49:13 INFO [Crawler.1000.doElementAction] current url = ModifyLoginPwdActivity 2021-10-29 09:49:13 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:49:13 INFO [Crawler.1002.doElementAction] current file name = ModifyLoginPwdActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:13 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:13 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyLoginPwdActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:13 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:49:13 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:13 INFO [Crawler.1080.doElementAction] mark 20211027095159/465_SafetySettingActivity.tag=TextView.depth=9.text=修改登录密码.clicked.png to 20211027095159/466_ModifyLoginPwdActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:49:13 INFO [AppiumClient.141.mark] read from 20211027095159/465_SafetySettingActivity.tag=TextView.depth=9.text=修改登录密码.clicked.png 2021-10-29 09:49:13 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:13 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:49:13 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:13 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:13 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:49:13 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:13 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:14 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:14 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:14 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:14 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:14 INFO [Crawler.649.parsePageContext] url=ModifyLoginPwdActivity 2021-10-29 09:49:14 INFO [Crawler.673.parsePageContext] currentContentHash=5969717aaa2b7cdf5b1485acad9c437d lastContentHash=5969717aaa2b7cdf5b1485acad9c437d 2021-10-29 09:49:14 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:49:14 INFO [Crawler.931.saveDom] save to 20211027095159/466_ModifyLoginPwdActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:49:14 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:14 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:14 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:14 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:14 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:14 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:49:14 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:14 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:14 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:14 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ModifyLoginPwdActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:49:14 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 467 2021-10-29 09:49:14 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:14 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyLoginPwdActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:14 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:14 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:14 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:14 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:14 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:14 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:49:14 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:49:14 INFO [Crawler.843.crawl] found ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_old.text=请输入旧密码 by first available element 2021-10-29 09:49:14 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:14 INFO [Crawler.996.doElementAction] current element = ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_old.text=请输入旧密码 2021-10-29 09:49:14 INFO [Crawler.997.doElementAction] current index = 467 2021-10-29 09:49:14 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:14 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_password"]//*[@text="请输入旧密码" and @resource-id="com.jlpay.merch:id/et_password_old"] 2021-10-29 09:49:14 INFO [Crawler.1000.doElementAction] current url = ModifyLoginPwdActivity 2021-10-29 09:49:14 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:49:14 INFO [Crawler.1002.doElementAction] current file name = ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_old.text=请输入旧密码 2021-10-29 09:49:14 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:14 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_old.text=请输入旧密码 2021-10-29 09:49:14 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_password"]//*[@text="请输入旧密码" and @resource-id="com.jlpay.merch:id/et_password_old"] 2021-10-29 09:49:14 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:14 INFO [Crawler.1080.doElementAction] mark 20211027095159/466_ModifyLoginPwdActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/467_ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_old.text=请输入旧密码.click.png 2021-10-29 09:49:14 INFO [AppiumClient.141.mark] read from 20211027095159/466_ModifyLoginPwdActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:49:14 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:14 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:49:14 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:14 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:14 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_password"]//*[@text="请输入旧密码" and @resource-id="com.jlpay.merch:id/et_password_old"]] 2021-10-29 09:49:15 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:15 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:16 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:16 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:16 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:16 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:16 INFO [Crawler.649.parsePageContext] url=ModifyLoginPwdActivity 2021-10-29 09:49:16 INFO [Crawler.673.parsePageContext] currentContentHash=5969717aaa2b7cdf5b1485acad9c437d lastContentHash=5969717aaa2b7cdf5b1485acad9c437d 2021-10-29 09:49:16 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:49:16 INFO [Crawler.931.saveDom] save to 20211027095159/467_ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_old.text=请输入旧密码.dom 2021-10-29 09:49:16 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:16 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:16 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:16 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:16 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:16 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:49:16 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:16 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:16 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:16 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ModifyLoginPwdActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:49:16 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 468 2021-10-29 09:49:16 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:16 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyLoginPwdActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:16 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:16 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:16 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:16 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:16 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:16 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:49:16 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:49:16 INFO [Crawler.843.crawl] found ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_new.text=请输入新的登录密码 by first available element 2021-10-29 09:49:16 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:16 INFO [Crawler.996.doElementAction] current element = ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_new.text=请输入新的登录密码 2021-10-29 09:49:16 INFO [Crawler.997.doElementAction] current index = 468 2021-10-29 09:49:16 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:16 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_password_new"]//*[@text="请输入新的登录密码" and @resource-id="com.jlpay.merch:id/et_password_new"] 2021-10-29 09:49:16 INFO [Crawler.1000.doElementAction] current url = ModifyLoginPwdActivity 2021-10-29 09:49:16 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:49:16 INFO [Crawler.1002.doElementAction] current file name = ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_new.text=请输入新的登录密码 2021-10-29 09:49:16 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:16 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_new.text=请输入新的登录密码 2021-10-29 09:49:16 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_password_new"]//*[@text="请输入新的登录密码" and @resource-id="com.jlpay.merch:id/et_password_new"] 2021-10-29 09:49:16 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:16 INFO [Crawler.1080.doElementAction] mark 20211027095159/467_ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_old.text=请输入旧密码.clicked.png to 20211027095159/468_ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_new.text=请输入新的登录密码.click.png 2021-10-29 09:49:16 INFO [AppiumClient.141.mark] read from 20211027095159/467_ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_old.text=请输入旧密码.clicked.png 2021-10-29 09:49:16 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:16 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:49:16 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:16 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:16 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_password_new"]//*[@text="请输入新的登录密码" and @resource-id="com.jlpay.merch:id/et_password_new"]] 2021-10-29 09:49:17 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:17 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:18 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:18 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:18 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:18 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:18 INFO [Crawler.649.parsePageContext] url=ModifyLoginPwdActivity 2021-10-29 09:49:18 INFO [Crawler.673.parsePageContext] currentContentHash=5969717aaa2b7cdf5b1485acad9c437d lastContentHash=5969717aaa2b7cdf5b1485acad9c437d 2021-10-29 09:49:18 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:49:18 INFO [Crawler.931.saveDom] save to 20211027095159/468_ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_new.text=请输入新的登录密码.dom 2021-10-29 09:49:18 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:18 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:18 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:18 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:18 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:18 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:49:18 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:18 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ModifyLoginPwdActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=2 2021-10-29 09:49:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 469 2021-10-29 09:49:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:18 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyLoginPwdActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:18 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:18 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:49:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:49:18 INFO [Crawler.843.crawl] found ModifyLoginPwdActivity.tag=Button.depth=8.id=btn_finish.text=完成 by first available element 2021-10-29 09:49:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:18 INFO [Crawler.996.doElementAction] current element = ModifyLoginPwdActivity.tag=Button.depth=8.id=btn_finish.text=完成 2021-10-29 09:49:18 INFO [Crawler.997.doElementAction] current index = 469 2021-10-29 09:49:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="完成" and @resource-id="com.jlpay.merch:id/btn_finish"] 2021-10-29 09:49:18 INFO [Crawler.1000.doElementAction] current url = ModifyLoginPwdActivity 2021-10-29 09:49:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:49:18 INFO [Crawler.1002.doElementAction] current file name = ModifyLoginPwdActivity.tag=Button.depth=8.id=btn_finish.text=完成 2021-10-29 09:49:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:18 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyLoginPwdActivity.tag=Button.depth=8.id=btn_finish.text=完成 2021-10-29 09:49:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="完成" and @resource-id="com.jlpay.merch:id/btn_finish"] 2021-10-29 09:49:18 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:18 INFO [Crawler.1080.doElementAction] mark 20211027095159/468_ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_new.text=请输入新的登录密码.clicked.png to 20211027095159/469_ModifyLoginPwdActivity.tag=Button.depth=8.id=btn_finish.text=完成.click.png 2021-10-29 09:49:18 INFO [AppiumClient.141.mark] read from 20211027095159/468_ModifyLoginPwdActivity.tag=EditText.depth=9.id=et_password_new.text=请输入新的登录密码.clicked.png 2021-10-29 09:49:18 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:18 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:49:18 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:18 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:18 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="完成" and @resource-id="com.jlpay.merch:id/btn_finish"]] 2021-10-29 09:49:18 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:18 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:19 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:19 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:19 INFO [Crawler.649.parsePageContext] url=ModifyLoginPwdActivity 2021-10-29 09:49:19 INFO [Crawler.673.parsePageContext] currentContentHash=a75ea9fe608ef55df215107afddebbdc lastContentHash=5969717aaa2b7cdf5b1485acad9c437d 2021-10-29 09:49:19 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:19 INFO [Crawler.931.saveDom] save to 20211027095159/469_ModifyLoginPwdActivity.tag=Button.depth=8.id=btn_finish.text=完成.dom 2021-10-29 09:49:19 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:19 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:19 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:19 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:19 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:19 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:49:19 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:19 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:19 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:19 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ModifyLoginPwdActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.Button]=3 2021-10-29 09:49:19 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 470 2021-10-29 09:49:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:19 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyLoginPwdActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:19 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:19 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:49:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:49:19 INFO [Crawler.851.crawl] ModifyLoginPwdActivity all elements had be clicked 2021-10-29 09:49:19 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:49:19 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:49:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:19 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:49:19 INFO [Crawler.996.doElementAction] current element = ModifyLoginPwdActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:49:19 INFO [Crawler.997.doElementAction] current index = 470 2021-10-29 09:49:19 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:19 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:49:19 INFO [Crawler.1000.doElementAction] current url = ModifyLoginPwdActivity 2021-10-29 09:49:19 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:49:19 INFO [Crawler.1002.doElementAction] current file name = ModifyLoginPwdActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:49:19 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:19 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyLoginPwdActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:49:19 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:49:20 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:20 INFO [Crawler.1080.doElementAction] mark 20211027095159/469_ModifyLoginPwdActivity.tag=Button.depth=8.id=btn_finish.text=完成.clicked.png to 20211027095159/470_ModifyLoginPwdActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:49:20 INFO [AppiumClient.141.mark] read from 20211027095159/469_ModifyLoginPwdActivity.tag=Button.depth=8.id=btn_finish.text=完成.clicked.png 2021-10-29 09:49:20 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:20 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:49:20 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:20 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:20 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:49:20 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:20 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:20 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:20 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:20 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:20 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:21 INFO [Crawler.649.parsePageContext] url=SafetySettingActivity 2021-10-29 09:49:21 INFO [Crawler.673.parsePageContext] currentContentHash=18f755b72c2e835516f382f964676e6e lastContentHash=a75ea9fe608ef55df215107afddebbdc 2021-10-29 09:49:21 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:21 INFO [Crawler.931.saveDom] save to 20211027095159/470_ModifyLoginPwdActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:49:21 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:21 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:21 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:21 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:21 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:21 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 471 2021-10-29 09:49:21 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:21 INFO [Crawler.425.needReturn] urlStack=Stack(SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:21 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:21 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:49:21 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:49:21 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:49:21 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:49:21 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:49:21 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:49:21 INFO [Crawler.843.crawl] found SafetySettingActivity.tag=TextView.depth=9.text=修改支付密码 by first available element 2021-10-29 09:49:21 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:21 INFO [Crawler.996.doElementAction] current element = SafetySettingActivity.tag=TextView.depth=9.text=修改支付密码 2021-10-29 09:49:21 INFO [Crawler.997.doElementAction] current index = 471 2021-10-29 09:49:21 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:21 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_crash"]//*[@text="修改支付密码"] 2021-10-29 09:49:21 INFO [Crawler.1000.doElementAction] current url = SafetySettingActivity 2021-10-29 09:49:21 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:49:21 INFO [Crawler.1002.doElementAction] current file name = SafetySettingActivity.tag=TextView.depth=9.text=修改支付密码 2021-10-29 09:49:21 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:21 INFO [AppiumClient.53.findElementByURI] find by uri element= SafetySettingActivity.tag=TextView.depth=9.text=修改支付密码 2021-10-29 09:49:21 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_crash"]//*[@text="修改支付密码"] 2021-10-29 09:49:21 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:21 INFO [Crawler.1080.doElementAction] mark 20211027095159/470_ModifyLoginPwdActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/471_SafetySettingActivity.tag=TextView.depth=9.text=修改支付密码.click.png 2021-10-29 09:49:21 INFO [AppiumClient.141.mark] read from 20211027095159/470_ModifyLoginPwdActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:49:21 INFO [AppiumClient.154.mark] write png 20211027095159/470_ModifyLoginPwdActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:49:21 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/471_SafetySettingActivity.tag=TextView.depth=9.text=修改支付密码.click.png 2021-10-29 09:49:22 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:22 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_crash"]//*[@text="修改支付密码"]] 2021-10-29 09:49:22 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:22 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:22 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:22 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:22 INFO [Crawler.649.parsePageContext] url=ModifyCrashPwdActivity 2021-10-29 09:49:22 INFO [Crawler.673.parsePageContext] currentContentHash=6a7d7e89796953219b57b94b575d870c lastContentHash=18f755b72c2e835516f382f964676e6e 2021-10-29 09:49:22 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:22 INFO [Crawler.931.saveDom] save to 20211027095159/471_SafetySettingActivity.tag=TextView.depth=9.text=修改支付密码.dom 2021-10-29 09:49:23 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:23 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:23 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:23 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:23 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:23 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 472 2021-10-29 09:49:23 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:23 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyCrashPwdActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:23 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:23 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:23 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:23 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:23 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:23 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:49:23 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:49:23 INFO [Crawler.843.crawl] found ModifyCrashPwdActivity.tag=ImageView.depth=11 by first available element 2021-10-29 09:49:23 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:23 INFO [Crawler.996.doElementAction] current element = ModifyCrashPwdActivity.tag=ImageView.depth=11 2021-10-29 09:49:23 INFO [Crawler.997.doElementAction] current index = 472 2021-10-29 09:49:23 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:23 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_confirm_by_oldpassword"] 2021-10-29 09:49:23 INFO [Crawler.1000.doElementAction] current url = ModifyCrashPwdActivity 2021-10-29 09:49:23 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView 2021-10-29 09:49:23 INFO [Crawler.1002.doElementAction] current file name = ModifyCrashPwdActivity.tag=ImageView.depth=11 2021-10-29 09:49:23 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:23 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyCrashPwdActivity.tag=ImageView.depth=11 2021-10-29 09:49:23 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_confirm_by_oldpassword"] 2021-10-29 09:49:23 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:23 INFO [Crawler.1080.doElementAction] mark 20211027095159/471_SafetySettingActivity.tag=TextView.depth=9.text=修改支付密码.clicked.png to 20211027095159/472_ModifyCrashPwdActivity.tag=ImageView.depth=11.click.png 2021-10-29 09:49:23 INFO [AppiumClient.141.mark] read from 20211027095159/471_SafetySettingActivity.tag=TextView.depth=9.text=修改支付密码.clicked.png 2021-10-29 09:49:23 INFO [AppiumClient.154.mark] write png 20211027095159/471_SafetySettingActivity.tag=TextView.depth=9.text=修改支付密码.clicked.png 2021-10-29 09:49:23 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/472_ModifyCrashPwdActivity.tag=ImageView.depth=11.click.png 2021-10-29 09:49:23 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:23 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_confirm_by_oldpassword"]] 2021-10-29 09:49:24 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:24 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:24 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:24 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:24 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:24 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:24 INFO [Crawler.649.parsePageContext] url=OldCrashPwdVerActivity 2021-10-29 09:49:24 INFO [Crawler.673.parsePageContext] currentContentHash=e6ca5157b1e4426a0ec1eedb40dc65bd lastContentHash=6a7d7e89796953219b57b94b575d870c 2021-10-29 09:49:24 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:24 INFO [Crawler.931.saveDom] save to 20211027095159/472_ModifyCrashPwdActivity.tag=ImageView.depth=11.dom 2021-10-29 09:49:25 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:25 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:25 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:25 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:25 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:25 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:49:25 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:25 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:25 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:25 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 473 2021-10-29 09:49:25 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:25 INFO [Crawler.425.needReturn] urlStack=Stack(OldCrashPwdVerActivity, ModifyCrashPwdActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:25 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:25 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:25 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:25 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:25 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:25 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:49:25 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:49:25 INFO [Crawler.843.crawl] found OldCrashPwdVerActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:49:25 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:25 INFO [Crawler.996.doElementAction] current element = OldCrashPwdVerActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:25 INFO [Crawler.997.doElementAction] current index = 473 2021-10-29 09:49:25 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:25 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:49:25 INFO [Crawler.1000.doElementAction] current url = OldCrashPwdVerActivity 2021-10-29 09:49:25 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:49:25 INFO [Crawler.1002.doElementAction] current file name = OldCrashPwdVerActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:25 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:25 INFO [AppiumClient.53.findElementByURI] find by uri element= OldCrashPwdVerActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:25 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:49:25 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:25 INFO [Crawler.1080.doElementAction] mark 20211027095159/472_ModifyCrashPwdActivity.tag=ImageView.depth=11.clicked.png to 20211027095159/473_OldCrashPwdVerActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:49:25 INFO [AppiumClient.141.mark] read from 20211027095159/472_ModifyCrashPwdActivity.tag=ImageView.depth=11.clicked.png 2021-10-29 09:49:25 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:25 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:49:25 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:25 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:25 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:49:25 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:25 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:25 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:25 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:25 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:25 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:26 INFO [Crawler.649.parsePageContext] url=OldCrashPwdVerActivity 2021-10-29 09:49:26 INFO [Crawler.673.parsePageContext] currentContentHash=e6ca5157b1e4426a0ec1eedb40dc65bd lastContentHash=e6ca5157b1e4426a0ec1eedb40dc65bd 2021-10-29 09:49:26 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:49:26 INFO [Crawler.931.saveDom] save to 20211027095159/473_OldCrashPwdVerActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:49:26 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:26 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:26 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:26 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:26 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:26 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:49:26 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:26 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:26 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:26 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[OldCrashPwdVerActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:49:26 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 474 2021-10-29 09:49:26 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:26 INFO [Crawler.425.needReturn] urlStack=Stack(OldCrashPwdVerActivity, ModifyCrashPwdActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:26 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:26 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:26 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:26 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:26 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:26 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:49:26 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:49:26 INFO [Crawler.843.crawl] found OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_crash_password_old.text=请输入原支付密码 by first available element 2021-10-29 09:49:26 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:26 INFO [Crawler.996.doElementAction] current element = OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_crash_password_old.text=请输入原支付密码 2021-10-29 09:49:26 INFO [Crawler.997.doElementAction] current index = 474 2021-10-29 09:49:26 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:26 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_crash_password_old"]//*[@text="请输入原支付密码" and @resource-id="com.jlpay.merch:id/et_crash_password_old"] 2021-10-29 09:49:26 INFO [Crawler.1000.doElementAction] current url = OldCrashPwdVerActivity 2021-10-29 09:49:26 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:49:26 INFO [Crawler.1002.doElementAction] current file name = OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_crash_password_old.text=请输入原支付密码 2021-10-29 09:49:26 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:26 INFO [AppiumClient.53.findElementByURI] find by uri element= OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_crash_password_old.text=请输入原支付密码 2021-10-29 09:49:26 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_crash_password_old"]//*[@text="请输入原支付密码" and @resource-id="com.jlpay.merch:id/et_crash_password_old"] 2021-10-29 09:49:26 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:26 INFO [Crawler.1080.doElementAction] mark 20211027095159/473_OldCrashPwdVerActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/474_OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_crash_password_old.text=请输入原支付密码.click.png 2021-10-29 09:49:26 INFO [AppiumClient.141.mark] read from 20211027095159/473_OldCrashPwdVerActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:49:26 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:26 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:49:26 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:26 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:26 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_crash_password_old"]//*[@text="请输入原支付密码" and @resource-id="com.jlpay.merch:id/et_crash_password_old"]] 2021-10-29 09:49:27 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:27 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:27 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:27 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:27 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:27 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:28 INFO [Crawler.649.parsePageContext] url=OldCrashPwdVerActivity 2021-10-29 09:49:28 INFO [Crawler.673.parsePageContext] currentContentHash=e6ca5157b1e4426a0ec1eedb40dc65bd lastContentHash=e6ca5157b1e4426a0ec1eedb40dc65bd 2021-10-29 09:49:28 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:49:28 INFO [Crawler.931.saveDom] save to 20211027095159/474_OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_crash_password_old.text=请输入原支付密码.dom 2021-10-29 09:49:28 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:28 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:28 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:28 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:28 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:28 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:49:28 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:28 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:28 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:28 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[OldCrashPwdVerActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:49:28 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 475 2021-10-29 09:49:28 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:28 INFO [Crawler.425.needReturn] urlStack=Stack(OldCrashPwdVerActivity, ModifyCrashPwdActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:28 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:28 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:28 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:28 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:28 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:28 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:49:28 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:49:28 INFO [Crawler.843.crawl] found OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_new_crash_password.text=请输入新支付密码 by first available element 2021-10-29 09:49:28 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:28 INFO [Crawler.996.doElementAction] current element = OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_new_crash_password.text=请输入新支付密码 2021-10-29 09:49:28 INFO [Crawler.997.doElementAction] current index = 475 2021-10-29 09:49:28 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:28 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_new_crash_password"]//*[@text="请输入新支付密码" and @resource-id="com.jlpay.merch:id/et_new_crash_password"] 2021-10-29 09:49:28 INFO [Crawler.1000.doElementAction] current url = OldCrashPwdVerActivity 2021-10-29 09:49:28 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:49:28 INFO [Crawler.1002.doElementAction] current file name = OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_new_crash_password.text=请输入新支付密码 2021-10-29 09:49:28 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:28 INFO [AppiumClient.53.findElementByURI] find by uri element= OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_new_crash_password.text=请输入新支付密码 2021-10-29 09:49:28 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_new_crash_password"]//*[@text="请输入新支付密码" and @resource-id="com.jlpay.merch:id/et_new_crash_password"] 2021-10-29 09:49:28 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:28 INFO [Crawler.1080.doElementAction] mark 20211027095159/474_OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_crash_password_old.text=请输入原支付密码.clicked.png to 20211027095159/475_OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_new_crash_password.text=请输入新支付密码.click.png 2021-10-29 09:49:28 INFO [AppiumClient.141.mark] read from 20211027095159/474_OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_crash_password_old.text=请输入原支付密码.clicked.png 2021-10-29 09:49:28 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:28 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:49:28 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:28 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:28 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_new_crash_password"]//*[@text="请输入新支付密码" and @resource-id="com.jlpay.merch:id/et_new_crash_password"]] 2021-10-29 09:49:29 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:29 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:29 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:29 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:29 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:29 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:30 INFO [Crawler.649.parsePageContext] url=OldCrashPwdVerActivity 2021-10-29 09:49:30 INFO [Crawler.673.parsePageContext] currentContentHash=e6ca5157b1e4426a0ec1eedb40dc65bd lastContentHash=e6ca5157b1e4426a0ec1eedb40dc65bd 2021-10-29 09:49:30 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:49:30 INFO [Crawler.931.saveDom] save to 20211027095159/475_OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_new_crash_password.text=请输入新支付密码.dom 2021-10-29 09:49:30 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:30 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:30 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:30 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:30 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:30 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:49:30 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:30 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:30 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:30 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[OldCrashPwdVerActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText]=2 2021-10-29 09:49:30 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 476 2021-10-29 09:49:30 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:30 INFO [Crawler.425.needReturn] urlStack=Stack(OldCrashPwdVerActivity, ModifyCrashPwdActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:30 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:30 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:30 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:30 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:30 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:30 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:49:30 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:49:30 INFO [Crawler.843.crawl] found OldCrashPwdVerActivity.tag=Button.depth=8.id=btn_confirm.text=确认 by first available element 2021-10-29 09:49:30 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:30 INFO [Crawler.996.doElementAction] current element = OldCrashPwdVerActivity.tag=Button.depth=8.id=btn_confirm.text=确认 2021-10-29 09:49:30 INFO [Crawler.997.doElementAction] current index = 476 2021-10-29 09:49:30 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:30 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_confirm"] 2021-10-29 09:49:30 INFO [Crawler.1000.doElementAction] current url = OldCrashPwdVerActivity 2021-10-29 09:49:30 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:49:30 INFO [Crawler.1002.doElementAction] current file name = OldCrashPwdVerActivity.tag=Button.depth=8.id=btn_confirm.text=确认 2021-10-29 09:49:30 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:30 INFO [AppiumClient.53.findElementByURI] find by uri element= OldCrashPwdVerActivity.tag=Button.depth=8.id=btn_confirm.text=确认 2021-10-29 09:49:30 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_confirm"] 2021-10-29 09:49:30 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:30 INFO [Crawler.1080.doElementAction] mark 20211027095159/475_OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_new_crash_password.text=请输入新支付密码.clicked.png to 20211027095159/476_OldCrashPwdVerActivity.tag=Button.depth=8.id=btn_confirm.text=确认.click.png 2021-10-29 09:49:30 INFO [AppiumClient.141.mark] read from 20211027095159/475_OldCrashPwdVerActivity.tag=EditText.depth=9.id=et_new_crash_password.text=请输入新支付密码.clicked.png 2021-10-29 09:49:30 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:30 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:49:30 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:30 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:30 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/btn_confirm"]] 2021-10-29 09:49:30 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:30 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:31 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:31 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:31 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:31 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:31 INFO [Crawler.649.parsePageContext] url=OldCrashPwdVerActivity 2021-10-29 09:49:31 INFO [Crawler.673.parsePageContext] currentContentHash=0e3fdfa299013df55c97c7f884ad8551 lastContentHash=e6ca5157b1e4426a0ec1eedb40dc65bd 2021-10-29 09:49:31 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:31 INFO [Crawler.931.saveDom] save to 20211027095159/476_OldCrashPwdVerActivity.tag=Button.depth=8.id=btn_confirm.text=确认.dom 2021-10-29 09:49:31 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:31 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:31 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:31 ERROR [AppiumClient.238.asyncTask] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:31 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.saveScreen(Crawler.scala:954) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1134) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:31 ERROR [Crawler.980.saveScreen] screenshot error 2021-10-29 09:49:31 ERROR [Crawler.981.saveScreen] org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'kongdexideMac-mini.local', ip: 'fe80:0:0:0:1c46:e702:2bb2:e863%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_131' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, databaseEnabled: false, desired: {app: , appActivity: .ui.start.SplashActivity, appPackage: com.jlpay.merch, appium: http://127.0.0.1:4723/wd/hub, autoLaunch: true, deviceName: oppo, fullReset: false, noReset: true, platformName: android, platformVersion: 11.0}, deviceApiLevel: 30, deviceManufacturer: OPPO, deviceModel: PDKM00, deviceName: NZKRMFZ9RSLRAQGY, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: NZKRMFZ9RSLRAQGY, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 112, takesScreenshot: true, viewportRect: {height: 2176, left: 0, top: 112, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 265e033a-ddb7-4400-a311-8f68e814b67f 2021-10-29 09:49:31 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:31 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:31 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[OldCrashPwdVerActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.Button]=3 2021-10-29 09:49:31 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 477 2021-10-29 09:49:31 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:31 INFO [Crawler.425.needReturn] urlStack=Stack(OldCrashPwdVerActivity, ModifyCrashPwdActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:31 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:31 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:31 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:31 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:31 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:31 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:49:31 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:49:31 INFO [Crawler.851.crawl] OldCrashPwdVerActivity all elements had be clicked 2021-10-29 09:49:31 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:49:31 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:49:31 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:31 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:49:31 INFO [Crawler.996.doElementAction] current element = OldCrashPwdVerActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:49:31 INFO [Crawler.997.doElementAction] current index = 477 2021-10-29 09:49:31 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:31 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:49:31 INFO [Crawler.1000.doElementAction] current url = OldCrashPwdVerActivity 2021-10-29 09:49:31 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:49:31 INFO [Crawler.1002.doElementAction] current file name = OldCrashPwdVerActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:49:31 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:31 INFO [AppiumClient.53.findElementByURI] find by uri element= OldCrashPwdVerActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:49:31 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:49:31 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:31 INFO [Crawler.1080.doElementAction] mark 20211027095159/476_OldCrashPwdVerActivity.tag=Button.depth=8.id=btn_confirm.text=确认.clicked.png to 20211027095159/477_OldCrashPwdVerActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:49:31 INFO [AppiumClient.141.mark] read from 20211027095159/476_OldCrashPwdVerActivity.tag=Button.depth=8.id=btn_confirm.text=确认.clicked.png 2021-10-29 09:49:31 ERROR [AppiumClient.237.asyncTask] exception 2021-10-29 09:49:31 ERROR [AppiumClient.238.asyncTask] javax.imageio.IIOException: Can't read input file! 2021-10-29 09:49:31 ERROR [AppiumClient.239.asyncTask] java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:206) com.testerhome.appcrawler.driver.ReactWebDriver.$anonfun$asyncTask$1(ReactWebDriver.scala:223) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask(ReactWebDriver.scala:214) com.testerhome.appcrawler.driver.ReactWebDriver.asyncTask$(ReactWebDriver.scala:212) com.testerhome.appcrawler.driver.AppiumClient.asyncTask(AppiumClient.scala:28) com.testerhome.appcrawler.Crawler.doElementAction(Crawler.scala:1082) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:898) com.testerhome.appcrawler.Crawler.$anonfun$crawl$1(Crawler.scala:187) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) scala.util.Try$.apply(Try.scala:209) com.testerhome.appcrawler.Crawler.crawl(Crawler.scala:187) com.testerhome.appcrawler.Crawler.start(Crawler.scala:170) com.testerhome.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:322) com.testerhome.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:290) com.testerhome.appcrawler.AppCrawler$.main(AppCrawler.scala:91) com.testerhome.appcrawler.AppCrawler.main(AppCrawler.scala) 2021-10-29 09:49:31 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:31 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:49:31 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:31 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:32 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:32 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:32 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:32 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:32 INFO [Crawler.649.parsePageContext] url=ModifyCrashPwdActivity 2021-10-29 09:49:32 INFO [Crawler.673.parsePageContext] currentContentHash=3b8bc833f540378c4821f5938cbe931e lastContentHash=0e3fdfa299013df55c97c7f884ad8551 2021-10-29 09:49:32 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:32 INFO [Crawler.931.saveDom] save to 20211027095159/477_OldCrashPwdVerActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:49:32 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:32 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:33 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:33 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:33 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:33 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 478 2021-10-29 09:49:33 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:33 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyCrashPwdActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:33 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:33 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:33 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:33 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:33 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:33 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:49:33 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:49:33 INFO [Crawler.843.crawl] found ModifyCrashPwdActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:49:33 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:33 INFO [Crawler.996.doElementAction] current element = ModifyCrashPwdActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:33 INFO [Crawler.997.doElementAction] current index = 478 2021-10-29 09:49:33 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:33 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:49:33 INFO [Crawler.1000.doElementAction] current url = ModifyCrashPwdActivity 2021-10-29 09:49:33 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:49:33 INFO [Crawler.1002.doElementAction] current file name = ModifyCrashPwdActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:33 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:33 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyCrashPwdActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:33 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:49:33 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:33 INFO [Crawler.1080.doElementAction] mark 20211027095159/477_OldCrashPwdVerActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/478_ModifyCrashPwdActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:49:33 INFO [AppiumClient.141.mark] read from 20211027095159/477_OldCrashPwdVerActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:49:33 INFO [AppiumClient.154.mark] write png 20211027095159/477_OldCrashPwdVerActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:49:33 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/478_ModifyCrashPwdActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:49:33 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:33 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:49:33 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:33 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:34 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:34 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:34 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:34 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:34 INFO [Crawler.649.parsePageContext] url=ModifyCrashPwdActivity 2021-10-29 09:49:34 INFO [Crawler.673.parsePageContext] currentContentHash=6a7d7e89796953219b57b94b575d870c lastContentHash=3b8bc833f540378c4821f5938cbe931e 2021-10-29 09:49:34 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:34 INFO [Crawler.931.saveDom] save to 20211027095159/478_ModifyCrashPwdActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:49:34 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:34 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:35 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:35 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:35 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:35 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[ModifyCrashPwdActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:49:35 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 479 2021-10-29 09:49:35 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:35 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyCrashPwdActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:35 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:35 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:49:35 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:49:35 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:49:35 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:49:35 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:49:35 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:49:35 INFO [Crawler.851.crawl] ModifyCrashPwdActivity all elements had be clicked 2021-10-29 09:49:35 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:49:35 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:49:35 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:35 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:49:35 INFO [Crawler.996.doElementAction] current element = ModifyCrashPwdActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:49:35 INFO [Crawler.997.doElementAction] current index = 479 2021-10-29 09:49:35 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:35 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:49:35 INFO [Crawler.1000.doElementAction] current url = ModifyCrashPwdActivity 2021-10-29 09:49:35 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:49:35 INFO [Crawler.1002.doElementAction] current file name = ModifyCrashPwdActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:49:35 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:35 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyCrashPwdActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:49:35 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:49:35 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:35 INFO [Crawler.1080.doElementAction] mark 20211027095159/478_ModifyCrashPwdActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/479_ModifyCrashPwdActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:49:35 INFO [AppiumClient.141.mark] read from 20211027095159/478_ModifyCrashPwdActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:49:35 INFO [AppiumClient.154.mark] write png 20211027095159/478_ModifyCrashPwdActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:49:35 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/479_ModifyCrashPwdActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:49:35 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:35 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:49:35 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:35 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:36 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:36 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:36 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:36 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:36 INFO [Crawler.649.parsePageContext] url=SafetySettingActivity 2021-10-29 09:49:36 INFO [Crawler.673.parsePageContext] currentContentHash=3e233356a7eb35beb47054c4d1c1ece9 lastContentHash=6a7d7e89796953219b57b94b575d870c 2021-10-29 09:49:36 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:36 INFO [Crawler.931.saveDom] save to 20211027095159/479_ModifyCrashPwdActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:49:36 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:36 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:37 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:37 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:37 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:37 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 480 2021-10-29 09:49:37 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:37 INFO [Crawler.425.needReturn] urlStack=Stack(SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:37 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:37 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:49:37 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:49:37 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:49:37 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:49:37 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:49:37 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:49:37 INFO [Crawler.843.crawl] found SafetySettingActivity.tag=TextView.depth=9.text=申请注销账号 by first available element 2021-10-29 09:49:37 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:37 INFO [Crawler.996.doElementAction] current element = SafetySettingActivity.tag=TextView.depth=9.text=申请注销账号 2021-10-29 09:49:37 INFO [Crawler.997.doElementAction] current index = 480 2021-10-29 09:49:37 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:37 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_close_account"]//*[@text="申请注销账号"] 2021-10-29 09:49:37 INFO [Crawler.1000.doElementAction] current url = SafetySettingActivity 2021-10-29 09:49:37 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:49:37 INFO [Crawler.1002.doElementAction] current file name = SafetySettingActivity.tag=TextView.depth=9.text=申请注销账号 2021-10-29 09:49:37 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:37 INFO [AppiumClient.53.findElementByURI] find by uri element= SafetySettingActivity.tag=TextView.depth=9.text=申请注销账号 2021-10-29 09:49:37 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_close_account"]//*[@text="申请注销账号"] 2021-10-29 09:49:37 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:37 INFO [Crawler.1080.doElementAction] mark 20211027095159/479_ModifyCrashPwdActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/480_SafetySettingActivity.tag=TextView.depth=9.text=申请注销账号.click.png 2021-10-29 09:49:37 INFO [AppiumClient.141.mark] read from 20211027095159/479_ModifyCrashPwdActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:49:37 INFO [AppiumClient.154.mark] write png 20211027095159/479_ModifyCrashPwdActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:49:37 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/480_SafetySettingActivity.tag=TextView.depth=9.text=申请注销账号.click.png 2021-10-29 09:49:37 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:37 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_close_account"]//*[@text="申请注销账号"]] 2021-10-29 09:49:37 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:37 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:38 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:38 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:38 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:38 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:38 INFO [Crawler.649.parsePageContext] url=CloseAccountRemindActivity 2021-10-29 09:49:38 INFO [Crawler.673.parsePageContext] currentContentHash=29ca30aa818d122dd98093e6ae76fa62 lastContentHash=3e233356a7eb35beb47054c4d1c1ece9 2021-10-29 09:49:38 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:38 INFO [Crawler.931.saveDom] save to 20211027095159/480_SafetySettingActivity.tag=TextView.depth=9.text=申请注销账号.dom 2021-10-29 09:49:38 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:38 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:39 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:39 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:39 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:39 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 481 2021-10-29 09:49:39 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:39 INFO [Crawler.425.needReturn] urlStack=Stack(CloseAccountRemindActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:39 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:39 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:49:39 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:49:39 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:49:39 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:49:39 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:49:39 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:49:39 INFO [Crawler.843.crawl] found CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:49:39 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:39 INFO [Crawler.996.doElementAction] current element = CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:39 INFO [Crawler.997.doElementAction] current index = 481 2021-10-29 09:49:39 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:39 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:49:39 INFO [Crawler.1000.doElementAction] current url = CloseAccountRemindActivity 2021-10-29 09:49:39 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:49:39 INFO [Crawler.1002.doElementAction] current file name = CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:39 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:39 INFO [AppiumClient.53.findElementByURI] find by uri element= CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:39 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:49:39 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:39 INFO [Crawler.1080.doElementAction] mark 20211027095159/480_SafetySettingActivity.tag=TextView.depth=9.text=申请注销账号.clicked.png to 20211027095159/481_CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:49:39 INFO [AppiumClient.141.mark] read from 20211027095159/480_SafetySettingActivity.tag=TextView.depth=9.text=申请注销账号.clicked.png 2021-10-29 09:49:39 INFO [AppiumClient.154.mark] write png 20211027095159/480_SafetySettingActivity.tag=TextView.depth=9.text=申请注销账号.clicked.png 2021-10-29 09:49:39 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/481_CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:49:39 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:39 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:49:39 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:39 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:40 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:40 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:40 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:40 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:40 INFO [Crawler.649.parsePageContext] url=CloseAccountRemindActivity 2021-10-29 09:49:40 INFO [Crawler.673.parsePageContext] currentContentHash=29ca30aa818d122dd98093e6ae76fa62 lastContentHash=29ca30aa818d122dd98093e6ae76fa62 2021-10-29 09:49:40 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:49:40 INFO [Crawler.931.saveDom] save to 20211027095159/481_CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:49:40 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:40 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:41 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:41 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:41 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:41 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloseAccountRemindActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:49:41 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 482 2021-10-29 09:49:41 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:41 INFO [Crawler.425.needReturn] urlStack=Stack(CloseAccountRemindActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:41 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:41 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:49:41 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:49:41 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:49:41 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:49:41 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:49:41 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:49:41 INFO [Crawler.843.crawl] found CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_next.text=下一步 by first available element 2021-10-29 09:49:41 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:41 INFO [Crawler.996.doElementAction] current element = CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_next.text=下一步 2021-10-29 09:49:41 INFO [Crawler.997.doElementAction] current index = 482 2021-10-29 09:49:41 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:41 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="下一步" and @resource-id="com.jlpay.merch:id/tv_next"] 2021-10-29 09:49:41 INFO [Crawler.1000.doElementAction] current url = CloseAccountRemindActivity 2021-10-29 09:49:41 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:49:41 INFO [Crawler.1002.doElementAction] current file name = CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_next.text=下一步 2021-10-29 09:49:41 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:41 INFO [AppiumClient.53.findElementByURI] find by uri element= CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_next.text=下一步 2021-10-29 09:49:41 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="下一步" and @resource-id="com.jlpay.merch:id/tv_next"] 2021-10-29 09:49:41 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:41 INFO [Crawler.1080.doElementAction] mark 20211027095159/481_CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/482_CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_next.text=下一步.click.png 2021-10-29 09:49:41 INFO [AppiumClient.141.mark] read from 20211027095159/481_CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:49:41 INFO [AppiumClient.154.mark] write png 20211027095159/481_CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:49:41 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/482_CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_next.text=下一步.click.png 2021-10-29 09:49:41 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:41 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="下一步" and @resource-id="com.jlpay.merch:id/tv_next"]] 2021-10-29 09:49:41 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:41 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:42 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:42 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:42 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:42 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:42 INFO [Crawler.649.parsePageContext] url=CloseAccountRemindActivity 2021-10-29 09:49:42 INFO [Crawler.673.parsePageContext] currentContentHash=45eac5f01de2a421f9746d3cbaae5da8 lastContentHash=29ca30aa818d122dd98093e6ae76fa62 2021-10-29 09:49:42 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:42 INFO [Crawler.931.saveDom] save to 20211027095159/482_CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_next.text=下一步.dom 2021-10-29 09:49:42 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:42 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:42 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:42 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:42 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:42 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloseAccountRemindActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=2 2021-10-29 09:49:42 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 483 2021-10-29 09:49:42 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:42 INFO [Crawler.425.needReturn] urlStack=Stack(CloseAccountRemindActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:42 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:42 INFO [Crawler.487.getAvailableElement] selected nodes size = 1 2021-10-29 09:49:42 INFO [Crawler.499.getAvailableElement] all - black elements size = 1 2021-10-29 09:49:42 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 1 2021-10-29 09:49:42 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:49:42 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:49:42 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:49:42 INFO [Crawler.843.crawl] found CloseAccountRemindActivity.tag=Button.depth=8.id=positive_button.text=确认 by first available element 2021-10-29 09:49:42 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:42 INFO [Crawler.996.doElementAction] current element = CloseAccountRemindActivity.tag=Button.depth=8.id=positive_button.text=确认 2021-10-29 09:49:42 INFO [Crawler.997.doElementAction] current index = 483 2021-10-29 09:49:42 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:42 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/positive_button"] 2021-10-29 09:49:42 INFO [Crawler.1000.doElementAction] current url = CloseAccountRemindActivity 2021-10-29 09:49:42 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:49:42 INFO [Crawler.1002.doElementAction] current file name = CloseAccountRemindActivity.tag=Button.depth=8.id=positive_button.text=确认 2021-10-29 09:49:42 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:42 INFO [AppiumClient.53.findElementByURI] find by uri element= CloseAccountRemindActivity.tag=Button.depth=8.id=positive_button.text=确认 2021-10-29 09:49:42 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/positive_button"] 2021-10-29 09:49:42 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:42 INFO [Crawler.1080.doElementAction] mark 20211027095159/482_CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_next.text=下一步.clicked.png to 20211027095159/483_CloseAccountRemindActivity.tag=Button.depth=8.id=positive_button.text=确认.click.png 2021-10-29 09:49:42 INFO [AppiumClient.141.mark] read from 20211027095159/482_CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_next.text=下一步.clicked.png 2021-10-29 09:49:42 INFO [AppiumClient.154.mark] write png 20211027095159/482_CloseAccountRemindActivity.tag=TextView.depth=9.id=tv_next.text=下一步.clicked.png 2021-10-29 09:49:42 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/483_CloseAccountRemindActivity.tag=Button.depth=8.id=positive_button.text=确认.click.png 2021-10-29 09:49:43 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:43 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_buttom"]//*[@text="确认" and @resource-id="com.jlpay.merch:id/positive_button"]] 2021-10-29 09:49:43 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:43 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:43 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:43 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:44 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:44 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:44 INFO [Crawler.649.parsePageContext] url=CloseAccountReasonActivity 2021-10-29 09:49:44 INFO [Crawler.673.parsePageContext] currentContentHash=c56282599a544a7b7519e407f5dab9b2 lastContentHash=45eac5f01de2a421f9746d3cbaae5da8 2021-10-29 09:49:44 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:44 INFO [Crawler.931.saveDom] save to 20211027095159/483_CloseAccountRemindActivity.tag=Button.depth=8.id=positive_button.text=确认.dom 2021-10-29 09:49:44 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:44 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:44 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:44 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:44 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:44 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 484 2021-10-29 09:49:44 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:44 INFO [Crawler.425.needReturn] urlStack=Stack(CloseAccountReasonActivity, CloseAccountRemindActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:44 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:44 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:49:44 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:49:44 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:49:44 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:49:44 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:49:44 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:49:44 INFO [Crawler.843.crawl] found CloseAccountReasonActivity.tag=EditText.depth=10.id=edt_reason.text=请输入注销原因 by first available element 2021-10-29 09:49:44 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:44 INFO [Crawler.996.doElementAction] current element = CloseAccountReasonActivity.tag=EditText.depth=10.id=edt_reason.text=请输入注销原因 2021-10-29 09:49:44 INFO [Crawler.997.doElementAction] current index = 484 2021-10-29 09:49:44 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:44 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_other_reason"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="请输入注销原因" and @resource-id="com.jlpay.merch:id/edt_reason"] 2021-10-29 09:49:44 INFO [Crawler.1000.doElementAction] current url = CloseAccountReasonActivity 2021-10-29 09:49:44 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.EditText 2021-10-29 09:49:44 INFO [Crawler.1002.doElementAction] current file name = CloseAccountReasonActivity.tag=EditText.depth=10.id=edt_reason.text=请输入注销原因 2021-10-29 09:49:44 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:44 INFO [AppiumClient.53.findElementByURI] find by uri element= CloseAccountReasonActivity.tag=EditText.depth=10.id=edt_reason.text=请输入注销原因 2021-10-29 09:49:44 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_other_reason"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="请输入注销原因" and @resource-id="com.jlpay.merch:id/edt_reason"] 2021-10-29 09:49:44 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:44 INFO [Crawler.1080.doElementAction] mark 20211027095159/483_CloseAccountRemindActivity.tag=Button.depth=8.id=positive_button.text=确认.clicked.png to 20211027095159/484_CloseAccountReasonActivity.tag=EditText.depth=10.id=edt_reason.text=请输入注销原因.click.png 2021-10-29 09:49:44 INFO [AppiumClient.141.mark] read from 20211027095159/483_CloseAccountRemindActivity.tag=Button.depth=8.id=positive_button.text=确认.clicked.png 2021-10-29 09:49:44 INFO [AppiumClient.154.mark] write png 20211027095159/483_CloseAccountRemindActivity.tag=Button.depth=8.id=positive_button.text=确认.clicked.png 2021-10-29 09:49:44 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/484_CloseAccountReasonActivity.tag=EditText.depth=10.id=edt_reason.text=请输入注销原因.click.png 2021-10-29 09:49:44 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:44 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_other_reason"]//*[@resource-id="com.jlpay.merch:id/ll_search"]//*[@text="请输入注销原因" and @resource-id="com.jlpay.merch:id/edt_reason"]] 2021-10-29 09:49:46 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:46 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:47 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:47 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:47 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:47 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:47 INFO [Crawler.649.parsePageContext] url=CloseAccountReasonActivity 2021-10-29 09:49:47 INFO [Crawler.673.parsePageContext] currentContentHash=c56282599a544a7b7519e407f5dab9b2 lastContentHash=c56282599a544a7b7519e407f5dab9b2 2021-10-29 09:49:47 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:49:47 INFO [Crawler.931.saveDom] save to 20211027095159/484_CloseAccountReasonActivity.tag=EditText.depth=10.id=edt_reason.text=请输入注销原因.dom 2021-10-29 09:49:47 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:47 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:48 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:48 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:48 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:48 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloseAccountReasonActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.EditText]=3 2021-10-29 09:49:48 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 485 2021-10-29 09:49:48 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:48 INFO [Crawler.425.needReturn] urlStack=Stack(CloseAccountReasonActivity, CloseAccountRemindActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:48 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:48 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:49:48 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:49:48 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:49:48 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:49:48 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:49:48 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:49:48 INFO [Crawler.843.crawl] found CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:49:48 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:48 INFO [Crawler.996.doElementAction] current element = CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:48 INFO [Crawler.997.doElementAction] current index = 485 2021-10-29 09:49:48 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:48 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:49:48 INFO [Crawler.1000.doElementAction] current url = CloseAccountReasonActivity 2021-10-29 09:49:48 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:49:48 INFO [Crawler.1002.doElementAction] current file name = CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:48 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:48 INFO [AppiumClient.53.findElementByURI] find by uri element= CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:49:48 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:49:48 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:48 INFO [Crawler.1080.doElementAction] mark 20211027095159/484_CloseAccountReasonActivity.tag=EditText.depth=10.id=edt_reason.text=请输入注销原因.clicked.png to 20211027095159/485_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:49:48 INFO [AppiumClient.141.mark] read from 20211027095159/484_CloseAccountReasonActivity.tag=EditText.depth=10.id=edt_reason.text=请输入注销原因.clicked.png 2021-10-29 09:49:48 INFO [AppiumClient.154.mark] write png 20211027095159/484_CloseAccountReasonActivity.tag=EditText.depth=10.id=edt_reason.text=请输入注销原因.clicked.png 2021-10-29 09:49:48 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/485_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:49:48 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:48 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:49:48 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:48 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:48 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:48 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:49 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:49 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:49 INFO [Crawler.649.parsePageContext] url=CloseAccountReasonActivity 2021-10-29 09:49:49 INFO [Crawler.673.parsePageContext] currentContentHash=c56282599a544a7b7519e407f5dab9b2 lastContentHash=c56282599a544a7b7519e407f5dab9b2 2021-10-29 09:49:49 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:49:49 INFO [Crawler.931.saveDom] save to 20211027095159/485_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:49:49 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:49 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:49 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:49 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:49 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:49 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloseAccountReasonActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:49:49 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 486 2021-10-29 09:49:49 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:49 INFO [Crawler.425.needReturn] urlStack=Stack(CloseAccountReasonActivity, CloseAccountRemindActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:49 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:49 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:49:49 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:49:49 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:49:49 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:49:49 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:49:49 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:49:49 INFO [Crawler.843.crawl] found CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_agree.text=同意注销 by first available element 2021-10-29 09:49:49 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:49 INFO [Crawler.996.doElementAction] current element = CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_agree.text=同意注销 2021-10-29 09:49:49 INFO [Crawler.997.doElementAction] current index = 486 2021-10-29 09:49:49 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:49 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="同意注销" and @resource-id="com.jlpay.merch:id/tv_agree"] 2021-10-29 09:49:49 INFO [Crawler.1000.doElementAction] current url = CloseAccountReasonActivity 2021-10-29 09:49:49 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:49:49 INFO [Crawler.1002.doElementAction] current file name = CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_agree.text=同意注销 2021-10-29 09:49:49 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:49 INFO [AppiumClient.53.findElementByURI] find by uri element= CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_agree.text=同意注销 2021-10-29 09:49:49 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="同意注销" and @resource-id="com.jlpay.merch:id/tv_agree"] 2021-10-29 09:49:50 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:50 INFO [Crawler.1080.doElementAction] mark 20211027095159/485_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/486_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_agree.text=同意注销.click.png 2021-10-29 09:49:50 INFO [AppiumClient.141.mark] read from 20211027095159/485_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:49:50 INFO [AppiumClient.154.mark] write png 20211027095159/485_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:49:50 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/486_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_agree.text=同意注销.click.png 2021-10-29 09:49:50 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:50 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="同意注销" and @resource-id="com.jlpay.merch:id/tv_agree"]] 2021-10-29 09:49:50 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:50 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:50 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:50 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:50 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:50 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:51 INFO [Crawler.649.parsePageContext] url=CloseAccountReasonActivity 2021-10-29 09:49:51 INFO [Crawler.673.parsePageContext] currentContentHash=5dfe8f86c2ace11ee00a79eceff325f0 lastContentHash=c56282599a544a7b7519e407f5dab9b2 2021-10-29 09:49:51 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:51 INFO [Crawler.931.saveDom] save to 20211027095159/486_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_agree.text=同意注销.dom 2021-10-29 09:49:51 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:51 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:51 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:51 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:51 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:51 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloseAccountReasonActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=2 2021-10-29 09:49:51 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 487 2021-10-29 09:49:51 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:51 INFO [Crawler.425.needReturn] urlStack=Stack(CloseAccountReasonActivity, CloseAccountRemindActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:51 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:51 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:49:51 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:49:51 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:49:51 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:49:51 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:49:51 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:49:51 INFO [Crawler.843.crawl] found CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_close_account_reason_5.text=其他原因: by first available element 2021-10-29 09:49:51 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:51 INFO [Crawler.996.doElementAction] current element = CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_close_account_reason_5.text=其他原因: 2021-10-29 09:49:51 INFO [Crawler.997.doElementAction] current index = 487 2021-10-29 09:49:51 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:51 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_other_reason"]//*[@text="其他原因:" and @resource-id="com.jlpay.merch:id/tv_close_account_reason_5"] 2021-10-29 09:49:51 INFO [Crawler.1000.doElementAction] current url = CloseAccountReasonActivity 2021-10-29 09:49:51 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:49:51 INFO [Crawler.1002.doElementAction] current file name = CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_close_account_reason_5.text=其他原因: 2021-10-29 09:49:51 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:51 INFO [AppiumClient.53.findElementByURI] find by uri element= CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_close_account_reason_5.text=其他原因: 2021-10-29 09:49:51 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_other_reason"]//*[@text="其他原因:" and @resource-id="com.jlpay.merch:id/tv_close_account_reason_5"] 2021-10-29 09:49:51 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:51 INFO [Crawler.1080.doElementAction] mark 20211027095159/486_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_agree.text=同意注销.clicked.png to 20211027095159/487_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_close_account_reason_5.text=其他原因:.click.png 2021-10-29 09:49:51 INFO [AppiumClient.141.mark] read from 20211027095159/486_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_agree.text=同意注销.clicked.png 2021-10-29 09:49:51 INFO [AppiumClient.154.mark] write png 20211027095159/486_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_agree.text=同意注销.clicked.png 2021-10-29 09:49:51 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/487_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_close_account_reason_5.text=其他原因:.click.png 2021-10-29 09:49:51 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:51 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/rl_other_reason"]//*[@text="其他原因:" and @resource-id="com.jlpay.merch:id/tv_close_account_reason_5"]] 2021-10-29 09:49:52 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:52 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:53 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:53 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:53 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:53 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:53 INFO [Crawler.649.parsePageContext] url=CloseAccountReasonActivity 2021-10-29 09:49:53 INFO [Crawler.673.parsePageContext] currentContentHash=5dfe8f86c2ace11ee00a79eceff325f0 lastContentHash=5dfe8f86c2ace11ee00a79eceff325f0 2021-10-29 09:49:53 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:49:53 INFO [Crawler.931.saveDom] save to 20211027095159/487_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_close_account_reason_5.text=其他原因:.dom 2021-10-29 09:49:53 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:53 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:53 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:53 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:53 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:53 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloseAccountReasonActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView]=1 2021-10-29 09:49:53 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 488 2021-10-29 09:49:53 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:53 INFO [Crawler.425.needReturn] urlStack=Stack(CloseAccountReasonActivity, CloseAccountRemindActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:53 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:53 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:49:53 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:49:53 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:49:53 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:49:53 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:49:53 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:49:53 INFO [Crawler.843.crawl] found CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_1.text=商户号已不使用 by first available element 2021-10-29 09:49:53 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:53 INFO [Crawler.996.doElementAction] current element = CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_1.text=商户号已不使用 2021-10-29 09:49:53 INFO [Crawler.997.doElementAction] current index = 488 2021-10-29 09:49:53 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:53 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="商户号已不使用" and @resource-id="com.jlpay.merch:id/tv_close_account_reason_1"] 2021-10-29 09:49:53 INFO [Crawler.1000.doElementAction] current url = CloseAccountReasonActivity 2021-10-29 09:49:53 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:49:53 INFO [Crawler.1002.doElementAction] current file name = CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_1.text=商户号已不使用 2021-10-29 09:49:53 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:53 INFO [AppiumClient.53.findElementByURI] find by uri element= CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_1.text=商户号已不使用 2021-10-29 09:49:53 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="商户号已不使用" and @resource-id="com.jlpay.merch:id/tv_close_account_reason_1"] 2021-10-29 09:49:54 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:54 INFO [Crawler.1080.doElementAction] mark 20211027095159/487_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_close_account_reason_5.text=其他原因:.clicked.png to 20211027095159/488_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_1.text=商户号已不使用.click.png 2021-10-29 09:49:54 INFO [AppiumClient.141.mark] read from 20211027095159/487_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_close_account_reason_5.text=其他原因:.clicked.png 2021-10-29 09:49:54 INFO [AppiumClient.154.mark] write png 20211027095159/487_CloseAccountReasonActivity.tag=TextView.depth=9.id=tv_close_account_reason_5.text=其他原因:.clicked.png 2021-10-29 09:49:54 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/488_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_1.text=商户号已不使用.click.png 2021-10-29 09:49:54 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:54 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="商户号已不使用" and @resource-id="com.jlpay.merch:id/tv_close_account_reason_1"]] 2021-10-29 09:49:54 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:54 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:55 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:55 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:55 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:55 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:55 INFO [Crawler.649.parsePageContext] url=CloseAccountReasonActivity 2021-10-29 09:49:55 INFO [Crawler.673.parsePageContext] currentContentHash=c56282599a544a7b7519e407f5dab9b2 lastContentHash=5dfe8f86c2ace11ee00a79eceff325f0 2021-10-29 09:49:55 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:49:55 INFO [Crawler.931.saveDom] save to 20211027095159/488_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_1.text=商户号已不使用.dom 2021-10-29 09:49:55 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:55 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:56 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:56 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:56 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:56 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloseAccountReasonActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:49:56 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 489 2021-10-29 09:49:56 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:56 INFO [Crawler.425.needReturn] urlStack=Stack(CloseAccountReasonActivity, CloseAccountRemindActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:56 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:56 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:49:56 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:49:56 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:49:56 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:49:56 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:49:56 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:49:56 INFO [Crawler.843.crawl] found CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_3.text=安全+隐私顾虑 by first available element 2021-10-29 09:49:56 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:56 INFO [Crawler.996.doElementAction] current element = CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_3.text=安全+隐私顾虑 2021-10-29 09:49:56 INFO [Crawler.997.doElementAction] current index = 489 2021-10-29 09:49:56 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:56 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="安全/隐私顾虑" and @resource-id="com.jlpay.merch:id/tv_close_account_reason_3"] 2021-10-29 09:49:56 INFO [Crawler.1000.doElementAction] current url = CloseAccountReasonActivity 2021-10-29 09:49:56 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:49:56 INFO [Crawler.1002.doElementAction] current file name = CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_3.text=安全+隐私顾虑 2021-10-29 09:49:56 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:56 INFO [AppiumClient.53.findElementByURI] find by uri element= CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_3.text=安全+隐私顾虑 2021-10-29 09:49:56 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="安全/隐私顾虑" and @resource-id="com.jlpay.merch:id/tv_close_account_reason_3"] 2021-10-29 09:49:56 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:56 INFO [Crawler.1080.doElementAction] mark 20211027095159/488_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_1.text=商户号已不使用.clicked.png to 20211027095159/489_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_3.text=安全+隐私顾虑.click.png 2021-10-29 09:49:56 INFO [AppiumClient.141.mark] read from 20211027095159/488_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_1.text=商户号已不使用.clicked.png 2021-10-29 09:49:56 INFO [AppiumClient.154.mark] write png 20211027095159/488_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_1.text=商户号已不使用.clicked.png 2021-10-29 09:49:56 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/489_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_3.text=安全+隐私顾虑.click.png 2021-10-29 09:49:56 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:56 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="安全/隐私顾虑" and @resource-id="com.jlpay.merch:id/tv_close_account_reason_3"]] 2021-10-29 09:49:57 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:57 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:49:57 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:49:57 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:49:57 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:49:57 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:49:57 INFO [Crawler.649.parsePageContext] url=CloseAccountReasonActivity 2021-10-29 09:49:57 INFO [Crawler.673.parsePageContext] currentContentHash=c56282599a544a7b7519e407f5dab9b2 lastContentHash=c56282599a544a7b7519e407f5dab9b2 2021-10-29 09:49:57 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:49:57 INFO [Crawler.931.saveDom] save to 20211027095159/489_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_3.text=安全+隐私顾虑.dom 2021-10-29 09:49:57 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:49:57 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:49:58 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:49:58 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:49:58 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:49:58 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloseAccountReasonActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView]=2 2021-10-29 09:49:58 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 490 2021-10-29 09:49:58 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:49:58 INFO [Crawler.425.needReturn] urlStack=Stack(CloseAccountReasonActivity, CloseAccountRemindActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:49:58 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:49:58 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:49:58 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:49:58 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:49:58 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:49:58 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:49:58 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:49:58 INFO [Crawler.843.crawl] found CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_4.text=不想用了 by first available element 2021-10-29 09:49:58 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:49:58 INFO [Crawler.996.doElementAction] current element = CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_4.text=不想用了 2021-10-29 09:49:58 INFO [Crawler.997.doElementAction] current index = 490 2021-10-29 09:49:58 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:49:58 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="不想用了" and @resource-id="com.jlpay.merch:id/tv_close_account_reason_4"] 2021-10-29 09:49:58 INFO [Crawler.1000.doElementAction] current url = CloseAccountReasonActivity 2021-10-29 09:49:58 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:49:58 INFO [Crawler.1002.doElementAction] current file name = CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_4.text=不想用了 2021-10-29 09:49:58 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:49:58 INFO [AppiumClient.53.findElementByURI] find by uri element= CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_4.text=不想用了 2021-10-29 09:49:58 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="不想用了" and @resource-id="com.jlpay.merch:id/tv_close_account_reason_4"] 2021-10-29 09:49:58 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:49:58 INFO [Crawler.1080.doElementAction] mark 20211027095159/489_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_3.text=安全+隐私顾虑.clicked.png to 20211027095159/490_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_4.text=不想用了.click.png 2021-10-29 09:49:58 INFO [AppiumClient.141.mark] read from 20211027095159/489_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_3.text=安全+隐私顾虑.clicked.png 2021-10-29 09:49:58 INFO [AppiumClient.154.mark] write png 20211027095159/489_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_3.text=安全+隐私顾虑.clicked.png 2021-10-29 09:49:58 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/490_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_4.text=不想用了.click.png 2021-10-29 09:49:58 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:49:58 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="不想用了" and @resource-id="com.jlpay.merch:id/tv_close_account_reason_4"]] 2021-10-29 09:49:59 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:49:59 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:00 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:00 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:00 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:00 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:00 INFO [Crawler.649.parsePageContext] url=CloseAccountReasonActivity 2021-10-29 09:50:00 INFO [Crawler.673.parsePageContext] currentContentHash=c56282599a544a7b7519e407f5dab9b2 lastContentHash=c56282599a544a7b7519e407f5dab9b2 2021-10-29 09:50:00 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:50:00 INFO [Crawler.931.saveDom] save to 20211027095159/490_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_4.text=不想用了.dom 2021-10-29 09:50:00 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:00 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:01 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:01 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:01 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:01 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[CloseAccountReasonActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView]=1 2021-10-29 09:50:01 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 491 2021-10-29 09:50:01 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:01 INFO [Crawler.425.needReturn] urlStack=Stack(CloseAccountReasonActivity, CloseAccountRemindActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:01 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:01 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:50:01 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:50:01 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:50:01 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:50:01 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:50:01 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:50:01 INFO [Crawler.851.crawl] CloseAccountReasonActivity all elements had be clicked 2021-10-29 09:50:01 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:50:01 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:50:01 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:01 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:50:01 INFO [Crawler.996.doElementAction] current element = CloseAccountReasonActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:01 INFO [Crawler.997.doElementAction] current index = 491 2021-10-29 09:50:01 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:01 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:50:01 INFO [Crawler.1000.doElementAction] current url = CloseAccountReasonActivity 2021-10-29 09:50:01 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:50:01 INFO [Crawler.1002.doElementAction] current file name = CloseAccountReasonActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:01 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:01 INFO [AppiumClient.53.findElementByURI] find by uri element= CloseAccountReasonActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:01 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:50:01 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:01 INFO [Crawler.1080.doElementAction] mark 20211027095159/490_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_4.text=不想用了.clicked.png to 20211027095159/491_CloseAccountReasonActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:50:01 INFO [AppiumClient.141.mark] read from 20211027095159/490_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_4.text=不想用了.clicked.png 2021-10-29 09:50:01 INFO [AppiumClient.154.mark] write png 20211027095159/490_CloseAccountReasonActivity.tag=TextView.depth=8.id=tv_close_account_reason_4.text=不想用了.clicked.png 2021-10-29 09:50:01 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/491_CloseAccountReasonActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:50:01 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:01 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:50:01 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:01 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:02 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:02 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:02 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:02 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:02 INFO [Crawler.649.parsePageContext] url=CloseAccountRemindActivity 2021-10-29 09:50:02 INFO [Crawler.673.parsePageContext] currentContentHash=29ca30aa818d122dd98093e6ae76fa62 lastContentHash=c56282599a544a7b7519e407f5dab9b2 2021-10-29 09:50:02 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:02 INFO [Crawler.931.saveDom] save to 20211027095159/491_CloseAccountReasonActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:50:02 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:02 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:03 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:03 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:03 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:03 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 492 2021-10-29 09:50:03 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:03 INFO [Crawler.425.needReturn] urlStack=Stack(CloseAccountRemindActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:03 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:03 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:50:03 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:50:03 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:50:03 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:50:03 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:50:03 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:50:03 INFO [Crawler.851.crawl] CloseAccountRemindActivity all elements had be clicked 2021-10-29 09:50:03 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:50:03 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:50:03 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:03 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:50:03 INFO [Crawler.996.doElementAction] current element = CloseAccountRemindActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:03 INFO [Crawler.997.doElementAction] current index = 492 2021-10-29 09:50:03 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:03 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:50:03 INFO [Crawler.1000.doElementAction] current url = CloseAccountRemindActivity 2021-10-29 09:50:03 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:50:03 INFO [Crawler.1002.doElementAction] current file name = CloseAccountRemindActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:03 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:03 INFO [AppiumClient.53.findElementByURI] find by uri element= CloseAccountRemindActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:03 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:50:03 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:03 INFO [Crawler.1080.doElementAction] mark 20211027095159/491_CloseAccountReasonActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/492_CloseAccountRemindActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:50:03 INFO [AppiumClient.141.mark] read from 20211027095159/491_CloseAccountReasonActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:50:03 INFO [AppiumClient.154.mark] write png 20211027095159/491_CloseAccountReasonActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:50:03 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/492_CloseAccountRemindActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:50:03 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:03 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:50:03 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:03 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:04 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:04 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:04 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:04 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:04 INFO [Crawler.649.parsePageContext] url=SafetySettingActivity 2021-10-29 09:50:04 INFO [Crawler.673.parsePageContext] currentContentHash=3e233356a7eb35beb47054c4d1c1ece9 lastContentHash=29ca30aa818d122dd98093e6ae76fa62 2021-10-29 09:50:04 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:04 INFO [Crawler.931.saveDom] save to 20211027095159/492_CloseAccountRemindActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:50:05 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:05 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:05 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:05 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:05 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:05 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 493 2021-10-29 09:50:05 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:05 INFO [Crawler.425.needReturn] urlStack=Stack(SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:05 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:05 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:50:05 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:50:05 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:50:05 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:50:05 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:50:05 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:50:05 INFO [Crawler.843.crawl] found SafetySettingActivity.tag=ImageView.depth=9 by first available element 2021-10-29 09:50:05 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:05 INFO [Crawler.996.doElementAction] current element = SafetySettingActivity.tag=ImageView.depth=9 2021-10-29 09:50:05 INFO [Crawler.997.doElementAction] current index = 493 2021-10-29 09:50:05 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:05 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_phone"] 2021-10-29 09:50:05 INFO [Crawler.1000.doElementAction] current url = SafetySettingActivity 2021-10-29 09:50:05 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView 2021-10-29 09:50:05 INFO [Crawler.1002.doElementAction] current file name = SafetySettingActivity.tag=ImageView.depth=9 2021-10-29 09:50:05 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:05 INFO [AppiumClient.53.findElementByURI] find by uri element= SafetySettingActivity.tag=ImageView.depth=9 2021-10-29 09:50:05 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_phone"] 2021-10-29 09:50:05 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:05 INFO [Crawler.1080.doElementAction] mark 20211027095159/492_CloseAccountRemindActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/493_SafetySettingActivity.tag=ImageView.depth=9.click.png 2021-10-29 09:50:05 INFO [AppiumClient.141.mark] read from 20211027095159/492_CloseAccountRemindActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:50:05 INFO [AppiumClient.154.mark] write png 20211027095159/492_CloseAccountRemindActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:50:05 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/493_SafetySettingActivity.tag=ImageView.depth=9.click.png 2021-10-29 09:50:05 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:05 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_modify_phone"]] 2021-10-29 09:50:05 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:05 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:06 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:06 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:06 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:06 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:06 INFO [Crawler.649.parsePageContext] url=ModifyPhoneActivity 2021-10-29 09:50:06 INFO [Crawler.673.parsePageContext] currentContentHash=d8d8a73db71f74277456f979fa416f0f lastContentHash=3e233356a7eb35beb47054c4d1c1ece9 2021-10-29 09:50:06 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:06 INFO [Crawler.931.saveDom] save to 20211027095159/493_SafetySettingActivity.tag=ImageView.depth=9.dom 2021-10-29 09:50:06 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:06 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:07 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:07 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:07 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:07 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 494 2021-10-29 09:50:07 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:07 INFO [Crawler.425.needReturn] urlStack=Stack(ModifyPhoneActivity, SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:07 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:07 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:50:07 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:50:07 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:50:07 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:50:07 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:50:07 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:50:07 INFO [Crawler.851.crawl] ModifyPhoneActivity all elements had be clicked 2021-10-29 09:50:07 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:50:07 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:50:07 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:07 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:50:07 INFO [Crawler.996.doElementAction] current element = ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:07 INFO [Crawler.997.doElementAction] current index = 494 2021-10-29 09:50:07 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:07 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:50:07 INFO [Crawler.1000.doElementAction] current url = ModifyPhoneActivity 2021-10-29 09:50:07 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:50:07 INFO [Crawler.1002.doElementAction] current file name = ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:07 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:07 INFO [AppiumClient.53.findElementByURI] find by uri element= ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:07 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:50:07 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:07 INFO [Crawler.1080.doElementAction] mark 20211027095159/493_SafetySettingActivity.tag=ImageView.depth=9.clicked.png to 20211027095159/494_ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:50:07 INFO [AppiumClient.141.mark] read from 20211027095159/493_SafetySettingActivity.tag=ImageView.depth=9.clicked.png 2021-10-29 09:50:07 INFO [AppiumClient.154.mark] write png 20211027095159/493_SafetySettingActivity.tag=ImageView.depth=9.clicked.png 2021-10-29 09:50:07 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/494_ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:50:07 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:07 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:50:07 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:07 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:08 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:08 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:08 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:08 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:08 INFO [Crawler.649.parsePageContext] url=SafetySettingActivity 2021-10-29 09:50:08 INFO [Crawler.673.parsePageContext] currentContentHash=3e233356a7eb35beb47054c4d1c1ece9 lastContentHash=d8d8a73db71f74277456f979fa416f0f 2021-10-29 09:50:08 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:08 INFO [Crawler.931.saveDom] save to 20211027095159/494_ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:50:09 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:09 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:09 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:09 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:09 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:09 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 495 2021-10-29 09:50:09 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:09 INFO [Crawler.425.needReturn] urlStack=Stack(SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:09 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:09 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:50:09 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:50:09 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:50:09 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:50:09 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:50:09 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:50:09 INFO [Crawler.851.crawl] SafetySettingActivity all elements had be clicked 2021-10-29 09:50:09 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:50:09 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:50:09 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:09 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:50:09 INFO [Crawler.996.doElementAction] current element = SafetySettingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:09 INFO [Crawler.997.doElementAction] current index = 495 2021-10-29 09:50:09 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:09 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:50:09 INFO [Crawler.1000.doElementAction] current url = SafetySettingActivity 2021-10-29 09:50:09 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:50:09 INFO [Crawler.1002.doElementAction] current file name = SafetySettingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:09 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:09 INFO [AppiumClient.53.findElementByURI] find by uri element= SafetySettingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:09 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:50:09 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:09 INFO [Crawler.1080.doElementAction] mark 20211027095159/494_ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/495_SafetySettingActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:50:09 INFO [AppiumClient.141.mark] read from 20211027095159/494_ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:50:09 INFO [AppiumClient.154.mark] write png 20211027095159/494_ModifyPhoneActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:50:09 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/495_SafetySettingActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:50:09 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:09 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:50:09 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:09 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:10 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:10 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:10 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:10 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:11 INFO [Crawler.649.parsePageContext] url=SettingActivity 2021-10-29 09:50:11 INFO [Crawler.673.parsePageContext] currentContentHash=c0a2e8e90debf9738266b6a4588d9b5e lastContentHash=3e233356a7eb35beb47054c4d1c1ece9 2021-10-29 09:50:11 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:11 INFO [Crawler.931.saveDom] save to 20211027095159/495_SafetySettingActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:50:11 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:11 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:11 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:11 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:11 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:11 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 496 2021-10-29 09:50:11 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:11 INFO [Crawler.425.needReturn] urlStack=Stack(SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:11 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:11 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:50:11 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:50:11 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:50:11 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:50:11 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:50:11 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:50:11 INFO [Crawler.843.crawl] found SettingActivity.tag=TextView.depth=9.text=账号、密码设置 by first available element 2021-10-29 09:50:11 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:11 INFO [Crawler.996.doElementAction] current element = SettingActivity.tag=TextView.depth=9.text=账号、密码设置 2021-10-29 09:50:11 INFO [Crawler.997.doElementAction] current index = 496 2021-10-29 09:50:11 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:11 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_safe_setting"]//*[@text="账号、密码设置"] 2021-10-29 09:50:11 INFO [Crawler.1000.doElementAction] current url = SettingActivity 2021-10-29 09:50:11 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:50:11 INFO [Crawler.1002.doElementAction] current file name = SettingActivity.tag=TextView.depth=9.text=账号、密码设置 2021-10-29 09:50:11 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:11 INFO [AppiumClient.53.findElementByURI] find by uri element= SettingActivity.tag=TextView.depth=9.text=账号、密码设置 2021-10-29 09:50:11 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_safe_setting"]//*[@text="账号、密码设置"] 2021-10-29 09:50:11 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:11 INFO [Crawler.1080.doElementAction] mark 20211027095159/495_SafetySettingActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/496_SettingActivity.tag=TextView.depth=9.text=账号、密码设置.click.png 2021-10-29 09:50:11 INFO [AppiumClient.141.mark] read from 20211027095159/495_SafetySettingActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:50:11 INFO [AppiumClient.154.mark] write png 20211027095159/495_SafetySettingActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:50:11 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/496_SettingActivity.tag=TextView.depth=9.text=账号、密码设置.click.png 2021-10-29 09:50:12 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:12 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_safe_setting"]//*[@text="账号、密码设置"]] 2021-10-29 09:50:12 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:12 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:13 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:13 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:13 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:13 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:13 INFO [Crawler.649.parsePageContext] url=SafetySettingActivity 2021-10-29 09:50:13 INFO [Crawler.673.parsePageContext] currentContentHash=3e233356a7eb35beb47054c4d1c1ece9 lastContentHash=c0a2e8e90debf9738266b6a4588d9b5e 2021-10-29 09:50:13 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:13 INFO [Crawler.931.saveDom] save to 20211027095159/496_SettingActivity.tag=TextView.depth=9.text=账号、密码设置.dom 2021-10-29 09:50:13 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:13 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:14 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:14 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:14 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:14 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SafetySettingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:50:14 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 497 2021-10-29 09:50:14 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:14 INFO [Crawler.425.needReturn] urlStack=Stack(SafetySettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:14 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:14 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:50:14 INFO [Crawler.499.getAvailableElement] all - black elements size = 10 2021-10-29 09:50:14 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 10 2021-10-29 09:50:14 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:50:14 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:50:14 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:50:14 INFO [Crawler.851.crawl] SafetySettingActivity all elements had be clicked 2021-10-29 09:50:14 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:50:14 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:50:14 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:14 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:50:14 INFO [Crawler.996.doElementAction] current element = SafetySettingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:14 INFO [Crawler.997.doElementAction] current index = 497 2021-10-29 09:50:14 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:14 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:50:14 INFO [Crawler.1000.doElementAction] current url = SafetySettingActivity 2021-10-29 09:50:14 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView 2021-10-29 09:50:14 INFO [Crawler.1002.doElementAction] current file name = SafetySettingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:14 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:14 INFO [AppiumClient.53.findElementByURI] find by uri element= SafetySettingActivity.tag=ImageView.depth=9.id=im_back 2021-10-29 09:50:14 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"] 2021-10-29 09:50:14 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:14 INFO [Crawler.1080.doElementAction] mark 20211027095159/496_SettingActivity.tag=TextView.depth=9.text=账号、密码设置.clicked.png to 20211027095159/497_SafetySettingActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:50:14 INFO [AppiumClient.141.mark] read from 20211027095159/496_SettingActivity.tag=TextView.depth=9.text=账号、密码设置.clicked.png 2021-10-29 09:50:14 INFO [AppiumClient.154.mark] write png 20211027095159/496_SettingActivity.tag=TextView.depth=9.text=账号、密码设置.clicked.png 2021-10-29 09:50:14 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/497_SafetySettingActivity.tag=ImageView.depth=9.id=im_back.click.png 2021-10-29 09:50:14 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:14 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/im_back"]] 2021-10-29 09:50:14 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:14 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:15 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:15 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:15 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:15 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:15 INFO [Crawler.649.parsePageContext] url=SettingActivity 2021-10-29 09:50:15 INFO [Crawler.673.parsePageContext] currentContentHash=c0a2e8e90debf9738266b6a4588d9b5e lastContentHash=3e233356a7eb35beb47054c4d1c1ece9 2021-10-29 09:50:15 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:15 INFO [Crawler.931.saveDom] save to 20211027095159/497_SafetySettingActivity.tag=ImageView.depth=9.id=im_back.dom 2021-10-29 09:50:15 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:15 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:16 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:16 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:16 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:16 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 498 2021-10-29 09:50:16 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:16 INFO [Crawler.425.needReturn] urlStack=Stack(SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:16 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:16 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:50:16 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:50:16 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:50:16 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:50:16 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:50:16 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:50:16 INFO [Crawler.843.crawl] found SettingActivity.tag=TextView.depth=9.text=自定义对账周期设置 by first available element 2021-10-29 09:50:16 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:16 INFO [Crawler.996.doElementAction] current element = SettingActivity.tag=TextView.depth=9.text=自定义对账周期设置 2021-10-29 09:50:16 INFO [Crawler.997.doElementAction] current index = 498 2021-10-29 09:50:16 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:16 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_settlement_time_settings"]//*[@text="自定义对账周期设置"] 2021-10-29 09:50:16 INFO [Crawler.1000.doElementAction] current url = SettingActivity 2021-10-29 09:50:16 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:50:16 INFO [Crawler.1002.doElementAction] current file name = SettingActivity.tag=TextView.depth=9.text=自定义对账周期设置 2021-10-29 09:50:16 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:16 INFO [AppiumClient.53.findElementByURI] find by uri element= SettingActivity.tag=TextView.depth=9.text=自定义对账周期设置 2021-10-29 09:50:16 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_settlement_time_settings"]//*[@text="自定义对账周期设置"] 2021-10-29 09:50:16 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:16 INFO [Crawler.1080.doElementAction] mark 20211027095159/497_SafetySettingActivity.tag=ImageView.depth=9.id=im_back.clicked.png to 20211027095159/498_SettingActivity.tag=TextView.depth=9.text=自定义对账周期设置.click.png 2021-10-29 09:50:16 INFO [AppiumClient.141.mark] read from 20211027095159/497_SafetySettingActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:50:16 INFO [AppiumClient.154.mark] write png 20211027095159/497_SafetySettingActivity.tag=ImageView.depth=9.id=im_back.clicked.png 2021-10-29 09:50:16 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/498_SettingActivity.tag=TextView.depth=9.text=自定义对账周期设置.click.png 2021-10-29 09:50:16 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:16 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_settlement_time_settings"]//*[@text="自定义对账周期设置"]] 2021-10-29 09:50:17 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:17 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:17 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:17 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:17 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:17 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:17 INFO [Crawler.649.parsePageContext] url=SettingActivity 2021-10-29 09:50:17 INFO [Crawler.673.parsePageContext] currentContentHash=01088e55581470b370258b6695a453c7 lastContentHash=c0a2e8e90debf9738266b6a4588d9b5e 2021-10-29 09:50:17 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:17 INFO [Crawler.931.saveDom] save to 20211027095159/498_SettingActivity.tag=TextView.depth=9.text=自定义对账周期设置.dom 2021-10-29 09:50:17 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:17 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:18 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[SettingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:50:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 499 2021-10-29 09:50:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:18 INFO [Crawler.425.needReturn] urlStack=Stack(SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 0 2021-10-29 09:50:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 0 2021-10-29 09:50:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 0 2021-10-29 09:50:18 INFO [Crawler.590.getAvailableElement] all - backButton size=0 2021-10-29 09:50:18 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:50:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:50:18 INFO [Crawler.851.crawl] SettingActivity all elements had be clicked 2021-10-29 09:50:18 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:50:18 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:50:18 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:50:18 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:50:18 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:50:18 INFO [Crawler.996.doElementAction] current element = SettingActivity.tag=Back.id=Back 2021-10-29 09:50:18 INFO [Crawler.997.doElementAction] current index = 499 2021-10-29 09:50:18 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:50:18 INFO [Crawler.999.doElementAction] current xpath = Back-499 2021-10-29 09:50:18 INFO [Crawler.1000.doElementAction] current url = SettingActivity 2021-10-29 09:50:18 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:50:18 INFO [Crawler.1002.doElementAction] current file name = SettingActivity.tag=Back.id=Back 2021-10-29 09:50:18 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:50:18 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:50:18 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:50:18 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:19 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:19 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:19 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:19 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:19 INFO [Crawler.649.parsePageContext] url=SettingActivity 2021-10-29 09:50:19 INFO [Crawler.673.parsePageContext] currentContentHash=c0a2e8e90debf9738266b6a4588d9b5e lastContentHash=01088e55581470b370258b6695a453c7 2021-10-29 09:50:19 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:19 INFO [Crawler.931.saveDom] save to 20211027095159/499_SettingActivity.tag=Back.id=Back.dom 2021-10-29 09:50:19 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:19 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:20 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:20 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:50:20 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:20 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 500 2021-10-29 09:50:20 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:20 INFO [Crawler.425.needReturn] urlStack=Stack(SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:20 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:20 INFO [Crawler.487.getAvailableElement] selected nodes size = 10 2021-10-29 09:50:20 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:50:20 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:50:20 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:50:20 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:50:20 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:50:20 INFO [Crawler.843.crawl] found SettingActivity.tag=TextView.depth=9.text=自定义结算附言 by first available element 2021-10-29 09:50:20 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:20 INFO [Crawler.996.doElementAction] current element = SettingActivity.tag=TextView.depth=9.text=自定义结算附言 2021-10-29 09:50:20 INFO [Crawler.997.doElementAction] current index = 500 2021-10-29 09:50:20 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:20 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_custom_postscript"]//*[@text="自定义结算附言"] 2021-10-29 09:50:20 INFO [Crawler.1000.doElementAction] current url = SettingActivity 2021-10-29 09:50:20 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:50:20 INFO [Crawler.1002.doElementAction] current file name = SettingActivity.tag=TextView.depth=9.text=自定义结算附言 2021-10-29 09:50:20 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:20 INFO [AppiumClient.53.findElementByURI] find by uri element= SettingActivity.tag=TextView.depth=9.text=自定义结算附言 2021-10-29 09:50:20 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_custom_postscript"]//*[@text="自定义结算附言"] 2021-10-29 09:50:20 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:20 INFO [Crawler.1080.doElementAction] mark 20211027095159/499_SettingActivity.tag=Back.id=Back.clicked.png to 20211027095159/500_SettingActivity.tag=TextView.depth=9.text=自定义结算附言.click.png 2021-10-29 09:50:20 INFO [AppiumClient.141.mark] read from 20211027095159/499_SettingActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:50:20 INFO [AppiumClient.154.mark] write png 20211027095159/499_SettingActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:50:20 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/500_SettingActivity.tag=TextView.depth=9.text=自定义结算附言.click.png 2021-10-29 09:50:20 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:20 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_custom_postscript"]//*[@text="自定义结算附言"]] 2021-10-29 09:50:21 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:21 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:22 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:22 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:22 INFO [Crawler.649.parsePageContext] url=PostscriptSettingActivity 2021-10-29 09:50:22 INFO [Crawler.673.parsePageContext] currentContentHash=fefd18399b82831f36e719e1d88d8c28 lastContentHash=c0a2e8e90debf9738266b6a4588d9b5e 2021-10-29 09:50:22 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:22 INFO [Crawler.931.saveDom] save to 20211027095159/500_SettingActivity.tag=TextView.depth=9.text=自定义结算附言.dom 2021-10-29 09:50:22 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:22 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:22 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:22 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:22 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:22 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 501 2021-10-29 09:50:22 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:22 INFO [Crawler.425.needReturn] urlStack=Stack(PostscriptSettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:22 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:22 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:50:22 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:50:22 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:50:22 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:50:22 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:50:22 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:50:22 INFO [Crawler.843.crawl] found PostscriptSettingActivity.tag=EditText.depth=11.id=edt_system_postscript.text=测试123 by first available element 2021-10-29 09:50:22 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:22 INFO [Crawler.996.doElementAction] current element = PostscriptSettingActivity.tag=EditText.depth=11.id=edt_system_postscript.text=测试123 2021-10-29 09:50:22 INFO [Crawler.997.doElementAction] current index = 501 2021-10-29 09:50:22 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:22 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_system_postscript"]//*[@text="测试123" and @resource-id="com.jlpay.merch:id/edt_system_postscript"] 2021-10-29 09:50:22 INFO [Crawler.1000.doElementAction] current url = PostscriptSettingActivity 2021-10-29 09:50:22 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText 2021-10-29 09:50:22 INFO [Crawler.1002.doElementAction] current file name = PostscriptSettingActivity.tag=EditText.depth=11.id=edt_system_postscript.text=测试123 2021-10-29 09:50:22 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:22 INFO [AppiumClient.53.findElementByURI] find by uri element= PostscriptSettingActivity.tag=EditText.depth=11.id=edt_system_postscript.text=测试123 2021-10-29 09:50:22 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_system_postscript"]//*[@text="测试123" and @resource-id="com.jlpay.merch:id/edt_system_postscript"] 2021-10-29 09:50:22 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:22 INFO [Crawler.1080.doElementAction] mark 20211027095159/500_SettingActivity.tag=TextView.depth=9.text=自定义结算附言.clicked.png to 20211027095159/501_PostscriptSettingActivity.tag=EditText.depth=11.id=edt_system_postscript.text=测试123.click.png 2021-10-29 09:50:22 INFO [AppiumClient.141.mark] read from 20211027095159/500_SettingActivity.tag=TextView.depth=9.text=自定义结算附言.clicked.png 2021-10-29 09:50:22 INFO [AppiumClient.154.mark] write png 20211027095159/500_SettingActivity.tag=TextView.depth=9.text=自定义结算附言.clicked.png 2021-10-29 09:50:22 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/501_PostscriptSettingActivity.tag=EditText.depth=11.id=edt_system_postscript.text=测试123.click.png 2021-10-29 09:50:23 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:23 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_system_postscript"]//*[@text="测试123" and @resource-id="com.jlpay.merch:id/edt_system_postscript"]] 2021-10-29 09:50:23 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:23 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:24 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:24 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:24 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:24 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:24 INFO [Crawler.649.parsePageContext] url=PostscriptSettingActivity 2021-10-29 09:50:24 INFO [Crawler.673.parsePageContext] currentContentHash=fefd18399b82831f36e719e1d88d8c28 lastContentHash=fefd18399b82831f36e719e1d88d8c28 2021-10-29 09:50:24 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:50:24 INFO [Crawler.931.saveDom] save to 20211027095159/501_PostscriptSettingActivity.tag=EditText.depth=11.id=edt_system_postscript.text=测试123.dom 2021-10-29 09:50:24 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:24 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:25 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:25 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:25 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:25 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PostscriptSettingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.EditText]=3 2021-10-29 09:50:25 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 502 2021-10-29 09:50:25 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:25 INFO [Crawler.425.needReturn] urlStack=Stack(PostscriptSettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:25 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:25 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:50:25 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:50:25 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:50:25 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:50:25 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:50:25 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:50:25 INFO [Crawler.843.crawl] found PostscriptSettingActivity.tag=TextView.depth=9.id=tv_right by first available element 2021-10-29 09:50:25 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:25 INFO [Crawler.996.doElementAction] current element = PostscriptSettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:50:25 INFO [Crawler.997.doElementAction] current index = 502 2021-10-29 09:50:25 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:25 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:50:25 INFO [Crawler.1000.doElementAction] current url = PostscriptSettingActivity 2021-10-29 09:50:25 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView 2021-10-29 09:50:25 INFO [Crawler.1002.doElementAction] current file name = PostscriptSettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:50:25 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:25 INFO [AppiumClient.53.findElementByURI] find by uri element= PostscriptSettingActivity.tag=TextView.depth=9.id=tv_right 2021-10-29 09:50:25 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"] 2021-10-29 09:50:25 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:25 INFO [Crawler.1080.doElementAction] mark 20211027095159/501_PostscriptSettingActivity.tag=EditText.depth=11.id=edt_system_postscript.text=测试123.clicked.png to 20211027095159/502_PostscriptSettingActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:50:25 INFO [AppiumClient.141.mark] read from 20211027095159/501_PostscriptSettingActivity.tag=EditText.depth=11.id=edt_system_postscript.text=测试123.clicked.png 2021-10-29 09:50:25 INFO [AppiumClient.154.mark] write png 20211027095159/501_PostscriptSettingActivity.tag=EditText.depth=11.id=edt_system_postscript.text=测试123.clicked.png 2021-10-29 09:50:25 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/502_PostscriptSettingActivity.tag=TextView.depth=9.id=tv_right.click.png 2021-10-29 09:50:25 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:25 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/titlelayout"]//*[@resource-id="com.jlpay.merch:id/tv_right"]] 2021-10-29 09:50:25 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:25 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:26 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:26 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:26 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:26 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:26 INFO [Crawler.649.parsePageContext] url=PostscriptSettingActivity 2021-10-29 09:50:26 INFO [Crawler.673.parsePageContext] currentContentHash=fefd18399b82831f36e719e1d88d8c28 lastContentHash=fefd18399b82831f36e719e1d88d8c28 2021-10-29 09:50:26 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:50:26 INFO [Crawler.931.saveDom] save to 20211027095159/502_PostscriptSettingActivity.tag=TextView.depth=9.id=tv_right.dom 2021-10-29 09:50:26 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:26 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:27 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:27 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:27 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:27 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PostscriptSettingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView]=3 2021-10-29 09:50:27 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 503 2021-10-29 09:50:27 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:27 INFO [Crawler.425.needReturn] urlStack=Stack(PostscriptSettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:27 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:27 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:50:27 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:50:27 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:50:27 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:50:27 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:50:27 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:50:27 INFO [Crawler.843.crawl] found PostscriptSettingActivity.tag=CheckBox.depth=9.id=cb_use_system_postscript by first available element 2021-10-29 09:50:27 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:27 INFO [Crawler.996.doElementAction] current element = PostscriptSettingActivity.tag=CheckBox.depth=9.id=cb_use_system_postscript 2021-10-29 09:50:27 INFO [Crawler.997.doElementAction] current index = 503 2021-10-29 09:50:27 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:27 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_use_system_postscript"]//*[@resource-id="com.jlpay.merch:id/cb_use_system_postscript"] 2021-10-29 09:50:27 INFO [Crawler.1000.doElementAction] current url = PostscriptSettingActivity 2021-10-29 09:50:27 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.CheckBox 2021-10-29 09:50:27 INFO [Crawler.1002.doElementAction] current file name = PostscriptSettingActivity.tag=CheckBox.depth=9.id=cb_use_system_postscript 2021-10-29 09:50:27 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:27 INFO [AppiumClient.53.findElementByURI] find by uri element= PostscriptSettingActivity.tag=CheckBox.depth=9.id=cb_use_system_postscript 2021-10-29 09:50:27 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_use_system_postscript"]//*[@resource-id="com.jlpay.merch:id/cb_use_system_postscript"] 2021-10-29 09:50:27 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:27 INFO [Crawler.1080.doElementAction] mark 20211027095159/502_PostscriptSettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png to 20211027095159/503_PostscriptSettingActivity.tag=CheckBox.depth=9.id=cb_use_system_postscript.click.png 2021-10-29 09:50:27 INFO [AppiumClient.141.mark] read from 20211027095159/502_PostscriptSettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:50:27 INFO [AppiumClient.154.mark] write png 20211027095159/502_PostscriptSettingActivity.tag=TextView.depth=9.id=tv_right.clicked.png 2021-10-29 09:50:27 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/503_PostscriptSettingActivity.tag=CheckBox.depth=9.id=cb_use_system_postscript.click.png 2021-10-29 09:50:28 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:28 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.merch:id/ll_use_system_postscript"]//*[@resource-id="com.jlpay.merch:id/cb_use_system_postscript"]] 2021-10-29 09:50:28 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:28 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:28 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:28 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:28 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:28 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:28 INFO [Crawler.649.parsePageContext] url=PostscriptSettingActivity 2021-10-29 09:50:28 INFO [Crawler.673.parsePageContext] currentContentHash=125b6e5249430eac8dd0f35e04ab04a1 lastContentHash=fefd18399b82831f36e719e1d88d8c28 2021-10-29 09:50:28 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:28 INFO [Crawler.931.saveDom] save to 20211027095159/503_PostscriptSettingActivity.tag=CheckBox.depth=9.id=cb_use_system_postscript.dom 2021-10-29 09:50:29 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:29 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:29 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:29 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:29 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:29 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PostscriptSettingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.CheckBox]=3 2021-10-29 09:50:29 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 504 2021-10-29 09:50:29 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:29 INFO [Crawler.425.needReturn] urlStack=Stack(PostscriptSettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:29 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:29 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:50:29 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:50:29 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:50:29 INFO [Crawler.590.getAvailableElement] all - backButton size=4 2021-10-29 09:50:29 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:50:29 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:50:29 INFO [Crawler.843.crawl] found PostscriptSettingActivity.tag=Button.depth=8.id=btn_confirm.text=确定 by first available element 2021-10-29 09:50:29 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:29 INFO [TagLimitPlugin.35.beforeElementAction] tagLimit[PostscriptSettingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.Button]=1000 with conf.tagLimit 2021-10-29 09:50:29 INFO [Crawler.996.doElementAction] current element = PostscriptSettingActivity.tag=Button.depth=8.id=btn_confirm.text=确定 2021-10-29 09:50:29 INFO [Crawler.997.doElementAction] current index = 504 2021-10-29 09:50:29 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:29 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/btn_confirm"] 2021-10-29 09:50:29 INFO [Crawler.1000.doElementAction] current url = PostscriptSettingActivity 2021-10-29 09:50:29 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.Button 2021-10-29 09:50:29 INFO [Crawler.1002.doElementAction] current file name = PostscriptSettingActivity.tag=Button.depth=8.id=btn_confirm.text=确定 2021-10-29 09:50:29 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:29 INFO [AppiumClient.53.findElementByURI] find by uri element= PostscriptSettingActivity.tag=Button.depth=8.id=btn_confirm.text=确定 2021-10-29 09:50:29 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/btn_confirm"] 2021-10-29 09:50:29 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:29 INFO [Crawler.1080.doElementAction] mark 20211027095159/503_PostscriptSettingActivity.tag=CheckBox.depth=9.id=cb_use_system_postscript.clicked.png to 20211027095159/504_PostscriptSettingActivity.tag=Button.depth=8.id=btn_confirm.text=确定.click.png 2021-10-29 09:50:29 INFO [AppiumClient.141.mark] read from 20211027095159/503_PostscriptSettingActivity.tag=CheckBox.depth=9.id=cb_use_system_postscript.clicked.png 2021-10-29 09:50:29 INFO [AppiumClient.154.mark] write png 20211027095159/503_PostscriptSettingActivity.tag=CheckBox.depth=9.id=cb_use_system_postscript.clicked.png 2021-10-29 09:50:29 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/504_PostscriptSettingActivity.tag=Button.depth=8.id=btn_confirm.text=确定.click.png 2021-10-29 09:50:30 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:30 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.merch:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@text="确定" and @resource-id="com.jlpay.merch:id/btn_confirm"]] 2021-10-29 09:50:30 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:30 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:30 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:30 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:30 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:30 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:30 INFO [Crawler.649.parsePageContext] url=PostscriptSettingActivity 2021-10-29 09:50:30 INFO [Crawler.673.parsePageContext] currentContentHash=01088e55581470b370258b6695a453c7 lastContentHash=125b6e5249430eac8dd0f35e04ab04a1 2021-10-29 09:50:30 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:30 INFO [Crawler.931.saveDom] save to 20211027095159/504_PostscriptSettingActivity.tag=Button.depth=8.id=btn_confirm.text=确定.dom 2021-10-29 09:50:30 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:30 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:31 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:31 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:31 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:31 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PostscriptSettingActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.Button]=999 2021-10-29 09:50:31 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 505 2021-10-29 09:50:31 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:31 INFO [Crawler.425.needReturn] urlStack=Stack(PostscriptSettingActivity, SettingActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:31 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:31 INFO [Crawler.487.getAvailableElement] selected nodes size = 0 2021-10-29 09:50:31 INFO [Crawler.499.getAvailableElement] all - black elements size = 0 2021-10-29 09:50:31 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 0 2021-10-29 09:50:31 INFO [Crawler.590.getAvailableElement] all - backButton size=0 2021-10-29 09:50:31 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:50:31 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:50:31 INFO [Crawler.851.crawl] PostscriptSettingActivity all elements had be clicked 2021-10-29 09:50:31 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:50:31 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:50:31 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:50:31 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:50:31 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:50:31 INFO [Crawler.996.doElementAction] current element = PostscriptSettingActivity.tag=Back.id=Back 2021-10-29 09:50:31 INFO [Crawler.997.doElementAction] current index = 505 2021-10-29 09:50:31 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:50:31 INFO [Crawler.999.doElementAction] current xpath = Back-505 2021-10-29 09:50:31 INFO [Crawler.1000.doElementAction] current url = PostscriptSettingActivity 2021-10-29 09:50:31 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:50:31 INFO [Crawler.1002.doElementAction] current file name = PostscriptSettingActivity.tag=Back.id=Back 2021-10-29 09:50:31 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:50:31 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:50:31 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:50:31 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:32 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:32 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:32 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:32 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:32 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:50:32 INFO [Crawler.673.parsePageContext] currentContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 lastContentHash=01088e55581470b370258b6695a453c7 2021-10-29 09:50:32 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:32 INFO [Crawler.931.saveDom] save to 20211027095159/505_PostscriptSettingActivity.tag=Back.id=Back.dom 2021-10-29 09:50:32 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:32 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:33 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:33 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:50:33 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:33 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 506 2021-10-29 09:50:33 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:33 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:33 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:33 INFO [Crawler.487.getAvailableElement] selected nodes size = 24 2021-10-29 09:50:33 INFO [Crawler.499.getAvailableElement] all - black elements size = 24 2021-10-29 09:50:33 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 24 2021-10-29 09:50:33 INFO [Crawler.590.getAvailableElement] all - backButton size=24 2021-10-29 09:50:33 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:50:33 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:50:33 INFO [Crawler.851.crawl] MainActivity all elements had be clicked 2021-10-29 09:50:33 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:50:33 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:50:33 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:50:33 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:50:33 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:50:33 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=Back.id=Back 2021-10-29 09:50:33 INFO [Crawler.997.doElementAction] current index = 506 2021-10-29 09:50:33 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:50:33 INFO [Crawler.999.doElementAction] current xpath = Back-506 2021-10-29 09:50:33 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:50:33 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:50:33 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=Back.id=Back 2021-10-29 09:50:33 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:50:33 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:50:34 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:50:34 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:34 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:34 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:34 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:34 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:34 INFO [Crawler.649.parsePageContext] url=Launcher 2021-10-29 09:50:34 INFO [Crawler.673.parsePageContext] currentContentHash=0e8b2ae24b23a10ec4e28f59e61a4e3b lastContentHash=8d7ae399f2a3cb17e093f4d94e4022a3 2021-10-29 09:50:34 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:34 INFO [Crawler.931.saveDom] save to 20211027095159/506_MainActivity.tag=Back.id=Back.dom 2021-10-29 09:50:35 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:35 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:38 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:38 INFO [Crawler.709.afterElementAction] backRetry=2 2021-10-29 09:50:38 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:38 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 507 2021-10-29 09:50:38 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:38 INFO [Crawler.425.needReturn] urlStack=Stack(Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:38 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:38 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:50:38 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:50:38 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:50:38 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:50:38 INFO [Crawler.598.getAvailableElement] all - clicked size=7 2021-10-29 09:50:38 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=7 2021-10-29 09:50:38 INFO [Crawler.843.crawl] found Launcher.tag=TextView.depth=10.name=哔哩哔哩.text=哔哩哔哩 by first available element 2021-10-29 09:50:38 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:38 INFO [Crawler.996.doElementAction] current element = Launcher.tag=TextView.depth=10.name=哔哩哔哩.text=哔哩哔哩 2021-10-29 09:50:38 INFO [Crawler.997.doElementAction] current index = 507 2021-10-29 09:50:38 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:38 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="com.oppo.launcher:id/launcher"]//*[@resource-id="com.oppo.launcher:id/drag_layer"]//*[@resource-id="com.oppo.launcher:id/workspace"]//*[@content-desc="哔哩哔哩" and @text="哔哩哔哩"] 2021-10-29 09:50:38 INFO [Crawler.1000.doElementAction] current url = Launcher 2021-10-29 09:50:38 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup/android.widget.TextView 2021-10-29 09:50:38 INFO [Crawler.1002.doElementAction] current file name = Launcher.tag=TextView.depth=10.name=哔哩哔哩.text=哔哩哔哩 2021-10-29 09:50:38 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:38 INFO [AppiumClient.53.findElementByURI] find by uri element= Launcher.tag=TextView.depth=10.name=哔哩哔哩.text=哔哩哔哩 2021-10-29 09:50:38 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="com.oppo.launcher:id/launcher"]//*[@resource-id="com.oppo.launcher:id/drag_layer"]//*[@resource-id="com.oppo.launcher:id/workspace"]//*[@content-desc="哔哩哔哩" and @text="哔哩哔哩"] 2021-10-29 09:50:38 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:38 INFO [Crawler.1080.doElementAction] mark 20211027095159/506_MainActivity.tag=Back.id=Back.clicked.png to 20211027095159/507_Launcher.tag=TextView.depth=10.name=哔哩哔哩.text=哔哩哔哩.click.png 2021-10-29 09:50:38 INFO [AppiumClient.141.mark] read from 20211027095159/506_MainActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:50:38 INFO [AppiumClient.154.mark] write png 20211027095159/506_MainActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:50:38 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/507_Launcher.tag=TextView.depth=10.name=哔哩哔哩.text=哔哩哔哩.click.png 2021-10-29 09:50:39 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:39 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="com.oppo.launcher:id/launcher"]//*[@resource-id="com.oppo.launcher:id/drag_layer"]//*[@resource-id="com.oppo.launcher:id/workspace"]//*[@content-desc="哔哩哔哩" and @text="哔哩哔哩"]] 2021-10-29 09:50:39 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:39 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:40 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:40 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:40 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:40 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:40 INFO [Crawler.649.parsePageContext] url=MainActivityV2 2021-10-29 09:50:40 INFO [Crawler.673.parsePageContext] currentContentHash=c1f82620dd4e7cfc2beb6b6c9f233b32 lastContentHash=0e8b2ae24b23a10ec4e28f59e61a4e3b 2021-10-29 09:50:40 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:40 INFO [Crawler.931.saveDom] save to 20211027095159/507_Launcher.tag=TextView.depth=10.name=哔哩哔哩.text=哔哩哔哩.dom 2021-10-29 09:50:40 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:40 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:41 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:41 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:41 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:41 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 508 2021-10-29 09:50:41 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:41 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivityV2, Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:41 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:41 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:50:41 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:50:41 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:50:41 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:50:41 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:50:41 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:50:41 INFO [Crawler.843.crawl] found MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意 by first available element 2021-10-29 09:50:41 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:41 INFO [Crawler.996.doElementAction] current element = MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意 2021-10-29 09:50:41 INFO [Crawler.997.doElementAction] current index = 508 2021-10-29 09:50:41 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:41 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="tv.danmaku.bili:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="tv.danmaku.bili:id/root_container"]//*[@resource-id="tv.danmaku.bili:id/container"]//*[@text="不同意" and @resource-id="tv.danmaku.bili:id/disagree"] 2021-10-29 09:50:41 INFO [Crawler.1000.doElementAction] current url = MainActivityV2 2021-10-29 09:50:41 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:50:41 INFO [Crawler.1002.doElementAction] current file name = MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意 2021-10-29 09:50:41 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:41 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意 2021-10-29 09:50:41 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="tv.danmaku.bili:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="tv.danmaku.bili:id/root_container"]//*[@resource-id="tv.danmaku.bili:id/container"]//*[@text="不同意" and @resource-id="tv.danmaku.bili:id/disagree"] 2021-10-29 09:50:41 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:41 INFO [Crawler.1080.doElementAction] mark 20211027095159/507_Launcher.tag=TextView.depth=10.name=哔哩哔哩.text=哔哩哔哩.clicked.png to 20211027095159/508_MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意.click.png 2021-10-29 09:50:41 INFO [AppiumClient.141.mark] read from 20211027095159/507_Launcher.tag=TextView.depth=10.name=哔哩哔哩.text=哔哩哔哩.clicked.png 2021-10-29 09:50:41 INFO [AppiumClient.154.mark] write png 20211027095159/507_Launcher.tag=TextView.depth=10.name=哔哩哔哩.text=哔哩哔哩.clicked.png 2021-10-29 09:50:41 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/508_MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意.click.png 2021-10-29 09:50:41 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:41 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="tv.danmaku.bili:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="tv.danmaku.bili:id/root_container"]//*[@resource-id="tv.danmaku.bili:id/container"]//*[@text="不同意" and @resource-id="tv.danmaku.bili:id/disagree"]] 2021-10-29 09:50:41 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:41 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:42 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:42 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:42 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:42 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:42 INFO [Crawler.649.parsePageContext] url=MainActivityV2 2021-10-29 09:50:42 INFO [Crawler.673.parsePageContext] currentContentHash=20001dec08791a47779e5ca31cecb8a1 lastContentHash=c1f82620dd4e7cfc2beb6b6c9f233b32 2021-10-29 09:50:42 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:42 INFO [Crawler.931.saveDom] save to 20211027095159/508_MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意.dom 2021-10-29 09:50:42 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:42 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:45 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:45 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:45 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:45 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[MainActivityV2hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:50:45 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 509 2021-10-29 09:50:45 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:45 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivityV2, Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:45 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:45 INFO [Crawler.487.getAvailableElement] selected nodes size = 2 2021-10-29 09:50:45 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:50:45 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:50:45 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:50:45 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:50:45 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:50:45 INFO [Crawler.843.crawl] found MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意并退出 by first available element 2021-10-29 09:50:45 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:45 INFO [Crawler.996.doElementAction] current element = MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意并退出 2021-10-29 09:50:45 INFO [Crawler.997.doElementAction] current index = 509 2021-10-29 09:50:45 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:45 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="tv.danmaku.bili:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="tv.danmaku.bili:id/root_container"]//*[@resource-id="tv.danmaku.bili:id/container"]//*[@text="不同意并退出" and @resource-id="tv.danmaku.bili:id/disagree"] 2021-10-29 09:50:45 INFO [Crawler.1000.doElementAction] current url = MainActivityV2 2021-10-29 09:50:45 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:50:45 INFO [Crawler.1002.doElementAction] current file name = MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意并退出 2021-10-29 09:50:45 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:45 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意并退出 2021-10-29 09:50:45 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="tv.danmaku.bili:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="tv.danmaku.bili:id/root_container"]//*[@resource-id="tv.danmaku.bili:id/container"]//*[@text="不同意并退出" and @resource-id="tv.danmaku.bili:id/disagree"] 2021-10-29 09:50:52 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:52 INFO [Crawler.1080.doElementAction] mark 20211027095159/508_MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意.clicked.png to 20211027095159/509_MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意并退出.click.png 2021-10-29 09:50:52 INFO [AppiumClient.141.mark] read from 20211027095159/508_MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意.clicked.png 2021-10-29 09:50:53 INFO [AppiumClient.154.mark] write png 20211027095159/508_MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意.clicked.png 2021-10-29 09:50:53 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/509_MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意并退出.click.png 2021-10-29 09:50:53 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:53 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="tv.danmaku.bili:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="tv.danmaku.bili:id/root_container"]//*[@resource-id="tv.danmaku.bili:id/container"]//*[@text="不同意并退出" and @resource-id="tv.danmaku.bili:id/disagree"]] 2021-10-29 09:50:53 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:53 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:53 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:53 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:50:54 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:50:54 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:50:54 INFO [Crawler.649.parsePageContext] url=Launcher 2021-10-29 09:50:54 INFO [Crawler.673.parsePageContext] currentContentHash=0e8b2ae24b23a10ec4e28f59e61a4e3b lastContentHash=20001dec08791a47779e5ca31cecb8a1 2021-10-29 09:50:54 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:50:54 INFO [Crawler.931.saveDom] save to 20211027095159/509_MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意并退出.dom 2021-10-29 09:50:54 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:50:54 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:50:57 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:50:57 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:50:57 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:50:57 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 510 2021-10-29 09:50:57 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:50:57 INFO [Crawler.425.needReturn] urlStack=Stack(Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:50:57 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:50:57 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:50:57 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:50:57 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:50:57 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:50:57 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:50:57 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:50:57 INFO [Crawler.843.crawl] found Launcher.tag=TextView.depth=10.name=Leaks.text=Leaks by first available element 2021-10-29 09:50:57 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:50:57 INFO [Crawler.996.doElementAction] current element = Launcher.tag=TextView.depth=10.name=Leaks.text=Leaks 2021-10-29 09:50:57 INFO [Crawler.997.doElementAction] current index = 510 2021-10-29 09:50:57 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:50:57 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="com.oppo.launcher:id/launcher"]//*[@resource-id="com.oppo.launcher:id/drag_layer"]//*[@resource-id="com.oppo.launcher:id/workspace"]//*[@content-desc="Leaks" and @text="Leaks"] 2021-10-29 09:50:57 INFO [Crawler.1000.doElementAction] current url = Launcher 2021-10-29 09:50:57 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup/android.widget.TextView 2021-10-29 09:50:57 INFO [Crawler.1002.doElementAction] current file name = Launcher.tag=TextView.depth=10.name=Leaks.text=Leaks 2021-10-29 09:50:57 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:50:57 INFO [AppiumClient.53.findElementByURI] find by uri element= Launcher.tag=TextView.depth=10.name=Leaks.text=Leaks 2021-10-29 09:50:57 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="com.oppo.launcher:id/launcher"]//*[@resource-id="com.oppo.launcher:id/drag_layer"]//*[@resource-id="com.oppo.launcher:id/workspace"]//*[@content-desc="Leaks" and @text="Leaks"] 2021-10-29 09:50:57 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:50:57 INFO [Crawler.1080.doElementAction] mark 20211027095159/509_MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意并退出.clicked.png to 20211027095159/510_Launcher.tag=TextView.depth=10.name=Leaks.text=Leaks.click.png 2021-10-29 09:50:57 INFO [AppiumClient.141.mark] read from 20211027095159/509_MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意并退出.clicked.png 2021-10-29 09:50:57 INFO [AppiumClient.154.mark] write png 20211027095159/509_MainActivityV2.tag=TextView.depth=9.id=disagree.text=不同意并退出.clicked.png 2021-10-29 09:50:57 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/510_Launcher.tag=TextView.depth=10.name=Leaks.text=Leaks.click.png 2021-10-29 09:50:59 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:50:59 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="com.oppo.launcher:id/launcher"]//*[@resource-id="com.oppo.launcher:id/drag_layer"]//*[@resource-id="com.oppo.launcher:id/workspace"]//*[@content-desc="Leaks" and @text="Leaks"]] 2021-10-29 09:50:59 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:50:59 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:50:59 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:50:59 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:00 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:00 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:00 INFO [Crawler.649.parsePageContext] url=LeakLauncherActivity 2021-10-29 09:51:00 INFO [Crawler.673.parsePageContext] currentContentHash=d66b66dbfd36b9dabda435935444e100 lastContentHash=0e8b2ae24b23a10ec4e28f59e61a4e3b 2021-10-29 09:51:00 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:51:00 INFO [Crawler.931.saveDom] save to 20211027095159/510_Launcher.tag=TextView.depth=10.name=Leaks.text=Leaks.dom 2021-10-29 09:51:00 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:00 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:00 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:00 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:51:00 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:00 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 511 2021-10-29 09:51:00 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:00 INFO [Crawler.425.needReturn] urlStack=Stack(LeakLauncherActivity, Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:00 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:00 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:51:00 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:51:00 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:51:00 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:51:00 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:51:00 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:51:00 INFO [Crawler.843.crawl] found LeakLauncherActivity.tag=TextView.depth=8.text=About by first available element 2021-10-29 09:51:00 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:51:00 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[LeakLauncherActivityhierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout]=20 2021-10-29 09:51:00 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[LeakLauncherActivityhierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView]=20 2021-10-29 09:51:00 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[LeakLauncherActivityhierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=20 2021-10-29 09:51:00 INFO [Crawler.996.doElementAction] current element = LeakLauncherActivity.tag=TextView.depth=8.text=About 2021-10-29 09:51:00 INFO [Crawler.997.doElementAction] current index = 511 2021-10-29 09:51:00 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:51:00 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_about"]//*[@text="About"] 2021-10-29 09:51:00 INFO [Crawler.1000.doElementAction] current url = LeakLauncherActivity 2021-10-29 09:51:00 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:51:00 INFO [Crawler.1002.doElementAction] current file name = LeakLauncherActivity.tag=TextView.depth=8.text=About 2021-10-29 09:51:00 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:51:00 INFO [AppiumClient.53.findElementByURI] find by uri element= LeakLauncherActivity.tag=TextView.depth=8.text=About 2021-10-29 09:51:00 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_about"]//*[@text="About"] 2021-10-29 09:51:00 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:51:00 INFO [Crawler.1080.doElementAction] mark 20211027095159/510_Launcher.tag=TextView.depth=10.name=Leaks.text=Leaks.clicked.png to 20211027095159/511_LeakLauncherActivity.tag=TextView.depth=8.text=About.click.png 2021-10-29 09:51:00 INFO [AppiumClient.141.mark] read from 20211027095159/510_Launcher.tag=TextView.depth=10.name=Leaks.text=Leaks.clicked.png 2021-10-29 09:51:01 INFO [AppiumClient.154.mark] write png 20211027095159/510_Launcher.tag=TextView.depth=10.name=Leaks.text=Leaks.clicked.png 2021-10-29 09:51:01 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/511_LeakLauncherActivity.tag=TextView.depth=8.text=About.click.png 2021-10-29 09:51:01 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:51:01 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_about"]//*[@text="About"]] 2021-10-29 09:51:01 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:51:01 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:01 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:01 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:01 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:01 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:01 INFO [Crawler.649.parsePageContext] url=LeakLauncherActivity 2021-10-29 09:51:01 INFO [Crawler.673.parsePageContext] currentContentHash=d66b66dbfd36b9dabda435935444e100 lastContentHash=d66b66dbfd36b9dabda435935444e100 2021-10-29 09:51:01 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:51:01 INFO [Crawler.931.saveDom] save to 20211027095159/511_LeakLauncherActivity.tag=TextView.depth=8.text=About.dom 2021-10-29 09:51:01 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:01 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:02 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:02 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:51:02 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:02 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[LeakLauncherActivityhierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:51:02 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 512 2021-10-29 09:51:02 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:02 INFO [Crawler.425.needReturn] urlStack=Stack(LeakLauncherActivity, Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:02 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:02 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:51:02 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:51:02 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:51:02 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:51:02 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:51:02 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:51:02 INFO [Crawler.843.crawl] found LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_heap_dumps_icon by first available element 2021-10-29 09:51:02 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:51:02 INFO [Crawler.996.doElementAction] current element = LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_heap_dumps_icon 2021-10-29 09:51:02 INFO [Crawler.997.doElementAction] current index = 512 2021-10-29 09:51:02 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:51:02 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_heap_dumps"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_heap_dumps_icon"] 2021-10-29 09:51:02 INFO [Crawler.1000.doElementAction] current url = LeakLauncherActivity 2021-10-29 09:51:02 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView 2021-10-29 09:51:02 INFO [Crawler.1002.doElementAction] current file name = LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_heap_dumps_icon 2021-10-29 09:51:02 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:51:02 INFO [AppiumClient.53.findElementByURI] find by uri element= LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_heap_dumps_icon 2021-10-29 09:51:02 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_heap_dumps"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_heap_dumps_icon"] 2021-10-29 09:51:02 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:51:02 INFO [Crawler.1080.doElementAction] mark 20211027095159/511_LeakLauncherActivity.tag=TextView.depth=8.text=About.clicked.png to 20211027095159/512_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_heap_dumps_icon.click.png 2021-10-29 09:51:02 INFO [AppiumClient.141.mark] read from 20211027095159/511_LeakLauncherActivity.tag=TextView.depth=8.text=About.clicked.png 2021-10-29 09:51:02 INFO [AppiumClient.154.mark] write png 20211027095159/511_LeakLauncherActivity.tag=TextView.depth=8.text=About.clicked.png 2021-10-29 09:51:02 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/512_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_heap_dumps_icon.click.png 2021-10-29 09:51:02 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:51:02 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_heap_dumps"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_heap_dumps_icon"]] 2021-10-29 09:51:03 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:51:03 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:04 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:04 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:04 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:04 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:04 INFO [Crawler.649.parsePageContext] url=LeakLauncherActivity 2021-10-29 09:51:04 INFO [Crawler.673.parsePageContext] currentContentHash=093c2530a8c5371f8473191fb4e2086a lastContentHash=d66b66dbfd36b9dabda435935444e100 2021-10-29 09:51:04 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:51:04 INFO [Crawler.931.saveDom] save to 20211027095159/512_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_heap_dumps_icon.dom 2021-10-29 09:51:04 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:04 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:04 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:04 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:51:04 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:04 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[LeakLauncherActivityhierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView]=19 2021-10-29 09:51:04 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 513 2021-10-29 09:51:04 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:04 INFO [Crawler.425.needReturn] urlStack=Stack(LeakLauncherActivity, Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:04 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:04 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:51:04 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:51:04 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:51:04 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:51:04 INFO [Crawler.598.getAvailableElement] all - clicked size=6 2021-10-29 09:51:04 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=6 2021-10-29 09:51:04 INFO [Crawler.843.crawl] found LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_import_heap_dump.text=Import Heap Dump by first available element 2021-10-29 09:51:04 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:51:04 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[LeakLauncherActivityhierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout]=20 2021-10-29 09:51:04 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[LeakLauncherActivityhierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView]=20 2021-10-29 09:51:04 INFO [TagLimitPlugin.29.$anonfun$beforeElementAction$1] tagLimit[LeakLauncherActivityhierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=20 2021-10-29 09:51:04 INFO [Crawler.996.doElementAction] current element = LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_import_heap_dump.text=Import Heap Dump 2021-10-29 09:51:04 INFO [Crawler.997.doElementAction] current index = 513 2021-10-29 09:51:04 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:51:04 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_main_container"]//*[@text="Import Heap Dump" and @resource-id="com.jlpay.feishua:id/leak_canary_import_heap_dump"] 2021-10-29 09:51:04 INFO [Crawler.1000.doElementAction] current url = LeakLauncherActivity 2021-10-29 09:51:04 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:51:04 INFO [Crawler.1002.doElementAction] current file name = LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_import_heap_dump.text=Import Heap Dump 2021-10-29 09:51:04 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:51:04 INFO [AppiumClient.53.findElementByURI] find by uri element= LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_import_heap_dump.text=Import Heap Dump 2021-10-29 09:51:04 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_main_container"]//*[@text="Import Heap Dump" and @resource-id="com.jlpay.feishua:id/leak_canary_import_heap_dump"] 2021-10-29 09:51:05 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:51:05 INFO [Crawler.1080.doElementAction] mark 20211027095159/512_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_heap_dumps_icon.clicked.png to 20211027095159/513_LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_import_heap_dump.text=Import Heap Dump.click.png 2021-10-29 09:51:05 INFO [AppiumClient.141.mark] read from 20211027095159/512_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_heap_dumps_icon.clicked.png 2021-10-29 09:51:05 INFO [AppiumClient.154.mark] write png 20211027095159/512_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_heap_dumps_icon.clicked.png 2021-10-29 09:51:05 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/513_LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_import_heap_dump.text=Import Heap Dump.click.png 2021-10-29 09:51:05 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:51:05 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_main_container"]//*[@text="Import Heap Dump" and @resource-id="com.jlpay.feishua:id/leak_canary_import_heap_dump"]] 2021-10-29 09:51:05 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:51:05 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:05 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:05 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:06 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:06 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:06 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:51:06 INFO [Crawler.673.parsePageContext] currentContentHash=ec8decd54948f40c4e0862320f92fa05 lastContentHash=093c2530a8c5371f8473191fb4e2086a 2021-10-29 09:51:06 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:51:06 INFO [Crawler.931.saveDom] save to 20211027095159/513_LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_import_heap_dump.text=Import Heap Dump.dom 2021-10-29 09:51:06 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:06 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:07 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:07 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:51:07 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:07 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 514 2021-10-29 09:51:07 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:07 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, LeakLauncherActivity, Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:07 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:07 INFO [Crawler.487.getAvailableElement] selected nodes size = 15 2021-10-29 09:51:07 INFO [Crawler.499.getAvailableElement] all - black elements size = 15 2021-10-29 09:51:07 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 15 2021-10-29 09:51:07 INFO [Crawler.590.getAvailableElement] all - backButton size=15 2021-10-29 09:51:07 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:51:07 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:51:07 INFO [Crawler.843.crawl] found PickActivity.tag=TextView.depth=18.id=title.name=错误报告.text=错误报告 by first available element 2021-10-29 09:51:07 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:51:07 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=TextView.depth=18.id=title.name=错误报告.text=错误报告 2021-10-29 09:51:07 INFO [Crawler.997.doElementAction] current index = 514 2021-10-29 09:51:07 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:51:07 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/directory_header"]//*[@resource-id="com.google.android.documentsui:id/apps_row"]//*[@resource-id="com.google.android.documentsui:id/apps_group"]//*[@content-desc="错误报告" and @text="错误报告" and @resource-id="android:id/title"] 2021-10-29 09:51:07 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:51:07 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:51:07 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=TextView.depth=18.id=title.name=错误报告.text=错误报告 2021-10-29 09:51:07 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:51:07 INFO [AppiumClient.53.findElementByURI] find by uri element= PickActivity.tag=TextView.depth=18.id=title.name=错误报告.text=错误报告 2021-10-29 09:51:07 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/directory_header"]//*[@resource-id="com.google.android.documentsui:id/apps_row"]//*[@resource-id="com.google.android.documentsui:id/apps_group"]//*[@content-desc="错误报告" and @text="错误报告" and @resource-id="android:id/title"] 2021-10-29 09:51:07 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:51:07 INFO [Crawler.1080.doElementAction] mark 20211027095159/513_LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_import_heap_dump.text=Import Heap Dump.clicked.png to 20211027095159/514_PickActivity.tag=TextView.depth=18.id=title.name=错误报告.text=错误报告.click.png 2021-10-29 09:51:07 INFO [AppiumClient.141.mark] read from 20211027095159/513_LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_import_heap_dump.text=Import Heap Dump.clicked.png 2021-10-29 09:51:07 INFO [AppiumClient.154.mark] write png 20211027095159/513_LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_import_heap_dump.text=Import Heap Dump.clicked.png 2021-10-29 09:51:07 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/514_PickActivity.tag=TextView.depth=18.id=title.name=错误报告.text=错误报告.click.png 2021-10-29 09:51:07 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:51:07 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/directory_header"]//*[@resource-id="com.google.android.documentsui:id/apps_row"]//*[@resource-id="com.google.android.documentsui:id/apps_group"]//*[@content-desc="错误报告" and @text="错误报告" and @resource-id="android:id/title"]] 2021-10-29 09:51:07 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:51:07 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:08 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:08 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:08 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:08 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:09 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:51:09 INFO [Crawler.673.parsePageContext] currentContentHash=7c32f67cd5a0092dd91b3b607880b1b8 lastContentHash=ec8decd54948f40c4e0862320f92fa05 2021-10-29 09:51:09 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:51:09 INFO [Crawler.931.saveDom] save to 20211027095159/514_PickActivity.tag=TextView.depth=18.id=title.name=错误报告.text=错误报告.dom 2021-10-29 09:51:09 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:09 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:09 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:09 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:51:09 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:09 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PickActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=3 2021-10-29 09:51:09 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 515 2021-10-29 09:51:09 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:09 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, LeakLauncherActivity, Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:09 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:09 INFO [Crawler.487.getAvailableElement] selected nodes size = 9 2021-10-29 09:51:09 INFO [Crawler.499.getAvailableElement] all - black elements size = 9 2021-10-29 09:51:09 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 9 2021-10-29 09:51:09 INFO [Crawler.590.getAvailableElement] all - backButton size=9 2021-10-29 09:51:09 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:51:09 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:51:09 INFO [Crawler.843.crawl] found PickActivity.tag=Button.depth=21.id=dismiss_button.text=确定 by first available element 2021-10-29 09:51:09 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:51:09 INFO [TagLimitPlugin.35.beforeElementAction] tagLimit[PickActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout/com.google.android.material.card.MaterialCardView/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=1000 with conf.tagLimit 2021-10-29 09:51:09 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=Button.depth=21.id=dismiss_button.text=确定 2021-10-29 09:51:09 INFO [Crawler.997.doElementAction] current index = 515 2021-10-29 09:51:09 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:51:09 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/container_directory"]//*[@resource-id="com.google.android.documentsui:id/refresh_layout"]//*[@resource-id="com.google.android.documentsui:id/dir_list"]//*[@resource-id="com.google.android.documentsui:id/item_root"]//*[@resource-id="com.google.android.documentsui:id/message_container"]//*[@text="确定" and @resource-id="com.google.android.documentsui:id/dismiss_button"] 2021-10-29 09:51:09 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:51:09 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout/com.google.android.material.card.MaterialCardView/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:51:09 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=Button.depth=21.id=dismiss_button.text=确定 2021-10-29 09:51:09 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:51:09 INFO [AppiumClient.53.findElementByURI] find by uri element= PickActivity.tag=Button.depth=21.id=dismiss_button.text=确定 2021-10-29 09:51:09 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/container_directory"]//*[@resource-id="com.google.android.documentsui:id/refresh_layout"]//*[@resource-id="com.google.android.documentsui:id/dir_list"]//*[@resource-id="com.google.android.documentsui:id/item_root"]//*[@resource-id="com.google.android.documentsui:id/message_container"]//*[@text="确定" and @resource-id="com.google.android.documentsui:id/dismiss_button"] 2021-10-29 09:51:10 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:51:10 INFO [Crawler.1080.doElementAction] mark 20211027095159/514_PickActivity.tag=TextView.depth=18.id=title.name=错误报告.text=错误报告.clicked.png to 20211027095159/515_PickActivity.tag=Button.depth=21.id=dismiss_button.text=确定.click.png 2021-10-29 09:51:10 INFO [AppiumClient.141.mark] read from 20211027095159/514_PickActivity.tag=TextView.depth=18.id=title.name=错误报告.text=错误报告.clicked.png 2021-10-29 09:51:10 INFO [AppiumClient.154.mark] write png 20211027095159/514_PickActivity.tag=TextView.depth=18.id=title.name=错误报告.text=错误报告.clicked.png 2021-10-29 09:51:10 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/515_PickActivity.tag=Button.depth=21.id=dismiss_button.text=确定.click.png 2021-10-29 09:51:10 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:51:10 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/container_directory"]//*[@resource-id="com.google.android.documentsui:id/refresh_layout"]//*[@resource-id="com.google.android.documentsui:id/dir_list"]//*[@resource-id="com.google.android.documentsui:id/item_root"]//*[@resource-id="com.google.android.documentsui:id/message_container"]//*[@text="确定" and @resource-id="com.google.android.documentsui:id/dismiss_button"]] 2021-10-29 09:51:10 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:51:10 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:11 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:11 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:11 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:11 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:11 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:51:11 INFO [Crawler.673.parsePageContext] currentContentHash=e664cff7c74821a903e674db9576ddb9 lastContentHash=7c32f67cd5a0092dd91b3b607880b1b8 2021-10-29 09:51:11 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:51:11 INFO [Crawler.931.saveDom] save to 20211027095159/515_PickActivity.tag=Button.depth=21.id=dismiss_button.text=确定.dom 2021-10-29 09:51:11 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:11 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:12 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:12 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:51:12 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:12 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[PickActivityhierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout/com.google.android.material.card.MaterialCardView/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=999 2021-10-29 09:51:12 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 516 2021-10-29 09:51:12 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:12 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, LeakLauncherActivity, Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:12 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:12 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:51:12 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:51:12 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:51:12 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:51:12 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:51:12 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:51:12 INFO [Crawler.851.crawl] PickActivity all elements had be clicked 2021-10-29 09:51:12 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:51:12 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:51:12 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:51:12 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:51:12 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:51:12 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=Back.id=Back 2021-10-29 09:51:12 INFO [Crawler.997.doElementAction] current index = 516 2021-10-29 09:51:12 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:51:12 INFO [Crawler.999.doElementAction] current xpath = Back-516 2021-10-29 09:51:12 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:51:12 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:51:12 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=Back.id=Back 2021-10-29 09:51:12 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:51:12 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:51:12 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:51:12 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:13 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:13 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:13 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:13 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:13 INFO [Crawler.649.parsePageContext] url=LeakLauncherActivity 2021-10-29 09:51:13 INFO [Crawler.673.parsePageContext] currentContentHash=093c2530a8c5371f8473191fb4e2086a lastContentHash=e664cff7c74821a903e674db9576ddb9 2021-10-29 09:51:13 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:51:13 INFO [Crawler.931.saveDom] save to 20211027095159/516_PickActivity.tag=Back.id=Back.dom 2021-10-29 09:51:13 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:13 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:14 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:14 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:51:14 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:14 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 517 2021-10-29 09:51:14 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:14 INFO [Crawler.425.needReturn] urlStack=Stack(LeakLauncherActivity, Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:14 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:14 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:51:14 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:51:14 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:51:14 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:51:14 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:51:14 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:51:14 INFO [Crawler.843.crawl] found LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_dump_heap_now.text=Dump Heap Now by first available element 2021-10-29 09:51:14 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:51:14 INFO [Crawler.996.doElementAction] current element = LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_dump_heap_now.text=Dump Heap Now 2021-10-29 09:51:14 INFO [Crawler.997.doElementAction] current index = 517 2021-10-29 09:51:14 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:51:14 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_main_container"]//*[@text="Dump Heap Now" and @resource-id="com.jlpay.feishua:id/leak_canary_dump_heap_now"] 2021-10-29 09:51:14 INFO [Crawler.1000.doElementAction] current url = LeakLauncherActivity 2021-10-29 09:51:14 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button 2021-10-29 09:51:14 INFO [Crawler.1002.doElementAction] current file name = LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_dump_heap_now.text=Dump Heap Now 2021-10-29 09:51:14 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:51:14 INFO [AppiumClient.53.findElementByURI] find by uri element= LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_dump_heap_now.text=Dump Heap Now 2021-10-29 09:51:14 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_main_container"]//*[@text="Dump Heap Now" and @resource-id="com.jlpay.feishua:id/leak_canary_dump_heap_now"] 2021-10-29 09:51:14 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:51:14 INFO [Crawler.1080.doElementAction] mark 20211027095159/516_PickActivity.tag=Back.id=Back.clicked.png to 20211027095159/517_LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_dump_heap_now.text=Dump Heap Now.click.png 2021-10-29 09:51:14 INFO [AppiumClient.141.mark] read from 20211027095159/516_PickActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:51:14 INFO [AppiumClient.154.mark] write png 20211027095159/516_PickActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:51:14 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/517_LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_dump_heap_now.text=Dump Heap Now.click.png 2021-10-29 09:51:14 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:51:14 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_main_container"]//*[@text="Dump Heap Now" and @resource-id="com.jlpay.feishua:id/leak_canary_dump_heap_now"]] 2021-10-29 09:51:14 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:51:14 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:15 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:15 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:17 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:17 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:17 INFO [Crawler.649.parsePageContext] url=LeakLauncherActivity 2021-10-29 09:51:17 INFO [Crawler.673.parsePageContext] currentContentHash=093c2530a8c5371f8473191fb4e2086a lastContentHash=093c2530a8c5371f8473191fb4e2086a 2021-10-29 09:51:17 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:51:17 INFO [Crawler.931.saveDom] save to 20211027095159/517_LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_dump_heap_now.text=Dump Heap Now.dom 2021-10-29 09:51:17 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:17 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:18 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:18 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:51:18 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:18 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[LeakLauncherActivityhierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button]=3 2021-10-29 09:51:18 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 518 2021-10-29 09:51:18 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:18 INFO [Crawler.425.needReturn] urlStack=Stack(LeakLauncherActivity, Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:18 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:18 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:51:18 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:51:18 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:51:18 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:51:18 INFO [Crawler.598.getAvailableElement] all - clicked size=4 2021-10-29 09:51:18 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=4 2021-10-29 09:51:18 INFO [Crawler.843.crawl] found LeakLauncherActivity.tag=TextView.depth=8.text=Leaks by first available element 2021-10-29 09:51:18 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:51:18 INFO [Crawler.996.doElementAction] current element = LeakLauncherActivity.tag=TextView.depth=8.text=Leaks 2021-10-29 09:51:18 INFO [Crawler.997.doElementAction] current index = 518 2021-10-29 09:51:18 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:51:18 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_leaks"]//*[@text="Leaks"] 2021-10-29 09:51:18 INFO [Crawler.1000.doElementAction] current url = LeakLauncherActivity 2021-10-29 09:51:18 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:51:18 INFO [Crawler.1002.doElementAction] current file name = LeakLauncherActivity.tag=TextView.depth=8.text=Leaks 2021-10-29 09:51:18 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:51:18 INFO [AppiumClient.53.findElementByURI] find by uri element= LeakLauncherActivity.tag=TextView.depth=8.text=Leaks 2021-10-29 09:51:18 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_leaks"]//*[@text="Leaks"] 2021-10-29 09:51:18 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:51:18 INFO [Crawler.1080.doElementAction] mark 20211027095159/517_LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_dump_heap_now.text=Dump Heap Now.clicked.png to 20211027095159/518_LeakLauncherActivity.tag=TextView.depth=8.text=Leaks.click.png 2021-10-29 09:51:18 INFO [AppiumClient.141.mark] read from 20211027095159/517_LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_dump_heap_now.text=Dump Heap Now.clicked.png 2021-10-29 09:51:18 INFO [AppiumClient.154.mark] write png 20211027095159/517_LeakLauncherActivity.tag=Button.depth=9.id=leak_canary_dump_heap_now.text=Dump Heap Now.clicked.png 2021-10-29 09:51:18 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/518_LeakLauncherActivity.tag=TextView.depth=8.text=Leaks.click.png 2021-10-29 09:51:18 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:51:18 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_leaks"]//*[@text="Leaks"]] 2021-10-29 09:51:18 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:51:18 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:18 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:18 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:19 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:19 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:19 INFO [Crawler.649.parsePageContext] url=LeakLauncherActivity 2021-10-29 09:51:19 INFO [Crawler.673.parsePageContext] currentContentHash=093c2530a8c5371f8473191fb4e2086a lastContentHash=093c2530a8c5371f8473191fb4e2086a 2021-10-29 09:51:19 INFO [Crawler.677.parsePageContext] ui not change 2021-10-29 09:51:19 INFO [Crawler.931.saveDom] save to 20211027095159/518_LeakLauncherActivity.tag=TextView.depth=8.text=Leaks.dom 2021-10-29 09:51:19 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:19 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:19 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:19 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:51:19 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:19 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[LeakLauncherActivityhierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView]=19 2021-10-29 09:51:19 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 519 2021-10-29 09:51:19 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:19 INFO [Crawler.425.needReturn] urlStack=Stack(LeakLauncherActivity, Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:19 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:19 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:51:19 INFO [Crawler.499.getAvailableElement] all - black elements size = 8 2021-10-29 09:51:19 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 8 2021-10-29 09:51:19 INFO [Crawler.590.getAvailableElement] all - backButton size=8 2021-10-29 09:51:19 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:51:19 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:51:19 INFO [Crawler.843.crawl] found LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_leaks_icon by first available element 2021-10-29 09:51:19 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:51:19 INFO [Crawler.996.doElementAction] current element = LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_leaks_icon 2021-10-29 09:51:19 INFO [Crawler.997.doElementAction] current index = 519 2021-10-29 09:51:19 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:51:19 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_leaks"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_leaks_icon"] 2021-10-29 09:51:19 INFO [Crawler.1000.doElementAction] current url = LeakLauncherActivity 2021-10-29 09:51:19 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView 2021-10-29 09:51:19 INFO [Crawler.1002.doElementAction] current file name = LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_leaks_icon 2021-10-29 09:51:19 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:51:19 INFO [AppiumClient.53.findElementByURI] find by uri element= LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_leaks_icon 2021-10-29 09:51:19 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_leaks"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_leaks_icon"] 2021-10-29 09:51:19 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:51:19 INFO [Crawler.1080.doElementAction] mark 20211027095159/518_LeakLauncherActivity.tag=TextView.depth=8.text=Leaks.clicked.png to 20211027095159/519_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_leaks_icon.click.png 2021-10-29 09:51:19 INFO [AppiumClient.141.mark] read from 20211027095159/518_LeakLauncherActivity.tag=TextView.depth=8.text=Leaks.clicked.png 2021-10-29 09:51:19 INFO [AppiumClient.154.mark] write png 20211027095159/518_LeakLauncherActivity.tag=TextView.depth=8.text=Leaks.clicked.png 2021-10-29 09:51:19 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/519_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_leaks_icon.click.png 2021-10-29 09:51:19 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:51:19 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_leaks"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_leaks_icon"]] 2021-10-29 09:51:20 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:51:20 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:20 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:20 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:20 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:20 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:20 INFO [Crawler.649.parsePageContext] url=LeakLauncherActivity 2021-10-29 09:51:20 INFO [Crawler.673.parsePageContext] currentContentHash=d66b66dbfd36b9dabda435935444e100 lastContentHash=093c2530a8c5371f8473191fb4e2086a 2021-10-29 09:51:20 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:51:20 INFO [Crawler.931.saveDom] save to 20211027095159/519_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_leaks_icon.dom 2021-10-29 09:51:20 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:20 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:21 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:21 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:51:21 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:21 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[LeakLauncherActivityhierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView]=19 2021-10-29 09:51:21 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 520 2021-10-29 09:51:21 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:21 INFO [Crawler.425.needReturn] urlStack=Stack(LeakLauncherActivity, Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:21 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:21 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:51:21 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:51:21 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:51:21 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:51:21 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:51:21 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:51:21 INFO [Crawler.843.crawl] found LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_about_icon by first available element 2021-10-29 09:51:21 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:51:21 INFO [Crawler.996.doElementAction] current element = LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_about_icon 2021-10-29 09:51:21 INFO [Crawler.997.doElementAction] current index = 520 2021-10-29 09:51:21 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:51:21 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_about"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_about_icon"] 2021-10-29 09:51:21 INFO [Crawler.1000.doElementAction] current url = LeakLauncherActivity 2021-10-29 09:51:21 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView 2021-10-29 09:51:21 INFO [Crawler.1002.doElementAction] current file name = LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_about_icon 2021-10-29 09:51:21 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:51:21 INFO [AppiumClient.53.findElementByURI] find by uri element= LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_about_icon 2021-10-29 09:51:21 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_about"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_about_icon"] 2021-10-29 09:51:21 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:51:21 INFO [Crawler.1080.doElementAction] mark 20211027095159/519_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_leaks_icon.clicked.png to 20211027095159/520_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_about_icon.click.png 2021-10-29 09:51:21 INFO [AppiumClient.141.mark] read from 20211027095159/519_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_leaks_icon.clicked.png 2021-10-29 09:51:21 INFO [AppiumClient.154.mark] write png 20211027095159/519_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_leaks_icon.clicked.png 2021-10-29 09:51:21 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/520_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_about_icon.click.png 2021-10-29 09:51:21 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:51:21 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/decor_content_parent"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_bottom_navigation_bar"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_about"]//*[@resource-id="com.jlpay.feishua:id/leak_canary_navigation_button_about_icon"]] 2021-10-29 09:51:22 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:51:22 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:22 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:22 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:22 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:22 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:23 INFO [Crawler.649.parsePageContext] url=LeakLauncherActivity 2021-10-29 09:51:23 INFO [Crawler.673.parsePageContext] currentContentHash=c706a1aec3b8c3c64fa0541943757f6a lastContentHash=d66b66dbfd36b9dabda435935444e100 2021-10-29 09:51:23 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:51:23 INFO [Crawler.931.saveDom] save to 20211027095159/520_LeakLauncherActivity.tag=ImageView.depth=8.id=leak_canary_navigation_button_about_icon.dom 2021-10-29 09:51:23 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:23 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:23 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:23 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:51:23 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:23 INFO [TagLimitPlugin.54.afterElementAction] tagLimit[LeakLauncherActivityhierarchy/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView]=18 2021-10-29 09:51:23 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 521 2021-10-29 09:51:23 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:23 INFO [Crawler.425.needReturn] urlStack=Stack(LeakLauncherActivity, Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:23 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:23 INFO [Crawler.487.getAvailableElement] selected nodes size = 5 2021-10-29 09:51:23 INFO [Crawler.499.getAvailableElement] all - black elements size = 5 2021-10-29 09:51:23 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 5 2021-10-29 09:51:23 INFO [Crawler.590.getAvailableElement] all - backButton size=5 2021-10-29 09:51:23 INFO [Crawler.598.getAvailableElement] all - clicked size=0 2021-10-29 09:51:23 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=0 2021-10-29 09:51:23 INFO [Crawler.851.crawl] LeakLauncherActivity all elements had be clicked 2021-10-29 09:51:23 INFO [Crawler.857.crawl] not match afterUrlFinish 2021-10-29 09:51:23 INFO [Crawler.744.getBackButton] go back 2021-10-29 09:51:23 WARN [Crawler.754.getBackButton] no back button 2021-10-29 09:51:23 INFO [Crawler.728.setElementAction] set action to back 2021-10-29 09:51:23 INFO [Crawler.887.crawl] skip beforeElementAction 2021-10-29 09:51:23 INFO [Crawler.996.doElementAction] current element = LeakLauncherActivity.tag=Back.id=Back 2021-10-29 09:51:23 INFO [Crawler.997.doElementAction] current index = 521 2021-10-29 09:51:23 INFO [Crawler.998.doElementAction] current action = back 2021-10-29 09:51:23 INFO [Crawler.999.doElementAction] current xpath = Back-521 2021-10-29 09:51:23 INFO [Crawler.1000.doElementAction] current url = LeakLauncherActivity 2021-10-29 09:51:23 INFO [Crawler.1001.doElementAction] current tag path = 2021-10-29 09:51:23 INFO [Crawler.1002.doElementAction] current file name = LeakLauncherActivity.tag=Back.id=Back 2021-10-29 09:51:23 INFO [Crawler.1018.doElementAction] back 2021-10-29 09:51:23 INFO [Crawler.1154.$anonfun$back$2] navigate back 2021-10-29 09:51:24 INFO [Crawler.1123.doElementAction] use last clicked image replace mark 2021-10-29 09:51:24 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:24 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:24 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:24 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:24 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:24 INFO [Crawler.649.parsePageContext] url=Launcher 2021-10-29 09:51:24 INFO [Crawler.673.parsePageContext] currentContentHash=0e8b2ae24b23a10ec4e28f59e61a4e3b lastContentHash=c706a1aec3b8c3c64fa0541943757f6a 2021-10-29 09:51:24 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:51:24 INFO [Crawler.931.saveDom] save to 20211027095159/521_LeakLauncherActivity.tag=Back.id=Back.dom 2021-10-29 09:51:24 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:24 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:27 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:27 INFO [Crawler.709.afterElementAction] backRetry=1 2021-10-29 09:51:27 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:27 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 522 2021-10-29 09:51:27 INFO [ReportPlugin.39.afterElementAction] 522-449 > 522/10+20 2021-10-29 09:51:27 INFO [ReportPlugin.40.afterElementAction] generate test report 2021-10-29 09:51:33 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:33 INFO [Crawler.425.needReturn] urlStack=Stack(Launcher, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:33 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:33 INFO [Crawler.487.getAvailableElement] selected nodes size = 8 2021-10-29 09:51:33 INFO [Crawler.499.getAvailableElement] all - black elements size = 7 2021-10-29 09:51:33 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 7 2021-10-29 09:51:33 INFO [Crawler.590.getAvailableElement] all - backButton size=7 2021-10-29 09:51:33 INFO [Crawler.598.getAvailableElement] all - clicked size=5 2021-10-29 09:51:33 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=5 2021-10-29 09:51:33 INFO [Crawler.843.crawl] found Launcher.tag=TextView.depth=10.name=电签测试程序.text=电签测试程序 by first available element 2021-10-29 09:51:33 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:51:33 INFO [Crawler.996.doElementAction] current element = Launcher.tag=TextView.depth=10.name=电签测试程序.text=电签测试程序 2021-10-29 09:51:33 INFO [Crawler.997.doElementAction] current index = 522 2021-10-29 09:51:33 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:51:33 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="com.oppo.launcher:id/launcher"]//*[@resource-id="com.oppo.launcher:id/drag_layer"]//*[@resource-id="com.oppo.launcher:id/workspace"]//*[@content-desc="电签测试程序" and @text="电签测试程序"] 2021-10-29 09:51:33 INFO [Crawler.1000.doElementAction] current url = Launcher 2021-10-29 09:51:33 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup/android.widget.TextView 2021-10-29 09:51:33 INFO [Crawler.1002.doElementAction] current file name = Launcher.tag=TextView.depth=10.name=电签测试程序.text=电签测试程序 2021-10-29 09:51:33 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:51:33 INFO [AppiumClient.53.findElementByURI] find by uri element= Launcher.tag=TextView.depth=10.name=电签测试程序.text=电签测试程序 2021-10-29 09:51:33 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="com.oppo.launcher:id/launcher"]//*[@resource-id="com.oppo.launcher:id/drag_layer"]//*[@resource-id="com.oppo.launcher:id/workspace"]//*[@content-desc="电签测试程序" and @text="电签测试程序"] 2021-10-29 09:51:33 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:51:33 INFO [Crawler.1080.doElementAction] mark 20211027095159/521_LeakLauncherActivity.tag=Back.id=Back.clicked.png to 20211027095159/522_Launcher.tag=TextView.depth=10.name=电签测试程序.text=电签测试程序.click.png 2021-10-29 09:51:33 INFO [AppiumClient.141.mark] read from 20211027095159/521_LeakLauncherActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:51:33 INFO [AppiumClient.154.mark] write png 20211027095159/521_LeakLauncherActivity.tag=Back.id=Back.clicked.png 2021-10-29 09:51:33 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/522_Launcher.tag=TextView.depth=10.name=电签测试程序.text=电签测试程序.click.png 2021-10-29 09:51:34 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:51:34 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="com.oppo.launcher:id/launcher"]//*[@resource-id="com.oppo.launcher:id/drag_layer"]//*[@resource-id="com.oppo.launcher:id/workspace"]//*[@content-desc="电签测试程序" and @text="电签测试程序"]] 2021-10-29 09:51:34 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:51:34 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:35 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:35 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:35 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:35 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:35 INFO [Crawler.649.parsePageContext] url=MainActivity 2021-10-29 09:51:35 INFO [Crawler.673.parsePageContext] currentContentHash=538594f73153dab90764d8b62f8c7c0f lastContentHash=0e8b2ae24b23a10ec4e28f59e61a4e3b 2021-10-29 09:51:35 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:51:35 INFO [Crawler.931.saveDom] save to 20211027095159/522_Launcher.tag=TextView.depth=10.name=电签测试程序.text=电签测试程序.dom 2021-10-29 09:51:35 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:35 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:36 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:36 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:51:36 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:36 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 523 2021-10-29 09:51:36 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:36 INFO [Crawler.425.needReturn] urlStack=Stack(MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:36 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:36 INFO [Crawler.487.getAvailableElement] selected nodes size = 1 2021-10-29 09:51:36 INFO [Crawler.499.getAvailableElement] all - black elements size = 1 2021-10-29 09:51:36 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 1 2021-10-29 09:51:36 INFO [Crawler.590.getAvailableElement] all - backButton size=1 2021-10-29 09:51:36 INFO [Crawler.598.getAvailableElement] all - clicked size=1 2021-10-29 09:51:36 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=1 2021-10-29 09:51:36 INFO [Crawler.843.crawl] found MainActivity.tag=Button.depth=11.id=button_first.text=跳转电签界面 by first available element 2021-10-29 09:51:36 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:51:36 INFO [Crawler.996.doElementAction] current element = MainActivity.tag=Button.depth=11.id=button_first.text=跳转电签界面 2021-10-29 09:51:36 INFO [Crawler.997.doElementAction] current index = 523 2021-10-29 09:51:36 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:51:36 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.jlpay.esign:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.esign:id/nav_host_fragment"]//*[@text="跳转电签界面" and @resource-id="com.jlpay.esign:id/button_first"] 2021-10-29 09:51:36 INFO [Crawler.1000.doElementAction] current url = MainActivity 2021-10-29 09:51:36 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.FrameLayout/android.view.ViewGroup/android.widget.Button 2021-10-29 09:51:36 INFO [Crawler.1002.doElementAction] current file name = MainActivity.tag=Button.depth=11.id=button_first.text=跳转电签界面 2021-10-29 09:51:36 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:51:36 INFO [AppiumClient.53.findElementByURI] find by uri element= MainActivity.tag=Button.depth=11.id=button_first.text=跳转电签界面 2021-10-29 09:51:36 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.jlpay.esign:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.esign:id/nav_host_fragment"]//*[@text="跳转电签界面" and @resource-id="com.jlpay.esign:id/button_first"] 2021-10-29 09:51:36 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:51:36 INFO [Crawler.1080.doElementAction] mark 20211027095159/522_Launcher.tag=TextView.depth=10.name=电签测试程序.text=电签测试程序.clicked.png to 20211027095159/523_MainActivity.tag=Button.depth=11.id=button_first.text=跳转电签界面.click.png 2021-10-29 09:51:36 INFO [AppiumClient.141.mark] read from 20211027095159/522_Launcher.tag=TextView.depth=10.name=电签测试程序.text=电签测试程序.clicked.png 2021-10-29 09:51:36 INFO [AppiumClient.154.mark] write png 20211027095159/522_Launcher.tag=TextView.depth=10.name=电签测试程序.text=电签测试程序.clicked.png 2021-10-29 09:51:36 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/523_MainActivity.tag=Button.depth=11.id=button_first.text=跳转电签界面.click.png 2021-10-29 09:51:36 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:51:36 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.jlpay.esign:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.jlpay.esign:id/nav_host_fragment"]//*[@text="跳转电签界面" and @resource-id="com.jlpay.esign:id/button_first"]] 2021-10-29 09:51:36 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:51:36 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:37 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:37 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:37 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:37 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:37 INFO [Crawler.649.parsePageContext] url=ESignWebviewActivity 2021-10-29 09:51:37 INFO [Crawler.673.parsePageContext] currentContentHash=71384e0305c64e5a1955c788e5a26e3d lastContentHash=538594f73153dab90764d8b62f8c7c0f 2021-10-29 09:51:37 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:51:37 INFO [Crawler.931.saveDom] save to 20211027095159/523_MainActivity.tag=Button.depth=11.id=button_first.text=跳转电签界面.dom 2021-10-29 09:51:37 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:37 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:38 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:38 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:51:38 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:38 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 524 2021-10-29 09:51:38 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:38 INFO [Crawler.425.needReturn] urlStack=Stack(ESignWebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:38 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:38 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:51:38 INFO [Crawler.499.getAvailableElement] all - black elements size = 3 2021-10-29 09:51:38 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 3 2021-10-29 09:51:38 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:51:38 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:51:38 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:51:38 INFO [Crawler.843.crawl] found ESignWebviewActivity.tag=Button.depth=10.id=filename.text=选择文件 by first available element 2021-10-29 09:51:38 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:51:38 INFO [Crawler.996.doElementAction] current element = ESignWebviewActivity.tag=Button.depth=10.id=filename.text=选择文件 2021-10-29 09:51:38 INFO [Crawler.997.doElementAction] current index = 524 2021-10-29 09:51:38 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:51:38 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="app"]//*[@resource-id="nav"]//*[@text="选择文件" and @resource-id="filename"] 2021-10-29 09:51:38 INFO [Crawler.1000.doElementAction] current url = ESignWebviewActivity 2021-10-29 09:51:38 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.widget.Button 2021-10-29 09:51:38 INFO [Crawler.1002.doElementAction] current file name = ESignWebviewActivity.tag=Button.depth=10.id=filename.text=选择文件 2021-10-29 09:51:38 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:51:38 INFO [AppiumClient.53.findElementByURI] find by uri element= ESignWebviewActivity.tag=Button.depth=10.id=filename.text=选择文件 2021-10-29 09:51:38 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="app"]//*[@resource-id="nav"]//*[@text="选择文件" and @resource-id="filename"] 2021-10-29 09:51:38 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:51:38 INFO [Crawler.1080.doElementAction] mark 20211027095159/523_MainActivity.tag=Button.depth=11.id=button_first.text=跳转电签界面.clicked.png to 20211027095159/524_ESignWebviewActivity.tag=Button.depth=10.id=filename.text=选择文件.click.png 2021-10-29 09:51:38 INFO [AppiumClient.141.mark] read from 20211027095159/523_MainActivity.tag=Button.depth=11.id=button_first.text=跳转电签界面.clicked.png 2021-10-29 09:51:38 INFO [AppiumClient.154.mark] write png 20211027095159/523_MainActivity.tag=Button.depth=11.id=button_first.text=跳转电签界面.clicked.png 2021-10-29 09:51:38 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/524_ESignWebviewActivity.tag=Button.depth=10.id=filename.text=选择文件.click.png 2021-10-29 09:51:38 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:51:38 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="app"]//*[@resource-id="nav"]//*[@text="选择文件" and @resource-id="filename"]] 2021-10-29 09:51:38 INFO [Crawler.1198.stop] ctrl c interval = 0 2021-10-29 09:51:38 INFO [Crawler.917.saveLog] save log to 20211027095159/elements.yml 2021-10-29 09:51:38 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:51:38 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:38 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:38 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:39 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:39 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:39 INFO [Crawler.649.parsePageContext] url=ChooserActivity 2021-10-29 09:51:39 INFO [Crawler.673.parsePageContext] currentContentHash=720d85da0158a133a5d10232ea966eb2 lastContentHash=71384e0305c64e5a1955c788e5a26e3d 2021-10-29 09:51:39 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:51:39 INFO [Crawler.931.saveDom] save to 20211027095159/524_ESignWebviewActivity.tag=Button.depth=10.id=filename.text=选择文件.dom 2021-10-29 09:51:39 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:39 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:39 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:39 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:51:39 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:39 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 525 2021-10-29 09:51:39 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:39 INFO [Crawler.425.needReturn] urlStack=Stack(ChooserActivity, ESignWebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:39 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:39 INFO [Crawler.487.getAvailableElement] selected nodes size = 3 2021-10-29 09:51:39 INFO [Crawler.499.getAvailableElement] all - black elements size = 2 2021-10-29 09:51:39 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 2 2021-10-29 09:51:39 INFO [Crawler.590.getAvailableElement] all - backButton size=2 2021-10-29 09:51:39 INFO [Crawler.598.getAvailableElement] all - clicked size=2 2021-10-29 09:51:39 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=2 2021-10-29 09:51:39 INFO [Crawler.843.crawl] found ChooserActivity.tag=TextView.depth=14.id=resolver_item_name.text=文件 by first available element 2021-10-29 09:51:39 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:51:39 INFO [Crawler.996.doElementAction] current element = ChooserActivity.tag=TextView.depth=14.id=resolver_item_name.text=文件 2021-10-29 09:51:39 INFO [Crawler.997.doElementAction] current index = 525 2021-10-29 09:51:39 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:51:39 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="android:id/content"]//*[@resource-id="android:id/contentPanel"]//*[@resource-id="oplus:id/resolver_tabhost"]//*[@resource-id="android:id/tabcontent"]//*[@resource-id="oplus:id/resolver_scroll_panel"]//*[@resource-id="oplus:id/oplus_resolver_pager"]//*[@text="文件" and @resource-id="oplus:id/resolver_item_name"] 2021-10-29 09:51:39 INFO [Crawler.1000.doElementAction] current url = ChooserActivity 2021-10-29 09:51:39 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.TabHost/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/com.oplus.widget.OplusViewPager/com.android.internal.widget.RecyclerView/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:51:39 INFO [Crawler.1002.doElementAction] current file name = ChooserActivity.tag=TextView.depth=14.id=resolver_item_name.text=文件 2021-10-29 09:51:39 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:51:39 INFO [AppiumClient.53.findElementByURI] find by uri element= ChooserActivity.tag=TextView.depth=14.id=resolver_item_name.text=文件 2021-10-29 09:51:39 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="android:id/content"]//*[@resource-id="android:id/contentPanel"]//*[@resource-id="oplus:id/resolver_tabhost"]//*[@resource-id="android:id/tabcontent"]//*[@resource-id="oplus:id/resolver_scroll_panel"]//*[@resource-id="oplus:id/oplus_resolver_pager"]//*[@text="文件" and @resource-id="oplus:id/resolver_item_name"] 2021-10-29 09:51:39 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:51:39 INFO [Crawler.1080.doElementAction] mark 20211027095159/524_ESignWebviewActivity.tag=Button.depth=10.id=filename.text=选择文件.clicked.png to 20211027095159/525_ChooserActivity.tag=TextView.depth=14.id=resolver_item_name.text=文件.click.png 2021-10-29 09:51:39 INFO [AppiumClient.141.mark] read from 20211027095159/524_ESignWebviewActivity.tag=Button.depth=10.id=filename.text=选择文件.clicked.png 2021-10-29 09:51:39 INFO [AppiumClient.154.mark] write png 20211027095159/524_ESignWebviewActivity.tag=Button.depth=10.id=filename.text=选择文件.clicked.png 2021-10-29 09:51:39 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/525_ChooserActivity.tag=TextView.depth=14.id=resolver_item_name.text=文件.click.png 2021-10-29 09:51:40 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:51:40 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="android:id/content"]//*[@resource-id="android:id/contentPanel"]//*[@resource-id="oplus:id/resolver_tabhost"]//*[@resource-id="android:id/tabcontent"]//*[@resource-id="oplus:id/resolver_scroll_panel"]//*[@resource-id="oplus:id/oplus_resolver_pager"]//*[@text="文件" and @resource-id="oplus:id/resolver_item_name"]] 2021-10-29 09:51:40 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:51:40 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:40 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:40 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:41 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:41 INFO [Crawler.645.parsePageContext] appName = 2021-10-29 09:51:41 INFO [Crawler.649.parsePageContext] url=PickActivity 2021-10-29 09:51:41 INFO [Crawler.673.parsePageContext] currentContentHash=69552ef875bf6a7065923fd7e0cf48fd lastContentHash=720d85da0158a133a5d10232ea966eb2 2021-10-29 09:51:41 INFO [Crawler.675.parsePageContext] ui change 2021-10-29 09:51:41 INFO [Crawler.931.saveDom] save to 20211027095159/525_ChooserActivity.tag=TextView.depth=14.id=resolver_item_name.text=文件.dom 2021-10-29 09:51:41 INFO [Crawler.953.saveScreen] start screenshot 2021-10-29 09:51:41 INFO [Crawler.956.$anonfun$saveScreen$2] ui change screenshot again 2021-10-29 09:51:42 INFO [Crawler.977.saveScreen] screenshot success 2021-10-29 09:51:42 INFO [Crawler.709.afterElementAction] backRetry=0 2021-10-29 09:51:42 INFO [Crawler.712.afterElementAction] afterElementAction eval 2021-10-29 09:51:42 INFO [ReportPlugin.36.afterElementAction] clickedElementsList size = 526 2021-10-29 09:51:42 INFO [Crawler.772.crawl] crawl next 2021-10-29 09:51:42 INFO [Crawler.425.needReturn] urlStack=Stack(PickActivity, ChooserActivity, ESignWebviewActivity, MainActivity, SubSettings, LoginActivity) baseUrl=List() maxDepth=10 2021-10-29 09:51:42 INFO [Crawler.834.crawl] no need to back 2021-10-29 09:51:42 INFO [Crawler.487.getAvailableElement] selected nodes size = 23 2021-10-29 09:51:42 INFO [Crawler.499.getAvailableElement] all - black elements size = 23 2021-10-29 09:51:42 INFO [Crawler.528.getAvailableElement] all - first - last elements size = 23 2021-10-29 09:51:42 INFO [Crawler.590.getAvailableElement] all - backButton size=23 2021-10-29 09:51:42 INFO [Crawler.598.getAvailableElement] all - clicked size=3 2021-10-29 09:51:42 INFO [Crawler.605.getAvailableElement] all - skiped fresh elements size=3 2021-10-29 09:51:42 INFO [Crawler.843.crawl] found PickActivity.tag=TextView.depth=18.id=title.name=系统跟踪记录.text=系统跟踪记录 by first available element 2021-10-29 09:51:42 INFO [Crawler.728.setElementAction] set action to click 2021-10-29 09:51:42 INFO [Crawler.996.doElementAction] current element = PickActivity.tag=TextView.depth=18.id=title.name=系统跟踪记录.text=系统跟踪记录 2021-10-29 09:51:42 INFO [Crawler.997.doElementAction] current index = 526 2021-10-29 09:51:42 INFO [Crawler.998.doElementAction] current action = click 2021-10-29 09:51:42 INFO [Crawler.999.doElementAction] current xpath = //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/directory_header"]//*[@resource-id="com.google.android.documentsui:id/apps_row"]//*[@resource-id="com.google.android.documentsui:id/apps_group"]//*[@content-desc="系统跟踪记录" and @text="系统跟踪记录" and @resource-id="android:id/title"] 2021-10-29 09:51:42 INFO [Crawler.1000.doElementAction] current url = PickActivity 2021-10-29 09:51:42 INFO [Crawler.1001.doElementAction] current tag path = hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.drawerlayout.widget.DrawerLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView 2021-10-29 09:51:42 INFO [Crawler.1002.doElementAction] current file name = PickActivity.tag=TextView.depth=18.id=title.name=系统跟踪记录.text=系统跟踪记录 2021-10-29 09:51:42 INFO [Crawler.1071.doElementAction] need input click 2021-10-29 09:51:42 INFO [AppiumClient.53.findElementByURI] find by uri element= PickActivity.tag=TextView.depth=18.id=title.name=系统跟踪记录.text=系统跟踪记录 2021-10-29 09:51:42 INFO [AppiumClient.266.findElementsByURI] findElementsByXPath //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/directory_header"]//*[@resource-id="com.google.android.documentsui:id/apps_row"]//*[@resource-id="com.google.android.documentsui:id/apps_group"]//*[@content-desc="系统跟踪记录" and @text="系统跟踪记录" and @resource-id="android:id/title"] 2021-10-29 09:51:42 INFO [AppiumClient.60.findElementByURI] find by xpath success 2021-10-29 09:51:42 INFO [Crawler.1080.doElementAction] mark 20211027095159/525_ChooserActivity.tag=TextView.depth=14.id=resolver_item_name.text=文件.clicked.png to 20211027095159/526_PickActivity.tag=TextView.depth=18.id=title.name=系统跟踪记录.text=系统跟踪记录.click.png 2021-10-29 09:51:42 INFO [AppiumClient.141.mark] read from 20211027095159/525_ChooserActivity.tag=TextView.depth=14.id=resolver_item_name.text=文件.clicked.png 2021-10-29 09:51:42 INFO [AppiumClient.154.mark] write png 20211027095159/525_ChooserActivity.tag=TextView.depth=14.id=resolver_item_name.text=文件.clicked.png 2021-10-29 09:51:42 INFO [AppiumClient.161.mark] ImageIO.write newImageName 20211027095159/526_PickActivity.tag=TextView.depth=18.id=title.name=系统跟踪记录.text=系统跟踪记录.click.png 2021-10-29 09:51:43 INFO [Crawler.1095.$anonfun$doElementAction$5] click element 2021-10-29 09:51:43 INFO [AppiumClient.174.click] [[io.appium.java_client.android.AndroidDriver, Capabilities: {app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, databaseEnabled=false, desired={platformName=android, appium=http://127.0.0.1:4723/wd/hub, autoLaunch=true, app=, appActivity=.ui.start.SplashActivity, appPackage=com.jlpay.merch, deviceName=oppo, fullReset=false, noReset=true, platformVersion=11.0}, deviceApiLevel=30, deviceManufacturer=OPPO, deviceModel=PDKM00, deviceName=NZKRMFZ9RSLRAQGY, deviceScreenDensity=480, deviceScreenSize=1080x2400, deviceUDID=NZKRMFZ9RSLRAQGY, fullReset=false, javascriptEnabled=true, locationContextEnabled=false, networkConnectionEnabled=true, noReset=true, pixelRatio=3, platform=LINUX, platformName=Android, platformVersion=11, statBarHeight=112, takesScreenshot=true, viewportRect={left=0, top=112, width=1080, height=2176}, warnings={}, webStorageEnabled=false}] -> xpath: //*[@resource-id="com.google.android.documentsui:id/action_bar_root"]//*[@resource-id="android:id/content"]//*[@resource-id="com.google.android.documentsui:id/coordinator_layout"]//*[@resource-id="com.google.android.documentsui:id/drawer_layout"]//*[@resource-id="com.google.android.documentsui:id/app_bar"]//*[@resource-id="com.google.android.documentsui:id/collapsing_toolbar"]//*[@resource-id="com.google.android.documentsui:id/directory_header"]//*[@resource-id="com.google.android.documentsui:id/apps_row"]//*[@resource-id="com.google.android.documentsui:id/apps_group"]//*[@content-desc="系统跟踪记录" and @text="系统跟踪记录" and @resource-id="android:id/title"]] 2021-10-29 09:51:43 INFO [Crawler.1126.doElementAction] mark image exist 2021-10-29 09:51:43 INFO [Crawler.1130.doElementAction] sleep 500 for loading 2021-10-29 09:51:43 INFO [Crawler.627.refreshPage] refresh page 2021-10-29 09:51:43 INFO [AppiumClient.102.getPageSourceWithRetry] start to get page source from appium 2021-10-29 09:51:43 INFO [FreeMind.17.stop] genereate freemind file freemind.mm 2021-10-29 09:51:43 INFO [Crawler.1207.stop] generate report finish 2021-10-29 09:51:44 INFO [AppiumClient.117.$anonfun$getPageSourceWithRetry$1] xml format 2021-10-29 09:51:44 INFO [Crawler.645.parsePageContext] appName =