zoukankan      html  css  js  c++  java
  • selenium打开浏览器底层实现原理中的异常2(TypeError: dump() missing 1 required positional argument: 'fp')

    代码:

    #coding=utf-8
    import requests
    import json
    url='http://127.0.0.1:4444/wd/hub/session'
    data = json.dump({
        'Capabilities':{
            'browserName':'Edge'
        }
    })
    print(requests.post(url,data).json())

    结果:

    PS E:30.Study30.自动化测试99.零基础入门 Python Web 自动化测试10.seleniumCodePractice> & "C:/Program Files/Python38/python.exe" "e:/30.Study/30.自动化测试/99.零基础入门 Python Web 自动化测试/10.seleniumCodePractice/202006/requests_open_browser.py"
    Traceback (most recent call last):
      File "e:/30.Study/30.自动化测试/99.零基础入门 Python Web 自动化测试/10.seleniumCodePractice/202006/requests_open_browser.py", line 5, in <module>
        data = json.dump({
    TypeError: dump() missing 1 required positional argument: 'fp'
    PS E:30.Study30.自动化测试99.零基础入门 Python Web 自动化测试10.seleniumCodePractice>

    原因:

    这里data是一个多重字典(Capabilites)对象,requests是没办法发送出去的。这时需要利用json.dumps()方法。但是,如果使用的是json.dump()方法,就会报【TypeError: dump() missing 1 required positional argument: 'fp'】这个异常。

    对策:

    data = json.dump({
        'Capabilities':{
            'browserName':'Edge'
        }
    })

    ==>

    data = json.dumps({
        'Capabilities':{
            'browserName':'Edge'
        }
    })

    思考:

    1.为什么调用json.dumps可以而调用json.dump不可以?

    2.json.dumps和json.dump有什么不同?

  • 相关阅读:
    进程实际操作篇2
    进程的实际操作篇1
    进程的理论知识
    解决套接字粘包,udp套接字对象的使用和socketserver模块实现并发
    day24-网络知识扫盲,socket的基本使用
    day23-网络编程之互联网基础,tcp/ip协议详细介绍
    day21-多态和多态性,鸭子类型,反射,内置方法,异常处理
    JAVA WEB小测
    JAVA动手动脑
    JAVA课上动手动脑问题2
  • 原文地址:https://www.cnblogs.com/hadas/p/13155274.html
Copyright © 2011-2022 走看看