板凳
站着看
练习
测试人
测试人
测试练习
新人报道
沙发,测试人
请老师看看课后作业这么做行吗?
@pytest.mark.parametrize("username",['xixi-tech','wangke','li929','yiyiran','jimzhang','wengzi','mistory','Change_TE'])
def test_ceshiren(username):
result = requests.get("https://ceshiren.com/t/topic/10232.json")
username = result.json()['details']['participants']
assert result.json()['details']['participants'] == username
代码要 加上``` 代码 ```` 三个反引号,才是markdown格式。
你这样参数化是没问题的, 但是结果肯定是一直pass 因为你定义了username = result.json()['details']['participants']
所以肯定一直是通过的, 这个username 应该 取个其它的名字 , 跟参数的名字冲突了。
把名字改了你这样写就不对了。
代码要 加上``` 代码 ```` 三个反引号,这个是什么意思?
我把username = result.json()[‘details’][‘participants’]这句删除是不是就可以了?
我已经帮你改了,看你的代码
对,把那句删了,就会发现代码的问题,这样写逻辑是有问题的
我把那句代码删除了以后就报错了,我打印了一下,一直获取的是同一个username呢?不明白问题在哪儿,求指教
小板凳
你想要拿到你想要的name,首先要分析它的结构,如下图
result['post_stream']['posts']
这样可以获取到一个列表,因为posts下面有很多数据,可以使用for循环,把name这个字段都拿出来放在列表中 ,然后 再判断,你要找的名字 ,是否在这个列表中。
更简单的用法是使用 jsonpath 会更容易实现。
怎么查看抓取到的网页的json数据结构呢
- 你是想问如何抓取,还是说抓取到了如何查看?
抓取到了如何查看的话? 就是安装个chrome 在线插件 ,或者使用一个在线解析 json 的工具就可以了。
如何抓取的话,需要使用抓接口的工具,或者在chrome 右键 检查,选择network
测试练习哈哈
1 个赞