Estoy tratando de ejecutar algún código javascript a través de la biblioteca CDTP y PyChromeDevTools. El siguiente código funciona:
desde la terminal:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 import PyChromeDevTools chrome.Network.enable() chrome.Page.enable() script="t='hi,';c='this code works on the same line';console.log(t,c)" chrome.Runtime.evaluate(expression=script)Tengo algunos problemas cuando necesito inyectar un código js complejo que no está en la misma línea, por ejemplo, funciona con solicitudes de javascript, etc.
script="t='hi,'; c='this code works not on the same line don't work '; console.log(t,c)" chrome.Runtime.evaluate(expression=script)¿Es posible que el archivo JavaScript sea igual al tiempo de ejecución para evaluar? como esto:
chrome.Runtime.evaluate(expression=file.js)documentación del CDTP
Simplemente debe cargar un código js de un archivo en la variable str
def load_text(filename, mode='r', encoding='utf-8'): with open(filename, mode, encoding=encoding) as f: txt = f.read() return txt file_js = load_text('file.js') chrome.Runtime.evaluate(expression=file_js)