在dcef3當中執行js代碼並獲得返回值


1、如何在dcef3當中執行js代碼

procedure TForm1.btnWriteZMClick(Sender: TObject);
var
  js: string;
begin
  js := 'document.getElementById(''login_button'').click();';    //獲得ID為"login_button"並點擊
  crm.Browser.MainFrame.ExecuteJavaScript(js, 'about:blank', 0);   //執行js
end;

 

2、如何給輸入框賦值

procedure TForm1.btnWriteZMClick(Sender: TObject);
var
  js: string;
begin
  js := 'document.getElementById(''u'').value=''123123''';    //獲得ID為"u"的輸入框並賦值
  crm.Browser.MainFrame.ExecuteJavaScript(js, 'about:blank', 0);   //執行js
end;

 

3、如何獲得js執行的返回值

procedure TForm1.btn1Click(Sender: TObject);
var
js: string;
begin
js := 'var uPage=document.getElementById(''errorMessage_lol'').innerText; alert(uPage);'; //獲取errorMessage_lol文本值,並通過alert提交給crmJsdialog事件
crm.Browser.MainFrame.ExecuteJavaScript(js, 'about:blank', 0);
end;

//獲取內容

procedure TForm1.crmJsdialog(Sender: TObject; const browser: ICefBrowser; const originUrl, acceptLang: ustring; dialogType: TCefJsDialogType; const messageText, defaultPromptText: ustring; callback: ICefJsDialogCallback; out suppressMessage, Result: Boolean);
begin
Memo1.Lines.Clear;
Memo1.Lines.Add(messageText);   //這里獲得alert彈框發送的內容
Result := False; //這里返回true標識不彈出對話框
end;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM