求助 appcrawler 相同layout的element只能第一项被点击

<androidx.recyclerview.widget.RecyclerView resource-id=“com.photo.library.ww:id/recycleview”>

 <**android.widget.FrameLayout**>

<**android.widget.LinearLayout**>

<android.widget.FrameLayout>

<android.widget.RelativeLayout resource-id=“com.photo.library.ww:id/content_layout”>

<android.widget.FrameLayout>

<android.widget.LinearLayout>

<android.widget.FrameLayout>

<android.widget.RelativeLayout resource-id=“com.photo.library.ww:id/content_layout”>

<android.widget.FrameLayout>

<android.widget.LinearLayout>

<android.widget.FrameLayout>

<android.widget.RelativeLayout resource-id=“com.photo.library.ww:id/content_layout”>

<android.widget.FrameLayout>

<android.widget.LinearLayout>

<android.widget.FrameLayout>

<android.widget.RelativeLayout resource-id=“com.photo.library.ww:id/content_layout”>

selectedList:
- path: “//[contains(@resouce-id, ‘recycleview’)]//[contains(@resouce-id, ‘contains_layout’) and contains(@class, ‘Text’)]”

测试的过程中只有第一项被点击,有大佬知道的吗,谢谢 注:taglimit 中也没有设置限制次数

发一下appcrawler.log文件 看看详细日志呢?
如果不能上传log格式的附件的话 可以把它后缀名改成txt

这个log有点不方便上传 :smiling_face_with_tear:

  • 因为通过给出的selectedList命中的这些元素由于是一个类似列表的结构,大部分元素属性都是相同的,导致在排除已点击元素时将他们认作同一个元素一次全部排除掉了
  • 暂时可以先通过更换定位方式,定位到它们的子元素或者父元素,增加元素之间的差异来避免这种问题的出现
  • 这个问题也已经记录在案,后续会探索增加更多的属性避免此类情况出现

这些子元素实际只是文本不同,其他的一毛一样,目前看log中 点击的是同一个layout导致的,实际上工具中xpath中带上//*[这里一样 and contains(@text, ‘这里有区别’)], 应该就可以点到的,但是目前没有实现。

文本不同?在处理的时候文本是会作为参数进行比较的 如果文本不同的话不应该会导致将它们认成同一个元素 能把其中一个点击步骤的日志上传看看么

