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有什么不同?

  • 相关阅读:
    [VC++入门]C++中常用的运算符及微软自定义类型
    搜索引擎蜘蛛爬虫原理
    Enterprise Library 5.0
    Installshield 12 中文系列教程之 定义安装必要条件
    installshield脚本
    c# 事物处理
    InStallShield网络资源参考
    Could not execute query against OLE DB provider 'OraOLEDB.Oracle'
    frameset小结
    最痛心的距离
  • 原文地址:https://www.cnblogs.com/hadas/p/13155274.html
Copyright © 2011-2022 走看看