Использование удаленных chrome devtools из Python

Я хочу использовать материал для отладки удаленных сокетов для Chrome devtools ( link ) из Python. Я использую код, адаптированный здесь .

Мне удалось запустить ping и list_tabs . Но я не могу понять, как evaluate_javascript . Может ли кто-нибудь сказать мне, что я делаю неправильно?

 import subprocess import time, json, socket from jca.files import my_paths def request(tool, destination=None, **kw): # Send a command via socket to 'DevToolsService' or 'V8Debugger' j = json.dumps(kw) request = 'Content-Length:%d\r\nTool:%s\r\n' % (len(j), tool) if destination: request += 'Destination:%s\r\n' % (destination,) request += '\r\n%s\r\n' % (j,) sock.send(request) if kw.get('command', '') not in RESPONSELESS_COMMANDS: time.sleep(.1) response = sock.recv(30000) if response.strip(): j = response.split('\r\n\r\n', 1)[1] return json.loads(j) if __name__ == '__main__': proc = subprocess.Popen('"%s" --remote-shell-port=9222' % my_paths.chrome_exe) RESPONSELESS_COMMANDS = ['evaluate_javascript'] sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect(('localhost', 9222)) sock.send('ChromeDevToolsHandshake\r\n') result = sock.recv(1024) print 'ping: ', request('DevToolsService', command='ping') time.sleep(4) print 'list_tabs: ', request('DevToolsService', command='list_tabs') request('V8Debugger', command='evaluate_javascript', data='javascript:window.location.reload()') sock.close() print 'done' 

Прошу прощения за спам, для этого есть библиотека Java: http://code.google.com/p/chromedevtools/

Поскольку вы, вероятно, выбрали Python не случайно, вы можете использовать его в качестве эталонной реализации, если для Java код ОК подходит для вас. Я думаю, вы могли проверить фактические сообщения, отправленные и полученные от отладчика Java.

Проблема заключалась в том, что я не установил tab_id для адресата. Проблема с добавлением адресата = 2 к вызову запроса.