微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么在 devtool 中搜索结果的数量急剧下降?

如何解决为什么在 devtool 中搜索结果的数量急剧下降?

我在 devtool 中执行了一个简单的搜索,但它无缘无故地急剧下降:

另外,如果我查看源代码并进行相同的搜索<link rel 的结果数量只有 58 个,而不是 184 个。你知道为什么吗?

如果您需要检查,这里是 page

解决方法

Devtools 使用 CDP 命令 DOM.performSearch 并根据 implementation 判断它试图匹配这些类型的查询:

  • text - #text 节点内部(如 js 中的 textContent)

  • text - 内部标签名称

  • text - 内部属性名称

  • text - 内部属性值

  • <tag - 匹配标签名称的开头

  • </tag - 匹配结束标记

  • tag> - 匹配标签名称的末尾

  • <tag> - 匹配整个标签名称

  • "text - 在属性值的开头匹配

  • text" - 在属性值末尾匹配

  • text - 匹配整个属性值

  • //a[contains(.,'foo')] - XPath 选择器

  • a#foo.class[attr] - CSS 选择器

如您所见,文字文本匹配仅限于前四种类型,它不会找到跨越多种类型的事物,例如跨越两种类型的 attr="value"

对于这些“复杂”的查询,您必须使用 XPath 或 CSS:

  • //link[@rel]
  • //link[contains(@rel,'style')]

对于像 a 这样的简单 CSS 选择器,请改用 html a 以确保它不会作为文字匹配。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。