【发布时间】:2009-07-23 16:25:51
【问题描述】:
如何在 QtWebKit 中访问网页的 DOM?
我在 QtWebKit 中没有看到任何暴露 DOM 的方法......
【问题讨论】:
标签: c++ qt dom webkit qtwebkit
如何在 QtWebKit 中访问网页的 DOM?
我在 QtWebKit 中没有看到任何暴露 DOM 的方法......
【问题讨论】:
标签: c++ qt dom webkit qtwebkit
目前,您需要通过 JavaScript 进行 DOM 操作,通过注入 QVariant QWebFrame::evaluateJavaScript(const QString & scriptSource);
【讨论】:
现在从 Qt 4.4/4.5 开始,我认为没有任何直接的方法,但它即将到来。见http://labs.trolltech.com/blogs/2009/04/07/qwebelement-sees-the-light-do-i-hear-a-booyakasha/
【讨论】:
通过 javascript 方法进行的 DOM 操作非常糟糕。对于任何严重的使用,它很快就会变得很明显,它完全无法使用。进行了一项实验,以使用 pywebkitqt4 为 pyjamas-desktop 创建一个运行时,但它完全失败了。实现了很多 - 例如用 python 编写的事件回调 - 但必须设置它们......通过创建一个 javascript 代码-sn-p!这种方法真的很疯狂。每次您想从 python 操作 DOM 模型时,您都必须使用像 javascript 这样的垃圾语言?任何认为这是个好主意的人都完全没有头脑。
幸运的是,在未来的某个时候,我将扩展 pythonwebkit 以允许完全访问 DOM 函数:这样做会很容易,但我现在没有时间为 webkit 编译qt4(使用 gtk 的 webkit 需要 90 分钟)。
【讨论】: