无法以编程方式选择浏览器的“新建选项卡”页面上的元素

Unable to programatically select elements on browser's New Tab page

提问人:Bill in Kansas City 提问时间:10/20/2022 更新时间:10/20/2022 访问量:84

问:

我使用的是最新版本的 Edge,但这也适用于 Chromium。

当我打开一个新标签页时,我得到的内容 ntp.msn.com(新闻、广告等)。我可以检查任何元素并在 DevTools 的“元素”选项卡上查看它,但我无法在控制台中使用 javascript 选择其中任何一个,例如:

document.querySelectorAll('[area-label=Reddit]')

document.querySelectorAll('cs-native-ad-card') // non standard tag?

两者都返回长度为零的节点列表。为什么/有何不同?

JavaScript Microsoft Edge Chromium

评论

0赞 Ouroborus 10/20/2022
对我来说,在 Edge 上,几乎所有东西都在 .您无法通过 跨越这些边界。相反,您需要获取具有阴影根的元素,从中获取阴影根的内容,然后找到下一个具有阴影根的元素,然后重复。(这仅适用于开放的影子根。封闭根通常只能由创建它们的代码访问。#shadow-root.querySelectorAll.shadowRoot
0赞 Ouroborus 10/20/2022
请参阅使用自定义元素使用影子 DOMShadowRoot

答: 暂无答案