Chrome Command API 参考


Chrome开发工具已经强大得令人发指了,除了可通过UI操作的各种功能外,还提供了基于控制台的命令行方法,极大地方便了开发调试。现在就来领略下Chrome Command API 的风骚。

$_

返回控制台最近计算的表达式的值。

> 2+ 2
4
> $_
4
>

$0 - $4

返回在Elements面板最近选择的5个DOM元素(或者Profiles面板里选择的JavaScript对象)。

$选择器

有木有很熟悉?对了,jQuery也用这个。其实他是document.querySelector()的别名, 用法跟jQuery的类似,它只返回一个DOM元素(如果有的话)。

$$选择器

是document.querySelectorAll()的简写,它返回匹配的DOM元素集合。

$x(path)

根据指定的XPath表达式返回DOM元素集合。

clear()

清除控制台内容。

copy(object)

这个好用,可以把JavaScript对象的字符串表示拷贝到剪贴板。之前碰到过JavaScript对象某个属性的值 是个很长的字符串的情况,在控制台输出时只能显示一部分,其余的用...显示了,这样直接选中拷贝的话就不完整了。

debug(function)

可以指定调试某个function,当function被调用时会在function内部出现一个断点。跟它对应的undebug(function),可以取消断点。

dir(object)

console.dir(object)的别名, 将对象输出到控制台,可以展开查看各个属性。

dirxml(object)

等同于console.dirxml()方法。输出DOM对象的效果跟在Elements面板里看到的相同。

inspect(object/function)

打开对象或元素所在的查看面板:DOM元素就打开Elements面板,JavaScript对象就打开Profiles面板。

getEventListeners(object)

列出DOM元素上注册的事件处理器。

keys(object)

返回一个数组,包含指定对象的所有属性名。要获取对应的值数组,请用values(object)。

var player1 = {    "name": "Ted",    "level": 42}

> keys(player1)
["name", "level"]
> values(player1)
["Ted", 42]
>

monitor(function)

监听一个函数的执行,当函数被调用时,控制台输出一条记录。

> function sum(x, y) {    return x + y;}monitor(sum);
> sum(1,2)
function sum called with arguments: 1, 2
> 3
>

要取消监听,就用unmonitor(function)。

monitorEvents(object[, events])

监听对象上的事件。如果对象上指定的事件被触发,控制台会输出一条信息。可以在参数里指定事件名,或者事件类型。可以是单个事件,也可以是多个事件(放在数组里)。

> monitorEvents(window, "resize");
undefined
resize Event {clipboardData: undefined, path: NodeList[0], cancelBubble: false, returnValue: true, srcElement: Window…}

事件类型可以指定一类事件:

事件类型 事件
mouse "mousedown", "mouseup", "click", "dblclick", "mousemove", "mouseover", "mouseout", "mousewheel"
key "keydown", "keyup", "keypress", "textInput"
touch "touchstart", "touchmove", "touchend", "touchcancel"
control "resize", "scroll", "zoom", "focus", "blur", "select", "change", "submit", "reset"

相应地,用unmonitorEvents(object[, events])取消监听。

参考资料:https://developer.chrome.com/devtools/docs/commandline-api

