2012-07-05 13 views

Respuesta

4

Utilizo esto yo mismo (lo escribí rápidamente porque solo para uso personal). Con mucha limpieza es posible que pueda obtener lo que desea. Ver https://developers.google.com/chrome-developer-tools/docs/remote-debugging

import urllib2 
import urllib 
import os 
import subprocess 
import json 

from websocket import create_connection 

def refresh_page(url): 
    data = json.load(urllib2.urlopen('http://localhost:9222/json')) 

    found_page = False 
    for page in data: 
     if page['url'].lower() == url.lower(): 
      found_page = True 
      websocketURL = page['webSocketDebuggerUrl'] 
      ws = create_connection(websocketURL) 

      obj = { "id": 0, 
        "method": "Page.reload", 
        "params": 
        { 
         "ignoreCache": True, 
         "scriptToEvaluateOnLoad": "" 
        } 
        } 

      dev_request = json.dumps(obj) 
      ws.send(dev_request) 
      result = ws.recv() 
      ws.close() 
    if not found_page: 
     raise Exception("No pageFound") 

def open_or_refresh(file_name): 
    file_name = "".join ([f if f in r'\/:*?"<>|' else urllib.quote(f) for f in file_name]) 
    file_name = 'file:///' + file_name.replace('\\', '/') 
    file_name = file_name.encode('ascii', 'ignore') 
    try: 
     refresh_page(file_name) 
    except: 
     cmd = (r'"%(LOCALAPPDATA)s\Google\Chrome\Application\chrome.exe"'%os.environ 
       + r' --remote-debugging-port=9222 "%s"' % file_name) 
     subprocess.Popen(cmd) 

open_or_refresh(r"C:\test.html") 
open_or_refresh(r"C:\test.html") 
+0

estoy recibiendo este error: [http://pastie.org/4208613](http://pastie.org/4208613) – prongs

+0

No estoy seguro de lo que va mal tal vez otra pregunta (Está yendo una libra en una jarra de juramentos, pero todo lo que puedo decir es que me funciona.) –

+0

Obtuve el mismo error si cambiaba open_or_refresh (r "C: \ test.html") a 'open_or_refresh (u" C : \\ test.html ")' necesita la cadena para estar en ASCII. –

Cuestiones relacionadas