```python def Browser(cdp='localhost:9222', browser=type('', (), {})): import os, json, requests, websocket try: requests.get(f'http://{cdp}/json/version', timeout=0.1) except requests.exceptions.RequestException: os.popen('wsl chromium --proxy-server=172.17.112.1:8080 --ignore-certificate-errors --remote-debugging-port=9222 --remote-allow-origins=* --user-agent="Mozilla/5.0 (Linux; Android 15) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6834.122 Mobile Safari/537.36"') browser.url = requests.get( f'http://{cdp}/json/version').json()['webSocketDebuggerUrl'] def send(url, request): ws = websocket.create_connection(url) try: ws.send(json.dumps(request)); return json.loads(ws.recv()) finally: ws.close() def Page(page=type('', (), {})): page.url = f'ws://{cdp}/devtools/page/' + send(browser.url, { "id": 1, "method": "Target.createTarget", "params": { "url": "about:blank", "newWindow": True, "background": False } })['result']['targetId'] def goto(url): if '://' not in url: url = f'https://{url}' send(page.url, { "id": 1, "method": "Page.navigate", "params": { "url": url } }) def evaluate(javascript): result = send(page.url, { "id": 1, "method": "Runtime.evaluate", "params": { "expression": javascript, "returnByValue": True } }) if 'result' in result and 'result' in result['result']: return result['result']['result'].get('value') elif 'exceptionDetails' in result['result']: raise Exception(f"JavaScript execution failed: {result['result']['exceptionDetails']}") page.goto = goto page.evaluate = evaluate return page browser.new_page = Page return browser browser = Browser() page = browser.new_page() page.goto('example.org') page.evaluate('console.log("hello, world")') ```