Chrome Command API的更多相关文章

  1. Chrome浏览器扩展开发系列之十八:扩展的软件国际化chrome.i18n API

    i18n是internationalization 的简写,这里将讨论软件国际化的问题.熟悉软件国际化的朋友应该知道,软件国际化要求,页面中所有用户可见的字符串都必须置于资源属性文件中.资源属性文件中 ...

  2. Chrome浏览器扩展开发系列之十七:扩展中可用的chrome.events API

    chrome.events中定义了一些常见的事件类型,可以供Chrome浏览器扩展程序发出对应的事件对象. 对于关注的事件,首先要通过addListener()在对应的事件上注册监听器,示例如下: c ...

  3. Chrome浏览器扩展开发系列之十六:扩展中可用的Chrome浏览器API

    除了Chrome浏览器支持的chrome.* API之外,Chrome浏览器扩展还可以使用Chrome浏览器为Web页面或Chrome app提供的APIs.对于Chrome浏览器2支持的API,还可 ...

  4. Chrome浏览器扩展开发系列之九:Chrome浏览器的chrome.alarms.* API

    Chrome浏览器扩展程序通过chrome.alarms.* API,可以制定计划周期性地执行代码,或在指定时间执行代码. 要使用chrome.alarms.* API,首先需要在manifest.j ...

  5. Chrome Extensions API & options

    Chrome Extensions API options https://developer.chrome.com/extensions https://developer.chrome.com/e ...

  6. Headless Chrome Node API

    puppeteer Headless Chrome Node API https://github.com/GoogleChrome/puppeteer https://pptr.dev/ PWA h ...

  7. Chrome Command Line API 参考

  8. Chrome Restful Api 测试工具 Postman-REST-Client离线安装包下载,Axure RP Extension for Chrome离线版下载

    [Postman for Chrome 离线下载] Postman-REST-Client离线安装包,可直接在Chrome浏览器本地安装使用,可模拟各种http请求,Restful Api测试, CS ...

  9. PuppeteerSharp: 更友好的 Headless Chrome C# API

    前端就有了对 headless 浏览器的需求,最多的应用场景有两个 UI 自动化测试:摆脱手工浏览点击页面确认功能模式 爬虫:解决页面内容异步加载等问题 也就有了很多杰出的实现,前端经常使用的莫过于 ...

随机推荐

  1. WebApi与Mvc的区别

    ASP.NET Mvc是基于ASP.NET管道设计的框架,但是Mvc应用程序只能在iis中运行,而WebApi框架既可以寄宿在IIs上也可以在Self-Host上进行处理. Mvc和webapi都有相 ...

  2. Linq to SQL 中将数字转换为字符串

    使用LINQ to Entities中的SqlFunctions调用数据库中的函数 添加引用System.Data.Entity 引用命名空间 using System.Data.Objects.Sq ...

  3. 基于 ZKEACMS 的云建站 / 自助建站解决方案

    基于ZKEACMS的云建站 / 自助建站解决方案,一站式托管,解决企业建站需求,功能强大,高度自定义.用户只需在界面上输入一些基本信息,选择相应的主题 / 网站模板,然后就可以快速创建一个独一无二的网 ...

  4. django shortcut function

    render() render(request, template_name, context=None, content_type=None, status=None, using=None) 必须 ...

  5. Ubuntu16.04实用python脚本 - JDK的配置!

    前提已经把Oracle JDK解压缩到指定目录了,我的JDK目录是:“/usr/jdk1.8.0_121” 全部脚本: # coding=utf-8 ,中文注释需要加入编码格式 #这是我的测试文件,在 ...

  6. 快速启动工具Rulers 3.6

    云盘下载:https://yunpan.cn/cq7mumZ5uzzgw (提取码:b16a) 能根据已经安装的所有软件的名称快速查询到并回车迅速打开1.Alt+空格无特效或者Alt键有特效控制显示和 ...

  7. [Swift实际操作]八、实用进阶-(7)使用通知的方法进行对象间的消息传递

    本文将为你演示,如何使用Notification Center进行消息的传递.通知中心是一个调度消息通知的类,采用单例设计模式,实现数据传递,回调等功能.首先打开自定义视图的代码文件(CustomVi ...

  8. ArchLinux 下 OpenSSH 高级运用

    00x0.相关介绍 OpenSSH(OpenBSD Secure Shell)使用 SSH 通过计算机网络加密通信的实现. 它是替换由 SSH Communications Security 所提供的 ...

  9. 4 个快速的 Python 编译器 for 2018

    简评:Python 和其他的解释型语言一样经常被吐槽性能不行,所以开发人员为了提升性能创建了不少编译器,本文则选取其中的四个做了基准测试. Python 其实是一种相当快的语言,但它并不像编译型语言那 ...

  10. dbproxy-user/pwd

    dbproxy 的账号是统一的, 即连接dbproxy,连接主mysql ,连接从mysql 的账号必须一样, 为了隔离 即使用dbproxy的人感知不到mysql, 需要分离 配置文件 #dbpro ...