的getElementById和querySelectorAll不镀铬工作://历史

问题描述:

我想简化我的生活一点,并通过查询删除铬的历史。我有几百个复选框要删除,手动操作真的很痛苦。的getElementById和querySelectorAll不镀铬工作://历史

于是我打开chrome://history/?q=somequery,并看到了很多的复选框。我写:

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

并且它什么也没有返回。好吧,我写:

document.querySelectorAll('button') 

它什么也没有返回!好吧,那么我只是打Edit HTML按钮,手动添加一些元素,然后试图通过ID来获得它: enter image description here

document.getElementById('foooobar') 

而且你知道吗?没有。

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

我问前一派,发现几个答案,人们只是想创建它们之前得到的元素,但现在页面完全加载和元素仍然不可用......

+1

它是一种高分子的应用程序。聚合物使用网络组件,反过来创建阴影。比基本dom更复杂 – charlietfl

你需要将手伸入阴影通过使用:: shadow伪选择器。试试这个片段来选择所有的按钮。

[].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')) 
     }); 
+0

我听说阴影仍然是一种实验技术。我没想到他们已经使用过它。 –

+0

这是一年或两年前更实验的方式,现在它有很多的用途和浏览器甚至在内部使用它的元素。如果您在各自的检查员中启用它,您可以看到它。 –