问题描述
我在Delphi 10上使用TChromium组件。 我需要将文本从TMemo传输到html中的文本区域,并在此页面上模拟点击按钮。
我一直在试,但不管用
chromium1.Browser.MainFrame.ExecuteJavaScript('document.all(id_4).value='+Memo1.text+';', '', 0);
Chromium1.Browser.MainFrame.ExecuteJavaScript('id_2.click();', '', 0);
基本上我需要下面的代码,但在Delphi 10中使用TChromium。下面的代码是在Delphi7上使用TWebBrownser的。
WebBrowser1.OleObject.Document.all.Item('id_4', 0).value := memo1.Text;
WebBrowser1.OleObject.Document.all.Item('id_2', 0).click;
推荐答案
如果Memo1
包含文本:
包含空格。
...然后:
document.all(id_4).value=With space in it.;
...不是有效的JavaScript,因为With
是未定义的。还有下面的三个代币加圆点。您必须为其分配文本,因此在Delphi中您必须使用:
'document.all( id_4 ).value= "'+ Memo1.Text+ '";'
...作为文本,因为这样它就会变成有效的JavaScript:
document.all( id_4 ).value= "With space in it.";
当然:如果Memo1
的文本本身包含"
,则必须对其进行处理。