2012-07-05 11 views

Odpowiedz

4

Używam tego sam: (Napisałem szybko, jak to było tylko do użytku osobistego). Z dużą ilością sprzątania możesz dostać to, czego chcesz. Zobacz 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

dostaję ten błąd: [http://pastie.org/4208613](http://pastie.org/4208613) – prongs

+0

Nie jestem pewien, co się dzieje źle być może kolejne pytanie (Funt idzie w przekleństwie, ale jedyne, co mogę powiedzieć, to to, że działa dla mnie.) –

+0

Sam mam ten sam błąd, gdybym zmienił open_or_refresh (r "C: \ test.html") na "open_or_refresh (u" C : \\ test.html ")' potrzebujesz łańcucha do ascii. –

Powiązane problemy