如何使用 TChromium 与 delphi 中的 HTML 表单交互

问题描述

我需要在 delphi7 中更新浏览器的设计我使用的是 twebbrowser 但他在 javascript 和导航方面有很多问题..所以我决定迁移到 Chromium。问题是我在这些组件上找不到代码。有谁知道哪个命令相当于 tchromium 中的这个命令:

OleObject.Document.all.Item ('ElementbyId',0) .value: = 'edit1.text';

我需要将文本从备忘录传输到 html 形式的文本区域,最后单击 html 表单上的按钮。如果有人知道命令并可以分享,我将不胜感激。

解决方法

比 DOM 访问更灵活的替代方法是在 Javascript 中使用 TChromium 的 ExecuteJavaScript 方法执行此操作。

根据您的摘要描述,JS 可能类似于

document.getElementById('yourtextarea').value = <JSON stringified content of your memo>;
document.getElementById('yourform').submit();

或者,你可以在你的 HTML 中实现一个 JS 函数,并用 ExecuteJavascript 调用它,这样在 Delphi 端就不会有任何特定的东西(除了函数名),HTML 可以自由发展。

function setTextAreaAndSubmit(value) {
    document.getElementById('yourtextarea').value = value;
    document.getElementById('yourform').submit();
}