delphi中cef 回调 函数 调试

https://blog.csdn.net/SuperweiBluecat/article/details/106058849

ide中使用 附加调试

菜单 : run -> attach to process 

选择 最小的 pid 不行点红色选另外一个   我用的CEF4 会启动2个进程

程序启动参数设置  --renderer-startup-dialog --no-sandbox

1生成的应用程序创建快捷方式,追加参数--renderer-startup-dialog --no-sandbox 在这里插入图片描述

  1. 双击快捷方式启动,程序会弹出一个对话框提示Render进程的进程ID
    在这里插入图片描述
  2. 使用VS的 附加到进程 功能选择上一步弹窗中的进程ID相同的进程附加在这里插入图片描述
  3. 点击第二步弹出的对话框上的确定,等待页面加载完成,断点就会命中,DOM获取成功。在这里插入图片描述在这里插入图片描述
 
 
 
 

注意这个类的方法只能在Renderer进程的主线程上调用(TID_RENDERER)。

结合对HTML DOM节点的理解以及上面的代码,就能理解我们能使用CefDOMNode做什么:

  • 使用IsXXX或GetType判断节点类型
  • 使用GetNextSibling、GetPreviousSibling遍历兄弟节点
  • 如果是Text节点(叶子节点),SetValue可以改变其文本
  • 如果是Element节点,可以使用GetFirstChild、GetLastChild获取孩子,使用SetElementAttribute(s)改变属性,使用GetElementAttibute(s)获取属性

HTML DOM中的Element,有appendChild、insertBefore等方法,可以很方便地动态插入节点改变DOM和网页展示效果,而这个CefDOMNode就没有相应的方法,好像不太方便……

CefDOMVisitor

要访问或修改HTML DOM,就必须实现这个类,然后将其对象传递给CefFrame::VisitDOM(CefRefPtr visitor)方法,最后你的Visit方法就被调用来访问或修改HTML DOM。

 http://www.itboth.com/d/iAjqym/cef-html-dom-chromium

https://blog.csdn.net/foruok/article/details/50799518

https://blog.csdn.net/foruok/article/details/50573612

https://blog.csdn.net/foruok/article/details/50584985

https://blog.csdn.net/jfdfhh/article/details/84083360

https://blog.csdn.net/foruok/article/details/50780333

https://blog.csdn.net/foruok/article/details/2256094

https://blog.csdn.net/foruok/article/details/17715969

原文地址:https://www.cnblogs.com/marklove/p/13496223.html