我在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);
基本上我需要下面的代码,但在Delphi10中使用TChromium。下面的代码是使用TWebBrownser在delphi7上编写的。
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
的文本本身包含"
,则必须处理它。