私はこのページからChromeのデバッグプロトコルを使用してWebページのリソースコンテンツを使用したいと考えていますmethod-getResourceContent、このメソッドに気付きました:getResourceContent、params frameIdとurl.iが必要です私は欲しい。 。\ chrome.exe --remote-デバッグポート= 9222クロムリモートデバッグを使用してウェブページのリソースコンテンツを取得する方法
2.write Pythonのテストコード:
# 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をエラーが発生しました: {"error":{"code": - 32000、 "message": "エージェントが有効になっていません"}、" id ":1}
私はUser-Agentを追加しようとしましたが、まだ動作しません。
ありがとうございました。