我需要帮助才能使用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的例子会有很大的帮助。
答案 0 :(得分:1)
您将找到构建解决方案所需的一切:
dom_test.cpp
在此文件中,请查看:
CefDOMVisitor
的类(实施访问方法)为了访问DOM,这里是CefDOMVisitor的API文档 在访问方法中,您可以访问CefDOMDocument,然后就可以开始访问DOM了。
还有这个C# tutorial你应该看看,以了解它是如何工作的。
希望有所帮助。