"""
修改返回的内容
"""
from playwright.sync_api import sync_playwright
import json
import re
def intercept_requests(route, request):
# 拦截指定 URL 的请求
# if "js/chunk-10192a00.243cb8b7.js" in request.url:
print(request.url)
# 使用正则替换
pattern = re.compile(r"js/chunk-\w+.\w+.js")
if pattern.search(request.url):
print("匹配成功, 开始替换")
route.fulfill(path="./chunk.js")
# 修改返回的内容
# route.fulfill(status=200, body='{"message": "Hello, World!"}', headers={'Content-Type': 'application/json'})
else:
# 其他请求不做处理,继续原始请求
route.continue_()
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
page = browser.new_page()
# 设置请求拦截器
page.route("**/**", lambda route, request: intercept_requests(route, request))
# page.route("**/js/chunk-10192a00.243cb8b7.js",lambda route, request: intercept_requests(route, request))
#替换指定文件
"""
直接替换 不同请求拦截方式替换
"""
page.route("**/js/chunk-10192a00.243cb8b7.js", lambda route: route.fulfill(path="./chunk.js"))
# 打开页面
page.goto("https://www.baidu.com")
input('输入任意内容结束:')
# 正则匹配替换字符串:
pattern = r'original//productimg/\d+/\d+/' # 替换为的字符串 replacement = 'original//productimg/1600/1600/' # 使用正则表达式进行替换 new_url = re.sub(pattern, replacement, url)