我有下面的代码应该可以工作。我只是想把所有的“img”元素从一个页面放到AS中的一个列表中,这样我就可以在这个列表上工作了。
tell application "Safari"
set theWindow to front window
set theTab to current tab of theWindow
set theURL to URL of theTab
set asImages to (do JavaScript "theSearch = document.getElementsByTagName(\"img\");
theImages = [].slice.call(theSearch);
theImages" in theTab)
end tell
如果我进入
theSearch = document.getElementsByTagName("img");
theImages = [].slice.call(theSearch);
theImages
在Safari的控制台中运行它是有效的。但是当我在Safari的“do javascript”命令中运行上面的代码时,我什么也没有得到,变量asImages根本没有创建。我已经尝试了我能想到的所有方法,都没有用。我希望有一双新眼睛的人能很快发现我做错了什么。TIA
1条答案
按热度按时间kjthegm61#
数组应该作为文本类型的列表返回到AppleScript(在本例中,JXA的src会这样做)。还需要重复循环: