getElementById和querySelectorAll在chrome:// history

时间:2017-06-19 10:28:41

标签: 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,所以我只是困惑为什么它不起作用预期

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

1 个答案:

答案 0 :(得分:3)

你需要使用:: 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'))
        });