【问题标题】:DCEF3 TChromium : iterate the DOM and click buttons / fill inputsDCEF3 TChromium:迭代 DOM 并单击按钮/填充输入
【发布时间】:2016-01-05 20:07:08
【问题描述】:
由于 Internet Explorer 已死,我正在(漫长的)过程中将 TWebbrowser 替换为我所有应用程序中的 TChromium。
使用 TWebbrowser,我们有一个完整且有据可查的接口,可以通过 IHTMLElement 接口访问 DOM。
由于 DCEF3 文档几乎不存在,我正在寻找如何(如果可能)在 TChromium 中迭代和操作 DOM 的示例:
- 选择/获取元素的 HTML 源代码
- 点击一个按钮
- 填写一个输入
- 聚焦控件
是否有本地接口可以做到这一点,或者唯一的方法是直接使用javascript?
任何帮助将不胜感激。
提前致谢!
【问题讨论】:
标签:
delphi
chromium-embedded
twebbrowser
tchromium
【解决方案1】:
通过JS代码实现(填写一个输入):
if Assigned(Chromium.Browser) and Assigned(Chromium.Browser.Mainframe) then
begin
jsCode:= 'document.forms[0].quick_email.value="Email";';
Chromium.Browser.MainFrame.ExecuteJavaScript(jsCode, 'about:blank', 0);
jsCode:= 'document.forms[0].quick_pass.value="Pass";';
Chromium.Browser.MainFrame.ExecuteJavaScript(jsCode, 'about:blank', 0);
jsCode:= 'document.forms[0].submit();';
Chromium.Browser.MainFrame.ExecuteJavaScript(jsCode, 'about:blank', 0);
end;