zoukankan      html  css  js  c++  java
  • 在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;

  • 相关阅读:
    vim 的列操作
    关于 matplotlib
    freemarker的常用内建函数
    三次握手与四次挥手
    layui动态表格生成
    layui 解决浏览器自动填充form表单账号和密码输入框的问题
    手机验证 和身份证验证
    把动态查询出来的集合数据,横向展示在页面
    eclipse安装freemarker插件
    目录文件树jQuery Ztree基本用法
  • 原文地址:https://www.cnblogs.com/gtsup/p/7000002.html
Copyright © 2011-2022 走看看