web问题定位:F12,如何找到对应接口

 接口查看法,是我们最常用的定位前后端问题的方法。即:一般用来查看是后端返回给前端的数据有误,还是前端显示有误。
主流浏览器(如Chrome,FireFox,等)都有自带的接口查看工具,可以通过F12(设置–工具–开发者工具)开启抓包。每进行一个操作,一般都会调用对应的接口,在NetWork中可以看到当前页面发送的每个请求。以谷歌浏览器为例:

1、进入 NetWork页面

如图,按F12,切换到NetWork页面,默认展示的是All页面。.js、 .css 、.ico、.png 这些结尾的都是前端的渲染、图标、图片等,不是接口。

2、点击Fetch/XHR,这里可以看到页面发起的接口

3、找到出问题的接口 

很多时候,执行一个操作,可能调用了多个接口,就需要判断当前问题对应的是哪个接口:
1)查看开发的接口文档;
2)如果没有接口文档,清空Network列表,进入测试界面。然后执行操作,如果有多个请求,逐个查看哪个接口的入参或响应数据是你刚操作的数据;
3)如果没有接口文档,出入参还是加密的,我也不会(我只会逐个接口解密入参看是哪个,或者直接问开发);
4)最便捷的:问你的开发,是哪个接口(如果有文档还一直问,怕是会被骂)。

4、NetWork页面怎么看接口详情

一般响应数据在 preview 页面看比较清晰,内容和 Response页面是一样的。

5、问题定位

1)一般情况下,console中的报错信息属于前端问题。但是,有些时候console有报错,但不是bug(看是否影响功能);
2)请求地址错误、请求体参数缺漏或错误,这些都是前端问题;
3)response 或 preview 中,没有返回值,或者返回的内容错误(与操作结果不符,有权限的话可以查看数据库),是后端问题。
4)前端界面显示的内容,与后端接口返回的内容不一样,是前端问题。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要获取Chrome浏览器Network下各个组件的详细信息,可以使用Python中的Selenium库来自动化控制Chrome浏览器,并结合Chrome DevTools Protocol来获取网络请求信息。 下面是一个简单的示例代码,演示如何获取网络请求的详细信息: ```python from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 设置Chrome选项,启用开发者模式 chrome_options = Options() chrome_options.add_experimental_option("debuggerAddress", "localhost:9222") # 启动Chrome浏览器 webdriver_service = Service('path/to/chromedriver') driver = webdriver.Chrome(service=webdriver_service, options=chrome_options) # 导航到目标页面 driver.get('https://www.example.com') # 等待页面加载完成 wait = WebDriverWait(driver, 10) wait.until(EC.presence_of_element_located((By.TAG_NAME, 'body'))) # 执行JavaScript命令以启用Network监听 driver.execute_script("Performance.enable()") driver.execute_script("Network.enable()") # 获取Network请求信息 response = driver.execute_script("return JSON.stringify(await Network.getResponseBody({requestId: '<request_id>'}))") # 解析请求信息 print(response) # 关闭浏览器 driver.quit() ``` 上述代码使用了Selenium库来控制Chrome浏览器,首先需要启动Chrome浏览器,并通过开发者模式连接到已启动的浏览器实例。然后导航到目标页面,等待页面加载完成后,执行JavaScript命令以启用Network监听。最后,使用`Network.getResponseBody`方法获取指定请求的响应信息,并进行解析处理。 请注意,上述代码中的`<request_id>`需要替换为您要获取详细信息的具体请求的请求ID。您可以使用其他Chrome DevTools Protocol提供的方法来获取请求ID,或根据您的需求进行进一步的开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值