关于谷歌浏览器的控制台

1,416 阅读1分钟

有用的快捷键

  • Ctrl + Shift + C:以检查元素的方式打开控制台并定位 Elements 栏。选中某个元素后可以在控制台输出 $0 ,即可输出该元素。输出的元素右键点击 Reveal in Elements Panel 即可重新定位到 Elements 栏。
  • Ctrl + Shift + J:打开控制台并定位到 console 栏
  • Ctrl + L:清空控制台
  • Ctrl + 点击:选中多个光标同时输入

通过 XPath 表达式查询 DOM

x(xpath)命令允许执行一个脚本。如通过x(xpath) 命令允许执行一个脚本。如通过 x('//img') 来搜索图片:

var frame = document.getElementsByTagName('iframe')[0].contentWindow.document.body;
$x('//img', frame);

该函数同样能够接受第二个参数,该参数是关于路径上下文的,比如:$x(xpath,context)。这就允许我们选择一个详细的上下文(也就是一个内嵌帧)然后使用 XPath 来查询。

格式化代码

  • 进入 Sources 面板,选择需要格式化的文件
  • 然后点击在开发者工具底部的格式化按钮prettyprint-icon
  • 格式化完成,是不是好看多了

强制元素处于某种状态时

  • 在元素面板中右键元素,并选择 “Force Element State”
  • 可以选择其中一个:active,:hover,:focus,:visited 等来强制进入其中一种状态。

控制台命令行 API

  • $_:返回最近一次计算过的的表达式的值
  • $$():相当于 querySelectorAll() ,返回匹配的所有元素,可以用 class 和 id 匹配
  • $():相当于 querySelector() ,返回匹配的第一个元素,同样也可以用 class 和 id 匹配
  • $0 - $4(没有 $5 ):$0 返回当前选中的元素,$1 返回前一个选中的元素,以此类推
  • $x(path):返回匹配给定的 XPath 表达式的 DOM 元素的数组
  • copy():复制指定的内容到复制粘贴板
  • inspect():在 ELement 面板打开指定的 DOM元素,或者在 Profiles 面板打开 JS 堆元素
  • getEventListeners():返回注册在指定对象上的事件监听器数组,如 click
  • keys():返回一个数组,包含对象所有属性
  • values():返回一个数组,包含对象的所有属性的值
  • monitor(function):监视函数的调用,返回函数名和函数被调用时传入的参数,必须在调用函数前调用该方法,负责无效
  • unmonitor(function):停止监视函数的调用,与 monitor 一起使用
  • monitorEvents(object[, events]):监听某个对象的事件,输出到控制台,可以监听单个事件,到监视器,事件数组,或被映射到通用事件类型中之一,如监听单击事件 click,监听鼠标类型事件 mouse
  • unmonitorEvents(object[, events]):停止监视指定的对象和指定事件的事件,与 monitorEvents 一起使用
  • profile([name]):使用可用的文件名开始一个 JavaScript CPU 分析会话
  • profileEnd([name]):停止当前使用 profile()方法开始的分析会话,并在配置面板上显示结果
  • table(data[, columns]):通过用可选用的列标题传进一个数据对象进来,以表格的形式输出对象数据
$$('div.ClassName');
$$('div#IdName');
$('div.ClassName');
$('div#IdName');
$x('//p[a]'); //返回所有包含 a 标签元素的 p 标签元素
inspect(document.body.firstElementChild); //在 ELement 面板打开 document.body 的第一个子元素
getEventListeners(document.body);
copy({ a:1 });
values({a: 1, b: 2}); //["a", "b"]
values({a: 1, b: 2}); //[1, 2]
 function sum(x, y) {
     return x + y;
 }
monitor(sum);
sum(2,3); //function sum called with arguments: 2, 3
sum(1,2);//function sum called with arguments: 1, 2
monitorEvents(window, "resize"); //监视了在window对象中所有的 resize 事件
monitorEvents($("#msg"), "key"); //监视 id 为 msg 的元素所有的按键事件
profile("My profile");
profileEnd("My profile")

profile('A');
profile('B');
profileEnd('A');
profileEnd('B');
var names = {
    0: { firstName: "John", lastName: "Smith" },
    1: { firstName: "Jane", lastName: "Doe" }
};
table(names); //效果如下

image-20210821001741195.png