//异步
private void async button1_Click(object sender, EventArgs e) { //注入本机bin\x86\debug下的文件 browser.ExecuteScriptAsync(File.ReadAllText(@"JavaScript2.js"));
//也可加入到资源中直接取字符串
//browser.ExecuteScriptAsync(Resource.JavaScript2); //也可以注入网络文件
// 调用网页上已有js方法,等待js 方法执行完后,获取返回值 CefSharp.JavascriptResponse t = await browser.GetBrowser().MainFrame.EvaluateScriptAsync("testGetData()"); // t.Result 是 CefSharp.JavascriptResponse 对象 // t.Result.Result 是一个 object 对象 if (t.Result != null) { MessageBox.Show(t.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); }
}