我正在寻求一点帮助。
我正在使用 Selenium Wire 处理来自网站的请求,我需要更改请求中的一些设置。
我发现 request_interceptor 方法工作得很好。问题是,我只能覆盖 URL 中的一个参数,我没有找到删除的方法。
例如,我访问网站:myawesomeweather.com/monday 假设这个 url 加载了一个名为myawesomeweather.com/api/?d=monday&y=2021&m=03的 api 文件 ,并获取 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=并放'',它不起作用,设置需要完全脱离链接..
谢谢 !
- 编辑
我应该进行更多搜索,基本上该函数只需要 url 的每个参数并将它们放入一个字典中,所以只需要这样做:
if('m' in params):
del params['m']
谢谢你的时间