javascript - getElementById 和 querySelectorAll 在 Chrome 中不起作用 ://history

标签 javascript html google-chrome

我正在尝试简化我的生活,并通过查询删除 chrome 历史记录。我有数百个复选框需要删除,手动删除真的很痛苦。

所以我打开 chrome://history/?q=somequery,并看到很多复选框。我写道:

document.querySelectorAll('[aria-checked]')

它什么也没返回。好的,我写:

document.querySelectorAll('button')

它什么也没返回!好的,然后我只需点击 Edit HTML 按钮并手动添加一些元素,然后尝试通过 id 获取它: enter image description here

document.getElementById('foooobar')

你知道吗?没什么。

我不明白它是否使用某种框架或阻止我访问这些元素的东西,但我检查了没有 i-/frame,所以我只是很困惑为什么它不能像预计。

在询问之前我用谷歌搜索并找到了几个答案,人们只想在创建元素之前获取元素,但现在页面已完全加载,元素仍然不可用......

最佳答案

您需要使用::shadow 伪选择器进入 Shadow dom。尝试使用此代码片段来选择所有按钮。

[].slice.call(document
            .querySelector('history-app::shadow iron-pages history-list')
            .querySelector('history-list::shadow iron-list')
            .querySelectorAll('iron-list history-item'))
        .forEach(function(el) {
            console.log(el.querySelector('history-item::shadow button'))
        });

关于javascript - getElementById 和 querySelectorAll 在 Chrome 中不起作用 ://history,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44628137/

相关文章:

javascript - 计算的 Observable 未更新

javascript - 更改 jqPlot 上的单个刻度线

javascript - 为什么在函数外部定义颜色时 e.target.style.backgroundColor 不更新?

html - 如何确保 <td> 的高度恰好是 200px?

html - A-Frame/Google Chrome 在 2019 年是否有正确的链接遍历?

Javascript:将具有匹配项的函数传递给替换(regex,func(arg))不起作用

php - 将数据推送到收据打印机

javascript - 如何进入调试器来执行react-native命令?

html - Nodejs 表单发布请求不起作用

image - 如何在 Google Chrome 中禁用 srcset