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); } }