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.Study\30.自動化測試\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.Study\30.自動化測試\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有什么不同?

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM