无论是作爬虫仍是写 Web App,Chrome 和 Firefox 的 DevTools 都是超经常使用的,可是常常发现别人的截图有什么字段我找不到,别人的什么功能个人 Chrome 没有,仔细一搜索才知道,原来是我不会用。。javascript
Ctrl + Shift + I
:打开 DevTools
Ctrl + Shift + J
:打开控制台css
Ctrl + F
:在当前位置搜索关键字
Ctrl + Shift + F
:全文搜索,在当前 Web App 的全部文件中搜索。
在 DevTools 里按快捷键 Ctrl + Shift + P
就能打开 Command 输入框,它和 vscode/sublime 的 Command 同样,用好了特别方便。java
Chrome 能够右键属性列名来增减属性列,Firefox-Dev 也是同样:
node
在 Chrome 中右键某个请求,选中 copy,会给出几个 options:
python
而 Firefox-Dev 的更强一点,能够复制消息头(请求头和响应头):
git
Chrome 的 Response 页面左下角,有{}
按钮,能够 beautify 响应。
web
而 Firefox-Dev 只在 Debugger 页面提供该按钮,Response 中不支持。chrome
Firefox 响应的 preview 和 payload 是放在 Response 页面下。而 Chrome 是分红了两个标签页
segmentfault
右键任意一个请求,选择 save all as HAR
,就能够导出 HAR 文件。(Chrome 有 with content,导出的 HAR 文件会含有全部请求与响应的 body)浏览器
该文件可用于存储当前监听到的全部浏览器请求信息。在之后须要分析这些请求时,将 HAR 文件拖到 Network 页面便可恢复全部请求。
Chrome 只支持查看 HTTP/1.x 的 Raw Headers,对这种请求,会给出 view source
选项。
Chrome 不能查看 HTTP/2 的 Raw Headers。
而 Firefox 则支持查看 HTTP/2 的 Raw Headers。(是恢复后的,HTTP/2 的原始消息头是二进制压缩形式)
它还提供 Edit and Resend 请求的功能,这点要给个赞~
在 NetWork 中点击对应的 WebScoket 请求,在右侧选择 Frames 标签,就能够看到全部的消息了
当页面重载或者页面跳转时,默认状况下,Network面板下的网络请求记录表也是刷新的。若是想保留以前页面的网络请求数据,能够勾选Preserve log。
经常使用的一个应用场景:登陆/注册时会调用登陆/注册API,开发者想查看这个接口返回的状况,可是登陆/注册成功后通常会跳转到新的页面,致使了Network面板的请求记录被刷新从而看不到登陆/注册接口返回的状况。此时勾选上Preserve log,不管跳转到那个页面,都能在Network网络请求记录表中查看到以前接口返回的状况。
$x(<xpath>, <DOM-element>)
,用 xpath 查询 DOM 元素。在 Elements
页面,右键一个元素,有一个 Break on
选项,能够控制在特定事件发生时 Break.
- subtree modification: 子节点被修改
- attribute modification:当前节点的属性被修改。(inline style 被修改也会触发此事件)
- node removal:节点被移除
在 Elements 页面选中一个元素(或者直接右键检查该元素),而后在右侧窗口,选择 Event Listeners 标签,就能够看到该元素上注册的全部事件。
选中任一元素,在右侧选择 Styles 选单,会显示当前元素的 css 属性。
其中全部的颜色小方块都是能够点击的,点击颜色方块后
#207981
rgb(32, 121, 129)
hsl(185, 60%, 32%)
Ctrl + Shift + C
或者点击 DevTools 最左上角的小箭头按钮,就能进入元素审查模式。
该模式下会自动审查鼠标所指的元素,Elements 页面也会自动定位到该元素。
Sources 右侧的 Debugger 支持各类断点调试。
Chrome 的断点功能比 Firefox-Dev 的更丰富。
方法一:在 DevTools 界面,按快捷键 Ctrl + Shift + P
打开 Command 窗口,而后输入 screenshot
,在下拉栏里选择你须要的截图命令就行。
方法二:
先进 dev tools,点击 左上角的设备图标(toggle device toolbar),而后页面顶部就会出现一个导航栏,在这里好选择设备或者自定义图像尺寸,而后点击该导航栏右侧(不是 dev tools 右侧)的 options 图标,会有两个选项:“截图(capture screenshot)”和“截网页全图(capture full size screenshot)”,以下:
take a screenshot of the entire page
,DevTools 右上角就会出现截图按钮了。在 Chrome 中进入 DevTools,点击右上角的 options 按钮,选择 More tools -> Sensors,在 Geolocation 处选择 Custom location,就能够修改地理位置了。
和 上一小节同样,先进 More tools,选择 Network conditions,取消勾选 Select atuomatically,就能够修改请求头了。
上面的演示中,使用 python-requests/2.21.0
作 user agent,知乎返回 404.
打开设备模拟,在 toolbar 的右上角勾选 show user agent
,而后就能够在 toolbar 修改 user agent 了:
在 Network 的任意请求上右键,菜单中就有 Block request URL(阻塞该 URL)和 Block request domain(阻塞请求所在的整个域)
而后就能够在 More tools -> Request blocking 中看到你设置的阻塞条件。