WinForm窗體程序中使用CefSharp獲取加載后的資源、截取request參數、攔截response數據、注入jquery文件和js代碼(4)-注入jquery文件和js代碼


源碼地址:源代碼csdn  或者底部qq問我要

六、注入jquery文件和js代碼

在界面button按鈕點擊事件中

private void button1_Click(object sender, EventArgs e)
        {
            //注入本機bin\x86\debug下的文件
            browser.ExecuteScriptAsync(File.ReadAllText(@"JavaScript2.js"));
            //也可以注入網絡文件

            // 調用網頁上已有js方法,等待js 方法執行完后,獲取返回值
            Task<CefSharp.JavascriptResponse> t = browser.GetBrowser().MainFrame.EvaluateScriptAsync("testGetData()");
            t.Wait();
            // t.Result 是 CefSharp.JavascriptResponse 對象
            // t.Result.Result 是一個 object 對象
            if (t.Result.Result != null)
            {
                MessageBox.Show(t.Result.Result.ToString());
            }

            //注入js代碼。當然也可以是jquery代碼。如果頁面沒有jq庫,要先注入jq庫
            //下面演示給 當前地址包含login的, 界面上div class=develop 的第一個input賦值aaaa
            var curUrl = browser.Address.ToLower();
            if (curUrl.Contains("login".ToLower()))
            {
                string script = "";
                script += "(function btn() {";
                script += " var obj = document.getElementsByClassName('develop');";
                script += " if (obj.length > 0)";
                script += " {";
                script += "  obj[0].getElementsByTagName('input')[0].focus();";
                script += "  obj[0].getElementsByTagName('input')[0].value ='aaaa';";
                script += " }";
                script += " })()";
                //注入執行js
                browser.ExecuteScriptAsync(script);
            }

        }

 


免責聲明!

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



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