0

我正在寻求一点帮助。

我正在使用 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']

谢谢你的时间

4

1 回答 1

0

从中取出钥匙params

params.pop('m', None)
于 2021-03-17T08:36:40.057 回答