के माध्यम से वेबपृष्ठ संसाधन सामग्री कैसे प्राप्त करें मैं इस पृष्ठ से method-getResourceContent पर क्रोम डिबगिंग प्रोटोकॉल के माध्यम से वेबपृष्ठ संसाधन सामग्री का उपयोग पाइथन प्राप्त करना चाहता हूं, मैंने इस विधि को देखा: getResourceContent, पैरा फ्रेम की आवश्यकता है आईडी और url.i सोचें कि यह विधि क्या है मुझे जरूरत है। । \ Chrome.exe --remote-डिबगिंग पोर्ट = 9222क्रोम रिमोट डीबगिंग
2.Write अजगर परीक्षण कोड:
# coding=utf-8
"""
chrome --remote-debugging api test
"""
import json
import requests
import websocket
import pdb
def send():
geturl = requests.get('http://localhost:9222/json')
websocketURL = json.loads(geturl.content)[0]['webSocketDebuggerUrl']
request = {}
request['id'] = 1
request['method'] = 'Page.navigate'
request['params'] = {"url": 'http://global.bing.com'}
ws = websocket.create_connection(websocketURL)
ws.send(json.dumps(request))
res = ws.recv()
ws.close()
print res
frameId = json.loads(res)['result']['frameId']
print frameId
geturl = requests.get('http://localhost:9222/json')
websocketURL = json.loads(geturl.content)[0]['webSocketDebuggerUrl']
req = {}
req['id'] = 1
req['method'] = 'Page.getResourceContent'
req['params'] = {"frameId":frameId,"url": 'http://global.bing.com'}
header = ["User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"]
pdb.set_trace()
ws = websocket.create_connection(websocketURL,header=header)
ws.send(json.dumps(req))
ress = ws.recv()
ws.close()
print ress
if __name__ == '__main__':
send()
एक सर्वर के रूप में
1.Get शुरू क्रोम: तो मैं इस काम किया :
3.Page.navigate काम ठीक, मैं कुछ इस तरह मिल गया { "id": 1, "परिणाम": { "frameId": "8504.2"}}
4. जब मैं कोशिश विधि: getResourceContent , त्रुटि आई: {"त्रुटि": {"कोड": - 32000, "संदेश": "एजेंट सक्षम नहीं है । "}," आईडी ": 1}
मैंने उपयोगकर्ता-एजेंट जोड़ने की कोशिश की, अभी भी काम नहीं कर रहा है।
धन्यवाद।