js
在当前网页注入并执行 JS(弹出提示框)
osascript -l JavaScript -e 'var app = Application("Safari"); app.doJavaScript("alert(\"Hello!这是来自终端的控制指令。\");", { in: app.windows[0].currentTab })'
获取当前网页的基础信息
# 获取当前标签页的 URL
osascript -l JavaScript -e 'Application("Safari").windows[0].currentTab.url()'
# 获取当前标签页的 Title
osascript -l JavaScript -e 'Application("Safari").windows[0].currentTab.name()'
提取网页里的特定数据 (DOM 操作)
可以执行更复杂的 DOM 查询。比如,抓取当前页面所有的 <h2> 标题文字,并返回给终端。
osascript -l JavaScript -e 'var app = Application("Safari"); app.doJavaScript("Array.from(document.querySelectorAll(\"h2\")).map(el => el.innerText).join(\" | \");", { in: app.windows[0].currentTab })'
alias
safari_js() {
osascript -l JavaScript -e 'function run(argv) { var app = Application("Safari"); return app.doJavaScript(argv[0], { in: app.windows[0].currentTab }); }' "$1"
}
safari_js "alert('封装成功!')"
safari_js "document.title"
safari_js 'window.location.href'
safari_js 'document.URL'
chrome
chrome 也能这么操作
chrome_js() {
osascript -l JavaScript -e 'function run(argv) { var app = Application("Google Chrome"); return app.windows[0].activeTab.execute({ javascript: argv[0] }); }' "$1"
}
chrome_js 'alert("Hello from Terminal to Chrome!")'
chrome_js 'window.location.href'
