Scert/click_mail_tab.py

45 lines
1.2 KiB
Python

import json, base64, time
import websocket, urllib.request
resp = urllib.request.urlopen("http://127.0.0.1:9222/json/list")
pages = json.loads(resp.read().decode("utf-8"))
page = next(p for p in pages if p.get("type") == "page" and "odacm.cn" in p.get("url"))
ws_url = page["webSocketDebuggerUrl"]
ws = websocket.WebSocket()
ws.connect(ws_url, timeout=5)
# 点击“邮件通知”选项卡
script = """
(() => {
const tabs = Array.from(document.querySelectorAll('button, div, span'));
const mailTab = tabs.find(el => el.innerText && el.innerText.trim() === '邮件通知');
if (mailTab) {
mailTab.click();
return 'Clicked 邮件通知';
}
return 'Not found';
})()
"""
ws.send(json.dumps({
"id": 1,
"method": "Runtime.evaluate",
"params": {"expression": script, "returnByValue": True}
}))
print(ws.recv())
time.sleep(1)
ws.send(json.dumps({
"id": 2,
"method": "Page.captureScreenshot"
}))
msg = ws.recv()
data = json.loads(msg)
if "result" in data and "data" in data["result"]:
with open("mcp_mail_tab.png", "wb") as f:
f.write(base64.b64decode(data["result"]["data"]))
print("Screenshot saved to mcp_mail_tab.png")
ws.close()