使用CEF查看DOM

时间:2015-05-13 18:32:02

标签: dom view chromium-embedded

我需要帮助才能使用CEF访问和操作DOM。我一直在研究并发现CEF只提供了DOM的可读性,例如CefDOMDocument,ViewDOM等。这些只能在渲染过程主线程上调用,但是,我不是很好精通线程,我不知道在CEF代码中实现方法的位置(.cpp文件和哪个类等)。从那里开始,我知道CEF并不支持直接操作DOM,但是通过使用JavaScript可以实现这种能力。

所以我的问题......

有人可以提供有关使用CEF访问DOM的位置/方式的信息(一个例子非常有用)吗?我一直在cefclient_win.cpp ...

中尝试这段代码
CefBrowserHost::CreateBrowser(info, g_handler.get(),
      g_handler->GetStartupURL(), settings, NULL);

但我相信这是浏览器流程的一部分,而不是渲染流程......

如果您还知道如何使用JavaScript操作DOM(我已经找到了像ExecuteJavaScript()这样的方法,但我遇到了与查看DOM相同的问题),这也会有所帮助,但是只是一个帮助像我这样的初学者通过CEF查看DOM的例子会有很大的帮助。

1 个答案:

答案 0 :(得分:1)

您将找到构建解决方案所需的一切:
dom_test.cpp

在此文件中,请查看:

  • 第84行:实施CefDOMVisitor的类(实施访问方法)
  • 第111行:访问DOM

为了访问DOM,这里是CefDOMVisitor的API文档 在访问方法中,您可以访问CefDOMDocument,然后就可以开始访问DOM了。

还有这个C# tutorial你应该看看,以了解它是如何工作的。

希望有所帮助。