2012-07-22 64 views
1

是否有可能以某种方式枚举已打开的Safari文档并从我自己的第三方Cocoa应用程序访问它们的DOM?从Cocoa应用程序访问Safari文档的DOM

我想过编写一个可以帮助我做这种交互的Safari扩展,但是也许有一种更简单的方法可以实现相同的结果。

+0

JavaScript注入? – 2012-07-22 12:15:05

+0

是的,也许JavaScript弹出。就像在Safari中获取任何文档的WebKit控件一样。虽然,我认为允许这将是严重的安全缺陷。 – 2012-07-22 13:24:15

回答

2

我不知道这会有所帮助,但你可以像这样通过AppleScript的访问特定的元素:

tell application "Safari" 
    set xxx to do JavaScript "document.getElementsByClassName('user-details')[0].childNodes[0].href" in document 1 
end tell 

(使你的URL到您的用户配置文件从这个页面)

+0

谢谢。这好多了。所以我不仅可以从文档中检索DOM元素和其他信息,还可以发送其他JavaScript事件。确实,这非常有帮助。 – 2012-07-22 13:25:50

+0

您对使用AppleScript桥接机制在Objective-C中实现AppleScript代码有什么看法?是否有示例或补充文档? – 2012-07-22 13:26:34

+0

我不确定这样做的最佳方式。你可以从Objective-C调用osascript吗? – adayzdone 2012-07-22 13:40:14

相关问题