2022-02-18 16:45:34 DEBUG [Crawler.444.needBackToPage] urlStack=Stack(com.photo.library.MyPhotosListActivity, com.photo.library.StartActivity) baseUrl=List() maxDepth=5
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(@resource-id, ‘recycleview’)]//[contains(@resource-id, ‘myPhonesItemName’) and contains(@class, ‘Text’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 4 with //[contains(@resource-id, ‘recycleview’)]//[contains(@resource-id, ‘myPhonesItemName’) and contains(@class, ‘Text’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 4
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myPhonesItemName.text=SET DE APPLES PHOTO
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myPhonesItemName.text=PEAR PHOTO
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myPhonesItemName.text=BANA
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myPhonesItemName.text=WATER
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(@resource-id, ‘container_btns2’)]//[contains(@class, ‘Text’) and @text!=‘’]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(@resource-id, ‘container_btns2’)]//[contains(@class, ‘Text’) and @text!=‘’]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(@resource-id, ‘selectphoto_root_view’)]//[@resource-id!=‘’]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(@resource-id, ‘selectphoto_root_view’)]//[@resource-id!=‘’]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(name(), ‘Button’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 1 with //
[contains(name(), ‘Button’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 1
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=ImageButton.depth=9.name=Revenir en haut de la page
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(name(), ‘Text’) and @clickable=‘true’ and string-length(@text)<10]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 1 with //
[contains(name(), ‘Text’) and @clickable=‘true’ and string-length(@text)<10]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 1
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=10.id=navigate_next.name=FiniButton.text=FINI
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[@clickable=‘true’]//[contains(name(), ‘Text’) and string-length(@text)<7]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 7 with //[@clickable=‘true’]//[contains(name(), ‘Text’) and string-length(@text)<7]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 7
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=14.id=space_view
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=14.id=space_view
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myDealsItemPrice.text=24 €
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=14.id=space_view
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myDealsItemPrice.text=24 €
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=14.id=space_view
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myDealsItemPrice.text=14 €
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(name(), ‘Image’) and @clickable=‘true’]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 1 with //
[contains(name(), ‘Image’) and @clickable=‘true’]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 1
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=ImageButton.depth=9.name=Revenir en haut de la page
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[@clickable=‘true’]/[contains(name(), ‘Image’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[@clickable=‘true’]/[contains(name(), ‘Image’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(name(), ‘Image’) and @name!=‘’]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //
[contains(name(), ‘Image’) and @name!=‘’]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(name(), ‘Text’) and @name!=‘’ and string-length(@label)<7]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //
[contains(name(), ‘Text’) and @name!=‘’ and string-length(@label)<7]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(@class, ‘Text’) and @clickable=‘true’ and string-length(@text)<10]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 1 with //
[contains(@class, ‘Text’) and @clickable=‘true’ and string-length(@text)<10]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 1
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=10.id=navigate_next.name=FiniButton.text=FINI
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[@clickable=‘true’]//[contains(@class, ‘Text’) and string-length(@text)<10]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 8 with //[@clickable=‘true’]//[contains(@class, ‘Text’) and string-length(@text)<10]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 8
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=14.id=space_view
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myDealsItemPrice.text=6 pour 3
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=14.id=space_view
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myDealsItemPrice.text=24
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=14.id=space_view
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myDealsItemPrice.text=24
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=14.id=space_view
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myDealsItemPrice.text=14
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(@class, ‘Image’) and @clickable=‘true’]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 1 with //
[contains(@class, ‘Image’) and @clickable=‘true’]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 1
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=ImageButton.depth=9.name=Revenir en haut de la page
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[@clickable=‘true’]/[contains(@class, ‘Image’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[@clickable=‘true’]/[contains(@class, ‘Image’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[@clickable=‘true’ and contains(@class, ‘Button’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 1 with //
[@clickable=‘true’ and contains(@class, ‘Button’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 1
2022-02-18 16:45:34 TRACE [Crawler.512.$anonfun$getAvailableElement$3] com.photo.library.MyPhotosListActivity.tag=ImageButton.depth=9.name=Revenir en haut de la page
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[@clickable=‘true’ and contains(@class, ‘Switch’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //
[@clickable=‘true’ and contains(@class, ‘Switch’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[@clickable=‘true’ and contains(@class, ‘Spinner’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //
[@clickable=‘true’ and contains(@class, ‘Spinner’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.508.$anonfun$getAvailableElement$1] selectedList xpath = //[contains(@class, ‘ScrollView’)]//[@resource-id!=‘’]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(@class, ‘ScrollView’)]//[@resource-id!=‘’]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 INFO [Crawler.517.getAvailableElement] selected nodes size = 14
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@resource-id, ‘deleteButton’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //
[contains(@resource-id, ‘deleteButton’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = COMMENCER
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@resource-id, ‘drawer_icon’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //
[contains(@resource-id, ‘drawer_icon’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@resource-id, ‘frameLayoutHome’)]//
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(@resource-id, ‘frameLayoutHome’)]//
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = .[0-9]{1,2}.
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=ImageView.depth=12.id=img_photo1
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myDealsItemPrice.text=6€ pour 3
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=android.view.View.depth=12.id=slidming_menu_div3
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=ImageView.depth=12.id=img_photo1
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myPhonesItemName.text=PEAR PHOTO
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myDealsItemPrice.text=24
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=android.view.View.depth=12.id=slidming_menu_div3
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=ImageView.depth=12.id=img_photo1
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myPhonesItemName.text=BANA
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myDealsItemPrice.text=24
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=android.view.View.depth=12.id=slidming_menu_div3
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=ImageView.depth=12.id=img_photo1
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myPhonesItemName.text=WATER
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myDealsItemPrice.text=14
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@resource-id, ‘space_view’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 4 with //
[contains(@resource-id, ‘space_view’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 4
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=TextView.depth=14.id=space_view
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=TextView.depth=14.id=space_view
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=TextView.depth=14.id=space_view
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=TextView.depth=14.id=space_view
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@resource-id, ‘menu_home_layout’)]//
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(@resource-id, ‘menu_home_layout’)]//
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@resource-id, ‘menu_account_information’)]//
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(@resource-id, ‘menu_account_information’)]//
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@resource-id, ‘link_contain’)]//
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(@resource-id, ‘link_contain’)]//
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@resource-id, ‘top_layout’)]//
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(@resource-id, ‘top_layout’)]//
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@resource-id, ‘container_sb’)]//
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(@resource-id, ‘container_sb’)]//
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@resource-id, ‘container_sb’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //
[contains(@resource-id, ‘container_sb’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@resource-id, ‘menu_linear_layout’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //
[contains(@resource-id, ‘menu_linear_layout’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@class, ‘Scroll’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //
[contains(@class, ‘Scroll’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@resource-id, ‘menu_linear_layout’)]//[contains(@class, ‘Layout’) or contains(@class, ‘Text’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(@resource-id, ‘menu_linear_layout’)]//[contains(@class, ‘Layout’) or contains(@class, ‘Text’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@resource-id, ‘menu_linear_layout’)]//[contains(@resource-id, ‘layout’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //[contains(@resource-id, ‘menu_linear_layout’)]//[contains(@resource-id, ‘layout’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = Annuler
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@content-desc, ‘Navigate up’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 0 with //
[contains(@content-desc, ‘Navigate up’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 0
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //[contains(@content-desc, ‘Revenir en haut de la page’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 1 with //
[contains(@content-desc, ‘Revenir en haut de la page’)]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 1
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=ImageButton.depth=9.name=Revenir en haut de la page
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = Continuer
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = Non
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = ENREG
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = Déconnexion
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = FINI
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=TextView.depth=10.id=navigate_next.name=FiniButton.text=FINI
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = ACCUEIL
2022-02-18 16:45:34 TRACE [Crawler.546.$anonfun$getAvailableElement$9] blackList xpath = //android.widget.FrameLayout[@class=‘android.widget.FrameLayout’]
2022-02-18 16:45:34 TRACE [XPathUtil$.233.getNodeListByXPath] nodeList length 16 with //android.widget.FrameLayout[@class=‘android.widget.FrameLayout’]
2022-02-18 16:45:34 TRACE [XPathUtil$.336.getNodeListByXPath] filted node list length 16
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=2
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=4
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=5.id=action_bar_root
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=6.id=content
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=9
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=11
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=12.id=container_multi_slots
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=9
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=11
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=12.id=container_multi_slots
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=9
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=11
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=12.id=container_multi_slots
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=9
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=11
2022-02-18 16:45:34 TRACE [Crawler.549.$anonfun$getAvailableElement$11] com.photo.library.MyPhotosListActivity.tag=FrameLayout.depth=12.id=container_multi_slots
2022-02-18 16:45:34 INFO [Crawler.554.getAvailableElement] selectedElements - black elements size = 1
2022-02-18 16:45:34 TRACE [Crawler.556.$anonfun$getAvailableElement$12] com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myPhonesItemName.text=SET DE APPLES PHOTO
2022-02-18 16:45:34 INFO [Crawler.573.getAvailableElement] selectedElements - backButton size=1
2022-02-18 16:45:34 DEBUG [URIElementStore.122.isClicked] element=com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myPhonesItemName.text=SET DE APPLES PHOTO first show, need click
2022-02-18 16:45:34 INFO [Crawler.581.getAvailableElement] selectedElements - clicked size=1
2022-02-18 16:45:34 DEBUG [URIElementStore.131.isSkipped] element=com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myPhonesItemName.text=SET DE APPLES PHOTO first show, need click
2022-02-18 16:45:34 INFO [Crawler.588.getAvailableElement] selectedElements - skiped fresh elements size=1

2022-02-18 16:45:34 DEBUG [URIElementStore.131.isSkipped] element=com.photo.library.MyPhotosListActivity.tag=TextView.depth=16.id=myPhonesItemName.text=SET DE APPLES PHOTO first show, need click

里面有四项 只有第一项 need click,其他三项跳过了


是这个black list中的表达式把你想要的后三项给过滤掉了,可以看到通过这个表达式定位到的元素内包含了你想要的后三项

没有作用,去掉之后还是点击了第一项,而且被点击四次

能找到点击这四次的日志么?