試圖返回聊天室中的用戶列表。該HTML看起來像:如何在AppleScript中使用JavaScript來返回聊天室中的用戶列表
<div class="users-list" style="height: 475px; display: block;">
一個可擴展到這一點:
<div class="text" data-nick style="float:right">...</div>
<div class="text" data-nick="user1">...</div>
<div class="text" data-nick="user2">...</div>
<div class="text" data-nick="user3">...</div>
<div class="text" data-nick="user4">...</div>
使用谷歌瀏覽器的JavaScript控制檯,我做的:
document.body.querySelector("div.users-list")
它返回原來未發泡的HTML:
<div class="users-list" style="height: 475px; display: block;">
有一個下拉箭頭,返回用戶列表中的JavaScript控制檯擴展此:
<div class="text" data-nick style="float:right">...</div>
<div class="text" data-nick="user1">...</div>
<div class="text" data-nick="user2">...</div>
<div class="text" data-nick="user3">...</div>
<div class="text" data-nick="user4">...</div>
我想要做的是用戶列表寫入一個文本文件中。我試圖用猛砸做osascript
此:
osascript -e \
'tell application "Google_Chrome"
tell window 1
tell active tab
execute javascript "document.body.querySelector(\"div.users-list\")"
end tell
end tell
end tell'
但是,當我在終端運行這個它返回一個空行。當我在腳本編輯器中將它作爲AppleScript運行時,它只返回{}
如何使用AppleScript/osascript中的javascript "document.body.querySelector(\"div.users-list\")"
返回使用Google Chrome中的JavaScript控制檯返回的相同擴展用戶列表?
使用' 「document.body.querySelector(\」 div.users-list \「)。innerHTML」'現在產生輸出。但是,它似乎是一個長串。有沒有一種方法可以將輸出保持爲列表形式? –
@ I0_ol你能輸出一個Javascript數組嗎?如果你執行''執行javascript'[\「a \」,\「b \」]「'會發生什麼?如果是,那麼我會以某種方式利用Javascript ['Array.prototype.map'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)函數,將每個節點映射爲一個字符串。 –
執行javascript的輸出是'a,b' –