在页面遇到#shadow-root动态元素前端自定义的组件,其下的子元素使用id和class定位一般都找不到这个元素
可以尝试
class ComponentTest(minium.MiniTest):
def test_Study(self):
self.page.get_element('view[class='card hamburger']')
结果: None
如果想要拿到第一种方法就是先把顶层的page下的所有元素获取到
class ComponentTest(minium.MiniTest):
def test_Study(self):
wxml = self.page.get_element('page').inner_wxml
print(wxml)
到格式化网站格式化查看class元素是和小程序显示到不同的,在class元素的前端
html格式化链接
# 截取下的一段标签对比
<view bindtap=“handleCardTap" class="card hamburger" data-detail-url="/ pages/audio/aud io? cmdId=1308668002679320576”>
<view class="hamburger-index--card hamburger-index--hamburger" data-detail-url="/pages/audio/audio?cmdId=1308668002679320576">
查看到到元素,多了这个元素hamburger-index–他存在class类的前面部分,这个元素是前端自定义的,使用"hamburger-index–card hamburger-index–hamburger"定位就能定位到了
第二种方法就是绝对路径
如标签有文本,也可使用标签加文本定位
class ComponentTest(minium.MiniTest):
def test_Study(self):
self.page.get_element('text',inner_text="文本")
第三种方式
可以选中需要定位的元素,在模拟器查看,可以显示可用的class属性