在进行自动化测试脚本编写时,遇到一个使用场景:接口返回的数据是一个url,我想获取该url中的具体的参数值
例如:url=https://edu.csdn.net/course?key1=test1&key2=test2
我想要获取到key1的值是什么
方法1:
1)url中先截取?后面的参数字符串
2)按&将参数字符串分割成参数列表
3)查询列表中各元素是否包含目标参数
4)最后截取到参数值
def get_params(url,params):
url_params=url.split('?')[1]
params_list = url_params.split('&')
result = False
for item in params_list:
if params in item:
result = True
start_index=len(params)+1
return "参数值是:"+item[start_index:]
if result == False:
return "url中无此参数"
if __name__=="__main__":
url = str(input("请输入要解析的url:\n"))
params = str(input("请输入要获取的参数名:\n"))
print(get_params(url,params))
方法2
哈哈哈,这个就简单了,用第三方库中现成的方法就行了
from urllib import parse
def get_params(url):
params = parse.parse_qs(parse.urlparse(url).query)
return params['exclusiveId']