Python - Selenium Wire,如何删除拦截器参数

Python - Selenium Wire, how to delete interceptor param

我正在寻求一点帮助。

我正在使用 Selenium Wire 处理来自网站的请求,我需要更改请求中的一些设置。

我发现 request_interceptor 方法非常有效。问题是,我只能覆盖 URL 中的一个参数,我没有找到删除一个的方法。

例如,我访问网站:myawesomeweather.com/monday 假设这个 url 加载一个名为 myawesomeweather.com/api/?d=monday&y=2021&m=03[= 的 api 文件45=] 并获取 2021 年 3 月每个星期一的所有数据。 为了避免多次请求,我只想修改 2020 年的请求,所以我这样做了:

def ForceYear(request):
params = request.params
params['y'] = '2020'
request.params = params

driver.request_interceptor = ForceYear
driver.get(WeatherURL)

太完美了,我得到 url api : myawesomeweather.com/api/?d=monday&y=2020&m=03 但是现在我想完成 2020 年的所有月份,所以我想 删除 &m=03 并且只有 myawesomeweather.com/api/?d=monday&y=2020

我该怎么做?如果我覆盖 &m= 并放置 '',它不起作用,设置需要完全超出 link..

谢谢!

--编辑

我应该搜索更多,基本上这个函数只是获取 url 的每个参数并将它们放入一个字典中,所以只需要这样做:

    if('m' in params):
          del params['m']

感谢您的宝贵时间

params

中删除密钥
params.pop('m', None)