是否有可能以某种方式枚举已打开的Safari文档并从我自己的第三方Cocoa应用程序访问它们的DOM?从Cocoa应用程序访问Safari文档的DOM
我想过编写一个可以帮助我做这种交互的Safari扩展,但是也许有一种更简单的方法可以实现相同的结果。
是否有可能以某种方式枚举已打开的Safari文档并从我自己的第三方Cocoa应用程序访问它们的DOM?从Cocoa应用程序访问Safari文档的DOM
我想过编写一个可以帮助我做这种交互的Safari扩展,但是也许有一种更简单的方法可以实现相同的结果。
我不知道这会有所帮助,但你可以像这样通过AppleScript的访问特定的元素:
tell application "Safari"
set xxx to do JavaScript "document.getElementsByClassName('user-details')[0].childNodes[0].href" in document 1
end tell
(使你的URL到您的用户配置文件从这个页面)
谢谢。这好多了。所以我不仅可以从文档中检索DOM元素和其他信息,还可以发送其他JavaScript事件。确实,这非常有帮助。 – 2012-07-22 13:25:50
您对使用AppleScript桥接机制在Objective-C中实现AppleScript代码有什么看法?是否有示例或补充文档? – 2012-07-22 13:26:34
我不确定这样做的最佳方式。你可以从Objective-C调用osascript吗? – adayzdone 2012-07-22 13:40:14
也许这对你有趣:
http://phantomjs.org/
该来源也是可用的。
JavaScript注入? – 2012-07-22 12:15:05
是的,也许JavaScript弹出。就像在Safari中获取任何文档的WebKit控件一样。虽然,我认为允许这将是严重的安全缺陷。 – 2012-07-22 13:24:15