我在 firefox DevTools 的控制台中使用以下代码从https://bookauthority.org/books/best-problem-solving-books中提取书名代码 1var selects=document.querySelectorAll("div.book-header-title a.book-title h2.main");for (i = 0; i < selects.length; ++i) { console.log (selects[i].innerText);}代码 2var selects=document.querySelectorAll("div.book-header-title a.book-title h2.main");console.log(selects)即使下面的代码也不起作用var selects=document.querySelectorAll("body");console.log(selects)它只说undefined。我能做些什么?
1 回答
郎朗坤
TA贡献1921条经验 获得超9个赞
querySelectorAll工作得很好。问题在于您正在执行代码的特定网页已经覆盖了该window.console.log方法,并且新实现显然不会像其本机实现那样将参数打印到控制台。
你可以通过发出window.console.log(不带括号)来看到这一点,它通常会打印出类似的东西ƒ log() { [native code] }(至少在 Chrome 中)。
有一些技巧可以获取本机实现。例如,请参阅这篇文章:https://stackoverflow.com/a/11129588/4005175
例子:
// restore window.console.log method
var f = document.createElement("iframe");
f.style.display = "none";
document.documentElement.appendChild(f);
window.console.log = f.contentWindow.console.log;
// print book titles
var selects=document.querySelectorAll("div.book-header-title a.book-title h2.main");
for (i = 0; i < selects.length; ++i) {
console.log (selects[i].innerText);
}
添加回答
举报
0/150
提交
取消